安卓设备WiFi统一管理以及设备自动化测试

本文介绍了安卓设备的WiFi统一管理和自动化测试,包括ATX、uiautomator和python-uiautomator2框架的使用。通过API介绍和实践代码展示了如何进行设备自动化测试,特别是利用PageObject设计模式提高测试代码的可维护性。
摘要由CSDN通过智能技术生成

安卓设备WiFi统一管理以及设备自动化测试

众所周知,安卓单台设备的UI自动化测试已经比较完善了,有数不清的自动化框架或者工具。但是介绍多设备管理的内容并不多,当手里的手机多了之后,要做自动化测试平台,这块的东西又不得不碰,摆脱USB限制,接入WiFi,才能更加自由

框架介绍

1.ATX

ATX(AutomatorX) 是一款开源的自动化测试工具,支持测试iOS平台和Android平台的原生应用、游戏、Web应用。 使用Python来编写测试用例,混合使用图像识别,控件定位技术来完成游戏的自动化。附加专用的IDE来完成脚本的快速编写。

在这里插入图片描述

在这里插入图片描述

atx-agent运行在手机的内部,为手机增加了远程控制,自动化的功能。atx-server最重要的功能,是将atx-agent汇总到一个网页上展示,并提供一个API可以获取所有设备的列表

在这里插入图片描述

2.uiautomator

UIAutomator是为数不多的Android官方支持的自动化框架之一,UIAutomator随着Android版本发布而更新。作为基于控件的自动化框架,UIAutoamtor的整体框架及API简单明晰,非常容易上手,发布后便受到了不少开发人员的好评,但仍有部分开发人员觉得不支持resourceId检索控件有点儿可惜。官方在随后的Level 18中弥补了这一缺憾,至此,UIAutomator便在自动化测试领域占据了一席之地,满足了大部分开发人员的需求。
UIAutoamtor较于其他自动化框架有什么特性呢?笔者觉得可以用粗暴但灵活、简单可依赖来形容,其细数的优势有很多,
概括起来有以下几点

官方支持更新: Android原生支持,测试依赖环境少,创建方便。·

层次接口明晰: 框架层次结果分明,API明晰,上手成本很低。

基于控件交互: 支持Android原生控件解析,比坐标交互兼容性更强。

不依赖于源码: 测试过程基于黑盒进行,对所有发行版本都可以测试。

事件等待优秀: 在事件等待方面接口丰富,控制灵活精确,表现优秀。

支持跨进程测试: 在自动化框架中,具备此特性的不多,测试范围在ROM。

在技术选型方面,除了涉及Web的测试,UIAutomator基本上都可以帮用户实现。如果用户想做ROM层级的测试,或是App间
协作需跨进程的测试,那UIAutomator将是非常好的选择;用户渴望写出简单易懂而功能强大的代码,也不妨选择一
试,UIAutomator可以让用户在事件等待方面看到它优雅的一面;没有代码没关系,想要竞品对比也可以,单元测试、性能测
试、压力测试,UIAutomator都可以成为用户的选择;简单而不简约,留给开发人员更自由的发挥空间,轻巧灵动,强大可靠,
这就是UIAutomator

3.python-uiautomator2

python-uiautomator2封装了谷歌自带的uiautomator2测试框架,提供便利的python接口。他允许测试人员直接在PC上编写Python的测试代码,操作手机应用,完成自动化,大大提高了自动化代码编写的效率。

在这里插入图片描述

如图所示,python-uiautomator2主要分为两个部分,python客户端,移动设备

  • python端: 运行脚本,并向移动设备发送HTTP请求
  • 移动设备:移动设备上运行了封装了uiautomator2的HTTP服务,解析收到的请求,并转化成uiautomator2的代码。

整个过程

  1. 在移动设备上安装atx-agent(守护进程), 随后atx-agent启动uiautomator2服务(默认7912端口)进行监听

  2. 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)

  3. 移动设备通过WIFI或USB接收到PC上发来的HTTP请求,执行制定的操作

API介绍

github:https://github.com/openatx/uiautomator2

中文翻译:https://blog.csdn.net/qq_38071435/article/details/80003212

1、安装:

pip install --pre uiautomator2
#或者你可以直接从github上源码安装
git clone https://github.com/openatx/uiautomator2
pip install -e uiautomator2
pip install pillow  #截屏工具

2、初始化手机,需要的环境SDK

python -m uiautomator2 init
这个只有初始化后才可以用
pip install --pre --upgrade weditor#安装自动化UI定位
python -m weditor#启动

自动安装本库所需的设备端程序:uiautomator-server ,atx-agent ,openstf / minicap ,openstf / minitouch 可单独下载安装

配置工作完成

3、打开手机端口:adb forward tcp:7912 tcp:7912

 连接手机:device_ip = 127.0.0.1 

这个不知道干嘛的忘记了好像是是自行安装atx-agent的时候用的

4、常用命令:


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值