ui自动化实战,ui自动化用例
之前使用的python appium做了安卓自动化测试,最近看了大人物的博客,找到了另一个神器。我来简单介绍一下:
转载地址:https://MP.weixin.QQ.com/s/tw香港S1 EOR lt 4u a 26 he m8aa
uiautomator2的美国石油学会(美国石油协会)文档字体blogs.com/jec 1999年。超文本标记语言
自动洗衣机是谷歌提供的用于安卓自动化测试的爪哇库。这是一个强大的功能,可以测试第三方APP,获取屏幕上任何应用的任何控制属性,并执行任何操作,但有两个缺点。
测试脚本只能用爪哇语言运行。每次测试脚本都必须上传到设备上运行。我们想在测试可以在计算机编程语言上制作,可以在电脑上运行的时候控制手机,有python-uiautomator,然后有python-uiautomator2。有关详细信息,请访问开源代码库地址https://github.com/open atx/ui autor
1 .安装uiautomator2使用pip3安装uiautomator2。安装过程中出现了一点小孔,皮普安装-前U uiautomator2一直安装失败,我找了很多教程,就是这个。
最后,我在开源代码库上查找教程3359 github.com/open atx/ui automator 2,发现它是用pip3安装的。抱着试试的心情,需cd到python的Scripts目录,再使用pip3安装
e:\ python 36 \脚本spip 3安装- uu自动洗衣机2号
2 .亚行连接智能手机,使智能手机和电脑连接,使用(同AsianDevelopmentBank)亚洲开发银行设备查看链接状态。虽然(同亚洲开发银行)亚洲开发银行相关的环境本篇鲜有讲述,但做安卓测试的人都知道
e:\ python 36 \ scriptsadbdeviceslistofdeviceattachedabserversion(31)不匹配这个客户端)40;杀戮daemonstartedsuccessfullyemulator-5554设备安装atx代理python-mu iautomator 2 init
e:\ python 36 \ scripts python-mu iautomator 2 init[d 1907162336034336053 _ _ main _:28]_ secachedirectory .sub pers= init )init[I 1907162336034336053 _ _ main _:88]initialdeviceadbdevice(serial=emulator-()emulator-())652[I 190716236034336053 _ _ main _ _ 33333333653]mini touch[kminit touch # # # # # # # # # # # #]25h[d 1907162336034333633安装com.github.uiautomator,com。github。ui automator。测试[d 1907162336034336056 _ _ main _:100]shell:(pm , uninstall , com。github。ui automator )[d 1907162336034336056 _ _ main _:100]外壳:(pm ,卸载, com。github。ui automator。测试][kapp-ui automator。apk # # # # # # # # # # # 25h[d 1907162336035336005 _ _ main _ _:157]推送https://github.com/open atx/Android-ui自动机-服务器/rer
k:0644[D 190716 23:35:05 _ _ main _ _:100]Shell:( pm , install ,-r ,-t ,/data/local/tmp/app-ui automator。apk’)【Kapp-ui automator-test。apk # # # # # # # # # # # # # # # # # # 966.8k/966.8k[?25h[D 190716 23:35:11 _ _ main _ _:157]推送https://github。打开atx/Android-ui automator-server/releases/download/1。1 .7/app-uiautomator-test。apk-/data/local/tmp/app-ui automator-test。apk:0644[D 190716 23:35:11 _ _ main _ _:100]Shell:( pm , install ,-25h[D 190716 23:35:23 _ _ main _ _:157]推送https://github。打开atx/atx-agent/releases/download/0。6 .0/atx-agent _ 0。6 .0 _ Linux _ 386。焦油。gz-/data/local/tmp/atx-agent:0755[D 190716 23:35:26 _ _ main _ _:100]Shell:(/data/local看到成功地就是安装成功了(当然总是有几个小伙伴的手机需要换下了!)
连接手机python-uiautomator2连接手机有两种方式,一种是通过WIFI,另一种是通过USB
首先,检查uiautomator状态是否为启动状态。
1.用1.usb连接手机,先用adb设备获取手机的唯一标识序列号,就是设备前面的字符串:emulator-5554。
E:\python36\Scriptsadb设备
连接的设备列表
仿真器-5554设备
要测试连接是否成功,首先打开手机上的任意一个app,比如淘宝,在cmd中输入以下信息。
e:\ python 36 \ ScriptspythonPython 3 . 6 . 0(v 3 . 6 . 0:41df 79263 a11,2016年12月23日08:06:12)[MSC v . 1900 64 bit(AMD64)]在win32上键入“help”、“copyright”、“credits”或“license”以了解更多信息。导入uiautomator2为U2 d=U2 . connect _ USB( emulator-5554 )d . info { current packagename : com . Taobao , displayHeight: 1280, displaySizeDpX: 360, displaySizeDpY: 640,Display width: 720, productname: h60-l01 , screen on: true, sdkint: 22, natural orientation: true}看到输出当前包名: com.taobao.taobao 表示
2.首先,WiFi连接保证了手机和电脑在一个局域网内。可以先ping手机的ip,看能不能ping通。
将uiautomator2作为U2 d=U2 . connect( 192 . 168 . 1 . xx )d . info导入
Weditor环境准备安装w编辑器,pip,github地址在https://github.com/openatx/weditor.
pip安装—预装配
创建桌面快捷方式图标
python-m weditor—快捷方式
创建完成后,桌面上会出现一个WEditor快捷图标。双击以启动它。
您也可以从命令行启动它,而无需创建图标。
python -m weditor
当您在窗口中看到以下消息时,它是成功的(不要关闭窗口)
c:\ Users \ Dell python-m weditor listening on http://192 . 168 . 1 . 125:17310[I 190717 23:50:55 web:2246]304 GET/(:1)7.98 ms[I 190717 23:50:55 web:2246]304 GET/static/libs/CSS/buttons . CSS(:1)196.47 0.00 ms w编辑器连接手机,先用adb连接手机,进入adb devices查看手机设备号:emulator-5554。
c:\ Users \ delladb devices连接的设备列表数据库服务器版本(31)与此客户端(40)不匹配;谋杀.* daemon成功启动emulator-5554设备在页面上输入电话号码,点击Connet按钮,看到一个草图标,表示连接成功。
页面抓取定位元素定位元素定位元素的方法支持uiautomator定位方法,也支持xpath和坐标定位。
1.您可以查看元素的resourceId属性。2.自动生成xpath定位方法。3.支持坐标点击。4.根据屏幕比例自动生成uiautomator定位方法参考代码。5.您可以选择强制xpath。
在线编码调试可以调试页面右侧的运行代码,比appium强多了。边写代码边调试,非常方便。
操作步骤:查询高铁列车后点击查询按钮。
d(resourceid= com . yi Piao:id/check gaotie )。click()d . XPath(/*[@ resource-id= com . yi Piao:id/layquerycard ]/Android . widget . frame layout[1])。点击(
要支持wifi连接,首先要保证电脑和手机wifi在一个局域网内,手机的ip在电脑上可以ping通,输入手机的ip也可以抓取手机的页面元素。
看了上面的文章和文章开头的api文档,相信基本使用应该没有问题。接下来,我将编写一个使用uiautomator2从支付宝收集能量的脚本。
脚本如下:
#编码:UTF-8导入ui automator 2 ASU2D=U2 . connect _ USB( 740 DC 3d 1 )print(打开支付宝)d . app _ start( com . eg . Android . Alipay gphone )print(点击蚂蚁森林)d.xpath(//*[@text=蚂蚁森林])。单击()n=d(描述包含=集合)。在range (n)中为I计数:d . XPath(/*[包含(@ content-desc,收集能量))])。单击( )
最近怎么样?只要这个脚本设置为不定时任务,就可以每天定时收集能量,这样你的小树就会长得很快!
总体来说呢,uiautomator2比appium安装搭建环境要简单一点,代码呢也十分简洁!其次就是这个weditor 也比appium查看页面元素要方便,反应快,可实时调代码这是关键!期待后面的自动化项目可以用uiautomaor2 来试试手,届时会继续更新uiautomator2的详细使用,及踩坑的记录!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。