范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

干货一文搞定uiautomator2自动化测试工具使用

  Google 官方提供了一个 Android 自动化测试工具(Java 库),基于 Accessibility 服务,功能很强,可以对第三方 App 进行测试,获取屏幕上任意一个 App 的任意一个控件属性,并对其进行任意操作,但有两个缺点:
  1.测试脚本只能使用 Java 语言;
  2.测试脚本要打包成 jar 或者 apk 包上传到设备上才能运行;
  实际工作中,我们希望测试逻辑能够用 Python 编写,能够在电脑上运行的时候就控制手机。所以基于这个目的开发了 python-uiautomator2 自动化测试开源工具,其封装了谷歌自带的 uiautomator2 测试框架,可以运行在支持 Python 的任一系统上,目前版本为 V2.10.2。
  GitHub 开源地址:
  如图所示,python-uiautomator2 主要分为两个部分,python 客户端,移动设备 python 端: 运行脚本,并向移动设备发送 HTTP 请求; 移动设备:移动设备上运行了封装了 uiautomator2 的 HTTP 服务,解析收到的请求,并转化成 uiautomator2 的代码;
  整个过程:
  3.在移动设备上安装 atx-agent(守护进程),随后 atx-agent 启动 uiautomator2 服务(默认 7912 端口)进行监听;
  4.在 PC 上编写测试脚本并执行(相当于发送 HTTP 请求到移动设备的 server 端);
  5.移动设备通过 WIFI 或 USB 接收到 PC 上发来的 HTTP 请求,执行制定的操作;
  使用 pip 安装
  安装完成后,使用如下 python 代码查看环境是事配置成功
  说明:后文中所有代码都需要导入 uiautomator2 库,为了简化我使用 u2 代替,d 代表 driver
  能正确打印出设备的信息则表示安装成功
  注意:需要安装 adb 工具,并配置到系统环境变量,才能操作手机。
  安装有问题可以到 issue 列表查询:
  weditor 是一款基于浏览器的 UI 查看器,用来帮助我们查看 UI 元素定位。
  因为 uiautomator 是独占资源,所以当 atx 运行的时候 uiautomatorviewer 是不能用的,为了减少 atx 频繁的启停,就需要用到此工具
  使用 pip 安装
  查看安装是否成功
  出现如下信息表示安装成功
  运行 weditor
  ui2 支持 android 中 UiSelector 类中的所有定位方式,详细可以在这个网址查看 https://developer.android.com/reference/android/support/test/uiautomator/UiSelector
  整体内容如下 , 所有的属性可以通过 weditor 查看到
  子元素定位
  child()
  兄弟元素定位
  sibling()
  链式调用
  相对定位支持在left, right, top, bottom, 即在某个元素的前后左右
  表格标注有  @property  装饰的类属性方法,均为下方示例方式
  exists 其它使用方法:
  info() 输出信息:
  可以通过上方信息分别获取元素的所有属性
  因为 Java uiautoamtor 中默认是不支持 xpath,这是属于 ui2 的扩展功能,速度会相比其它定位方式慢一些
  在 xpath 定位中,ui2 中的 description 定位需要替换为 content-desc,resourceId 需要替换为 resource-id
  使用方法
  Android<4.3 时不能使用拖动
  滑动有两个,一个是在 driver 上操作,一个是在元素上操作
  元素上操作
  从元素的中心向元素边缘滑动
  driver 上操作
  即对整个屏幕操作
  driver 滑动的扩展方法,可以直接实现滑动,不需要再自己封装定位点
  android>4.3
  对元素操作
  封装好的放大缩小操作
  设置 scrollable 属性为 True;
  滚动类型:horiz 为水平,vert 为垂直;
  滚动方向: forward 向前 backward 向后 toBeginning 滚动至开始 toEnd 滚动至最后 to 滚动直接某个元素出现
  所有方法均返回 Bool 值;
  5.8.1 输入自定义文本
  5.8.2 输入按键
  两种方法
  目前 press 支持的按键如下
  keyevent 是通过 "adb shell input keyevent" 方式输入,支持按键更加丰富
  更多详细的按键信息 https://developer.android.com/reference/android/view/KeyEvent.html
  5.8.3 输入法切换
  5.8.4 模拟输入法功能
  可以模拟的功能有 go ,search ,send ,next, done ,previous。
  如果使用 press 输入按键无效,可以尝试使用此方法输入
  使用 wather 进行界面的监控,可以用来实现跳过测试过程中的弹框
  当启动 wather 时,会新建一个线程进行监控
  可以添加多个 watcher
  用法
  2.11.0 版本 新增了一个 watch_context 方法 , 写法相比 watcher 更简洁,官方推荐使用此方法来实现监控,目前只支持 click() 这一种方法。
  这里可以用来实现图案解锁
  使用 touch 类
  这个感觉是比较有用的一个功能,可以在测试用例开始时录制,结束时停止录制,然后如果测试 fail。则上传到测试报告,完美复原操作现场,具体原理后面再去研究。
  首先需要下载依赖,官方推荐使用镜像下载:
  执行录制:
  下载与录制视频同一套依赖。
  这个功能是首先手动截取需要点击目标的图片,然后 ui2 在界面中去匹配这个图片,目前我尝试了精确试不是很高,误点率非常高,不建议使用。
  可以从本地路径及 url 下载安装 APP,此方法无返回值,当安装失败时,会抛出 RuntimeError 异常
  默认当应用在运行状态执行 start 时不会关闭应用,而是继续保持当前界面。
  如果需要消除前面的启动状态,则需要加 stop=True 参数。
  stop 和 clear 的区别是结束应用使用的命令不同
  stop 使用的是 "am force-stop"
  clear 使用的是 "pm clear"
  卸载全部应用返回的包名列表并一定是卸载成功了,最好使用 verbose=true 打印一下信息,这样可以查看到是否卸载成功
  或者可以修改一下源码,使其只输出成功的包名,注释的为增加的代码,未注释的是源码
  connect() 可以使用如下其它方式进行连接
  8.2.1 获取 driver 信息
  8.2.2 获取设备信息
  会输出测试设备的所有信息,包括电池,CPU,内存等
  8.2.3 获取屏幕分辨率
  8.2.4 获取 IP 地址
  8.3.1 使用 settings 设置
  查看 settings 默认设置
  修改默认设置,只需要修改 settings 字典即可
  8.3.2 使用方法或者属性设置 http 默认请求超时时间 当设备掉线时,等待设备在线时长 元素查找默认等待时间 打开 HTTP debug 信息 休眠
  value 值参考,只要是元组中的任一一个值就可以。
  打开通知栏
  打开快速设置
  8.7.1 导入文件
  8.7.2 导出文件
  使用 shell 方法执行
  8.8.1 执行非阻塞命令
  output 返回的是一个整体的字符串,如果需要抽取值,需要对 output 进行解析提取处理
  8.8.2 执行阻塞命令(持续执行的命令)
  源码描述
  因为有 atx-agent 的存在,Uiautomator 会被一直守护着,如果退出了就会被重新启动起来。但是 Uiautomator 又是霸道的,一旦它在运行,手机上的辅助功能、电脑上的 uiautomatorviewer 就都不能用了,除非关掉该框架本身的 uiautomator
  使用代码停止
  手动停止
  直接打开 ATX APP(init 成功后,就会安装上),点击关闭 UIAutomator
  以上,欢迎大家一起交流探讨。
  更多学习资料点击下方
  Redirecting...

