Android自动化测试uiautomator
来源:互联网 发布:防火知多少活动反思 编辑:程序博客网 时间:2024/05/16 04:31
Android自动化测试uiautomator框架
最近由于工作的需要,接触了一些android端自动化测试的知识,这里把化记录一下,以备不时之需。这里使用的是框架为uiautomator,使用的开发语言为python.这是因为现在大多数的测试框架都支持python,而且在写一些小程序时python要比java好用一些。
初始化手机连接
在使用uiautomator时,需要事先初始化与手机连联,不然怎么操作手机上的应用呢。如果只使用一台手机做测试机,则比较简单,只需要一行代码就可以。
#初始化手机联接from uiautomator import device as d
如果有多台手机,则需要知道手机的device code,可以使用adb devices查看,python代码如下
from uiautomator import Deviced = Device('014E05DE0F02000E')
确定控件位置
在使用自动化测试框架时,首先需要的是就取到需要操作控件的对象,当然可以直接使用座标进行操作,只是个人认为此种方式比较笨,并不推荐使用此方式。在uiautomator中,有多种方式可以取用控件的对象。
使用 d(text=’文本内容’) 查找控件
使用d(text=’文本内容’)是相对来说比较简单的获取控件的对象的方式,不需要知道源码就可以命名用。详细代码如下
#获取测试按钮test_btn = d(text='测试按钮')#打印控件信息(实际使用中不常使用)print(test_btn.info)
此种方式常用于获取按钮。
使用id获取控件对象
此种方需要开发的支持,或者需要有源码。使用如下。
#查找id为id_edit的控件并写入数据abcdefg d(resourceId="com.autotest.demo:id/id_edit").set_text("abcdefg") print(test_btn.info)
常用操作
上面讲到了获取控件的一些方式,这里就来说一些对控件的具体操作。其实在实际的使用中,对控件的使用不外乎点击、长按、输入、滑动这几种。这里先介绍前三种
点击、长按、输入
test_btn = d(text='测试按钮')#单击事件test_btn.click()#长按事件test_btn.long_click()#此处为输入操作d(resourceId="com.autotest.demo:id/id_edit").set_text("abcdefg")
滑动操作
滑动操作相对于前几种操作,相对来说比较复杂,所在单独拿出来介绍。滑动用于模拟用户的手势操作。比如向左拉开抽屉,下接刷新,手势解锁等。这里可大至分为两大类,
- 两点间的滑动,如下拉刷新
- 多点间的滑动,如手势解锁
如果只是两点间的滑动,可以使用swipe方法,如果多点的滑动,则需要命名用swipePoints方法,说细请查年以下代码。
#两点的xy坐标,只能画直线d.swipe(100, 800, 600, 800)#用于模拟复杂的手势操作,points = []points.append([100,800])points.append([200,800])points.append([200,1100])points.append([600,1100])d.swipePoints(points)
特别是在使用swipePoints时,这里是一个在坑的,那是就在方法的参数来看是需要传一个points的集合,就本能的认为应该是point对象的集合,在引用进还真方法有个对象,于是我的代码就变成这样了
from uiautomator import device as dfrom uiautomator import pointpoints = []points.append(point(100, 800))points.append(point(200, 800))points.append(point(200, 1100))points.append(point(600, 1100))d.swipePoints(points)
结果报错了,纠结了好长时间,后来看了一个源码才知道,他需要的并不是point,是只单纯的表示一个点x,y的坐标的数组。
总结
以上就是关于uiautomator的一些基本使用。如果有什么其它的,欢迎留言。
- android uiautomator自动化测试
- UiAutomator android自动化测试
- Android-自动化测试UIAutomator
- Android自动化测试uiautomator
- Android UiAutoMator自动化测试
- Android Uiautomator 自动化测试
- Android Uiautomator 自动化测试
- Android自动化测试之UIAutomator
- Android自动化测试(UiAutomator)
- Android自动化测试工具uiautomator
- Python + Android + Uiautomator自动化测试
- Android自动化测试之UIAutomator
- Python + Android + Uiautomator自动化测试
- android uiautomator自动化测试记录
- Android自动化测试(UiAutomator)
- Android UiAutomator & UiAutomatorViewer 自动化测试
- Android自动化测试uiautomator入门
- [Android自动化测试]UiAutomator入门
- 视图与索引
- [RK3288][Android6.0] 调试笔记 --- 调试串口的更换
- NDK - 调用函数传参数错误问题
- 特征降维——PCA
- 服务的定义,使用和绑定(FileManagerService)
- Android自动化测试uiautomator
- java.lang.NoSuchMethodError: org.apache.hadoop.fs.FSOutputSummer.<init>(Ljava/util/zip/Checksum;II)V
- 微信开发之实现获取用户信息
- 外贸网站建设中div宽度设为100%,手机或ipad显示只有980px的解决方法
- mysql sql脚本做成安装包在cmd命令下批量执行
- 验证码生成工具类CapthaUtils
- python3.0 网络爬虫 7
- 硬盘基本知识(磁道、扇区、柱面、磁头数、簇、MBR、DBR)
- 判断网络的工具类