使用 QPython 在 Android 手机内执行自动化

ATX ATX-uiautomator2 使用 QPython 在 Android 手机内执行自动化

linpengcheng · 2018年02月11日 · 最后由 linpengcheng 回复于 2018年11月22日 · 7560 次阅读

 目录 

根据帖子

在 Android 手机内执行 UI 自动化测试

动手实践了一把,把相关的操作步骤记录一下,由于uiautomator2 版本的升级 ,需要依赖的库在原帖上增加了progress 和retry

手机上直接push电脑上的uiautomator2库,

uiautomator2在手机上还需要安装依赖库为:

huamanize、progress、requests、retry 四个

下面是具体的实践步骤

电脑端uiautomator2安装

1、安装uiautomator2,执行命令

pip install --pre -U uiautomator2

2、设备安装atx-agent

首先Android设备连接到PC,并能够adb devices发现该设备,执行命令

python -m uiautomator2 init

最后提示success,代表atx-agent初始化成功。

C:\Users\LiN>python-muiautomator2init

2018-02-1120:15:21,139-__main__.py:243-INFO-Device(C4Y5T16810004018)init

ialing...

2018-02-1120:15:21,917-__main__.py:110-INFO-installminicap

2018-02-1120:15:22,247-__main__.py:117-INFO-installminitouch

2018-02-1120:15:22,976-__main__.py:132-INFO-apk(1.0.9)alreadyinstalled,

skip

2018-02-1120:15:23,139-__main__.py:164-INFO-atx-agent(0.2.0)alreadyinst

alled,skip

2018-02-1120:15:23,140-__main__.py:198-INFO-launchatx-agentdaemon

2018-02-1120:15:25,371-__main__.py:213-INFO-atx-agentoutput:serverstar

ted,listeningon192.168.31.128:7912

2018-02-1120:15:25,373-__main__.py:214-INFO-success

QPython安装

QPython是一个能让安卓手机运行和编写Python的APP,Github下载地址下载链接

下载qpython-release.apk,然后使用adb install安装即可。

安装好之后,由于uiautomator2的库依赖huamanize、progress和requests,打开QPython,点击QPYPI,然后点击INSTALL WITH PYTHON'S PYPI,分别执行:

pipinstallrequests

pipinstallhumanize

pipinstallprogress

安装成功即可。

将相关的库及脚本文件push到手机内

在手机上运行编写的自动化脚本文件,需要用到uiautomator2库和相关的依赖库retry,由于INSTALL WITH PYTHON'S PYPI无法直接安装,所以直接将电脑上uiautomator2库的整个文件夹复制到制定的文件夹下就好了。

经过观察QPython中路径在这个下面:

/storage/emulated/0/qpython

将uiautomator2库复制到qpython/lib/python2.7/site-packages下,执行命令

adb push C:\Python35\Lib\site-packages\uiautomator2 /storage/emulated/0/qpython/lib/python2.7/site-packages

将retry库复制到qpython/lib/python2.7/site-packages下,执行命令

adb push C:\Python35\Lib\site-packages\retry /storage/emulated/0/qpython/lib/python2.7/site-packages

将写好的自动化脚本文件atx_agent_demo.py复制到qpython/scripts3下,执行命令

C:\Users\LiN>adb push D:\PycharmProjects\autotest\atx_agent_demo.py /storage/emulated/0/qpython/scripts3

手机端运行脚本

文件atx_agent_demo.py用网易云音乐来进行简单的demo演示

importuiautomator2asut2

defmain():

u=ut2.connect('http://0.0.0.0:7912')

print(u.info)

u.app_start('com.netease.cloudmusic')

u(text='私人FM').click()

u(description='转到上一层级').click()

u(text='每日推荐').click()

u(description='转到上一层级').click()

u(text='歌单').click()

u(description='转到上一层级').click()

u(text='排行榜').click()

u(description='转到上一层级').click()

if__name__=='__main__':

main()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容