日本和服,为什么带一个小枕头?少女脸红地说,这是什么秘密日本是我国的邻国之一,也是一个旅游资源十分丰富的国家,每年都会有来自世界各地的大量的游客前往日本旅游。(此处已添加小程序,请到今日头条客户端查看)我们中国人也同样如此,而且由于距离日本队战胜德国队为何日本电视收视率却这么低日本队战胜德国队为何日本电视收视率却这么低桥本隆则受邀写世界杯的专辑,又要写的内容与其他人不同,难度虽高,但难不倒笔者。昨天的专栏发出后,大学前辈来了电话,指出笔者专栏内容的瑕疵。60岁以后是否命苦?是否能够长命百岁?看完这4条你就明白了60岁以后是否命苦?是否能够长命百岁?看完这4条你就明白了,不懂的来看看60岁以后身体开始走下坡路,这个时候身体是否健康,是否能够做到长寿成为人们十分关心的事情,只有拥有健康的身体45张民国高清老照片安静的时光,平淡的岁月雪后的村庄,美得像一幅画。集市上挑着竹笼的男子。脱粒,小女孩静静地站在院子中央。平阔的原野,长长的河流,一种苍凉顿生。街头景色,西安,19131915年秦皇岛北戴河的潮水。雪后的街杨千嬅凭什么能坐金鸡奖贵宾席第一排?也许够资格,但是很尴尬祈求天地放过一双恋人怕发生的永远别发生少女的祈祷第35届中国电影金鸡奖已经胜利闭幕,除了各大奖项的归属,观众还会记得什么呢?其实,金鸡奖最大的看点,除了最终奖项的揭晓过程,还有出席朱莉亚。福克斯把裤腰剪开后当成内衣穿,一般女明星哪敢这样穿女星朱莉亚。福克斯竟然把裤腰剪开后当成内衣直接穿出来,完美身材一览无余,一般女明星哪敢这样穿。朱莉亚福克斯,演员,2019年凭借电影原钻获得第29届哥谭独立电影奖最具突破演员奖提名暴力,酗酒14年的婚姻落幕!歌手曹格和吴速玲今日宣布离婚歌手曹格和吴速玲今日宣布离婚14年婚姻落幕!吴速玲在文中写道我们结束了14年的婚姻关系,我们是和平的也祝福彼此,共同的目标就是一起照顾孩子,让孩子健康自在的成长。吴速玲还表示和曹格第29届东方风云榜落幕,四大歌手成大赢家,周深一人包揽三大奖项11月25日,第29届东方风云榜音乐盛典在海南省海口市海口湾美源码头广场举行,华语乐坛一众当红歌手参加,带来了一首首动听的歌曲,让此次盛典锦上添花。网友们想知道,作为华语音乐类的颁又一对明星夫妻官宣离婚,已结婚14年,育有一对儿女说明星故事,品百味人生,每天为您送上最新鲜的劲爆娱乐大餐11月26日,曹格吴速玲夫妻俩终于心平气和共同拟订了一份向外界宣布离婚的稿件,官宣了此事。曹格吴速玲结束了长达14年的婚姻,爱得起放得下这几天的刷屏热搜,是新疆火灾事故与演员张嘉倪回应老公买超出轨的经典语录。新疆火灾事故是疫情之下的社会现象,相信我们的政府一定会妥善地解决。愿遇难的同胞一路走好!张嘉倪因婚变绯闻而显不期而至幕后大BOSS浮出水面,阮真真命悬一线在许攸宁的案件中,很多人参与其中。其中就有锦上基金的方建设邱志坚和安和旅游老严。这些人中,全部参与锦上基金和安和旅游之间的利益输送,他们建立老鼠仓,趁机让安和旅游的股票大涨,从中谋
Zz1tai水晶哥回归的第一天,就调侃起了以后想当总统的Faker在S12全球总决赛小组赛,即将正式展开之际,阔别二路解说台一个月之久的Zz1tai和水晶哥,终于在10月6日晚上重新开播!当水晶哥AJ和Zz1tai,以连麦互动的方式,在HY独家赛强力霉素,这些经典搭配,效果大几倍强力霉素大家养鸡在熟悉不过了吧!屏幕前的养鸡人,你肯定都用了吧!也属于家里常备药,他又叫多西环素,别人都说好用,为啥自己用不出效果来,而且价格也不便宜,今天我就偷偷告诉你,那是因为石首桃源小镇举办王者荣耀电竞大赛,文旅与电竞融合再升级源启荣耀英雄之争王者荣耀电竞大赛国庆期间在石首桃源小镇巅峰开赛,玩家们也积极响应文旅电竞的号召,经过层层筛选,由本地多支队精英玩家齐聚石首桃源小镇,强强联合展开对决。为打造属于王者王者荣耀新英雄赵怀真登场,战士定位,他心纳乾坤,气御阴阳王者荣耀官方在9月29号更新了一篇文章,里面讲到即将有一位新英雄登场。他,隶属长安人物,他给人一种谦谦君子,温润如玉的感觉。在人物背景中提到,他胸有浩瀚乾坤,手能气御阴阳。然而这样历史上的第一款辅助FMVP皮肤即将出炉,会给到谁呢?先恭喜eStarPro获得了2022年挑战者杯的冠军,这届总决赛真的精彩,打满了BO7,打到了巅峰对决,两支队伍都展现出了强大的实力和韧性。最终,FMVP给到了eStarPro。子羊了个羊第二关卡片固定顺序羊了个羊第二关卡片固定顺序是什么?羊了个羊这款游戏的通关难度非常高,游戏的内容设计非常分魔性,基本上很多玩家都是卡在第二关无法通关,通关率非常低,下面小编为大家带来羊了个羊第二关卡如何评价三国杀ol曹纯?三国杀OL大玩家其实之前网上已经有很多如何评价三国杀武将曹纯三国杀曹纯到底强在哪里?之类的帖子,但那个时候还都是手机三国杀专属武将的那个曹纯,OL上的曹纯还没多少人讨论。那么今天我粉丝制俯视角半条命获V社点头将登陆Steam在ModDB上,一位名叫PinkyDev的创作者透露,他们的项目代号循环(CodenameLoop),一个自上而下的双杆射击半条命游戏衍生作品,已获得Valve批准,将在不久的将来骑马与砍杀2霸主10月7日Betae1。9。0测试版更新日志翻译AomineDaikitl10我是来学习的Notealot校对AomineDaiki北京时间2022年10月7日,骑马与砍杀2霸主发布了Betae1。9。0测试版的重大更新,以三国志11那些侮辱性极强的一个顶俩,典韦和曹昂死得也太冤枉了资深的三国志11老玩家们都心知肚明,武将的随身特技在很大程度上决定了他们的价值,甚至本来在历史上不算强势的角色,都凭着自己在游戏里的技能咸鱼翻身。这样的例子很多,足以专门拿一期来讲熬夜后,吃点什么好?柯大夫,你好!最近因为放假,我经常在熬夜,因为熬夜还容易失眠,每天精神都很差。我想知道,熬夜后除了睡觉,能不能吃点什么补回来?家医柯大夫长期熬夜容易导致深度疲劳情绪低落,甚至诱发心