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(),截屏;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)