Android App自动化测试(二)
6、Appuim自动化测试框架API讲解与案例实践(三)
如图1,可以在主函数里通过TestSuite来指定执行某一个测试用例;
6.1,scroll();如图2
从图3中可以看到当前页面的所有元素resource_id都是相同的,所以不能通过resource_id来定位元素,
这里选择by_class_name方法来获取元素列表的方式,然后向scroll(object1,object2)中传入两个列表中值;
6.2,drag()_and_drop();选中某个元素并拖拽到某个元素的位置;如图4,用法与scroll()相同,都是需要传入两个参数;
6.3,swipe(start_x,start_y,end_x,end_y);滑动;x/y分别为起点和终点的坐标;
那么什么时候会用到swipe()这个API呢?当在页面上无法获取到元素的属性的时候。
如果可以获取到元素属性,就没有必要选择swipe(),因为swipe()相对scroll()和drag()_and_drop()是不够精确的;
因为不同设备的分辨率是不一样的,在较大分辨率设备上写的脚本,有可能会超出较小分辨率的设备的范围;
6.4,tap([(x1,y1)],[(x2,y2)],[(x3,y3)]......);传入的参数是一个数组,来实现1点或多点的点击,如图6;
7、Appuim自动化测试框架API讲解与案例实践(四)
7.1,flick(start_x,start_y,end_x,end_y),快速滑动;current_activity,当前activity的名字;wait_activity(activity名,
等待显示的时间x,每过多长时间y检测一次activity是否显示),等待activity显示;如果显示了,返回True,
如果没有显示,返回False;background_app(置于后台的时间x),将app置于后台,在参数的时间后再返回到前台;
8、Appuim自动化测试框架API讲解与案例实践(五)
8.1,is_app_installed(包名);查看app的安装状态,如果已经安装了,返回True,如果没有安装,返回False;
remove_app(包名),卸载app;install_app(app的路径),安装app;launch_app(),启动app,启动初始化时的app;
图8中使用install_app()时,需要在脚本初始化时先指定一个当前已经安装的app(如图9),如果直接指定要安装的app会出现报错,
原因是脚本执行的时候找不到要安装的app;
9、Appuim自动化测试框架API讲解与案例实践(六)
9.1,close_app(),关闭app;start_activity(pacakge名,activity名),启动某个package下的某个活动页面;get_screenshot_as_file(),截屏;