【自动化】Aritest+python实现客户端UI自动化

初步试水,写python脚本,已经实现了单机的自动化脚本case,目前阻碍“无法双机联调,验证通信”。
工作之余实践了2个月,遇到的问题随手记下来了,方便查阅。
前述:
Airtest:主要是用来获取页面上的元素信息的,在Airtest里调脚本也是可以的,但不够规范。
Pycharm:用来写脚本的工具,相对比较方便
 
流程:
一、安装AirTest:
      下载版本号:AirtestIDE_2018-10-11_py3_Mac10-12.dmg 
2、 账号:GitHub账号/密码:XXXXX / XXXX(自己注册的测试账号)
3、直接下载adb工具包即可建立连接:platform-tools_r29.0.1-darwin.zip
 
二、Airtest与android手机建立连接:
1、连上安卓手机
2、终端,确定adb devices是否能建立连接
3、点开目标APP,前端页面即为获取元素页面
4、试水Airtest上的touch()功能
5、简单demo
 
三、第一个demo遇到对问题:
1、如何与手机(安卓)建立联系
adb devices
打开开发者权限
 
adb shell pm list packsge
 
3、渲染树出不来?
选中Android的poco模式,或者重新启动下AirtestIDE 
 
4、AirtestIDE提示Connection reset by peer?
因为导入的2个库Unity和Android,会识别最后一个库
 
5、如何执行一个airtest写的python脚本,链接上安卓手机那种?
进入当前脚本目录下:python3目录下安卓airtest,需要进入文件下:
cd /Library/Frameworks/Python.framework/Versions/3.7/bin
不是直接
cd  /Library/Frameworks/Python.framework/Versions/3.7/bin/python3
 
6、实现上滑动
poco.swipe([0.5,0.9],[0.5,0.2],duration = 0.2) 
 
7、 点击空白处:poco.click([0.5,0.5])
 
8、更换完time.sleep(2)后,每次跑同一个 case,结果都不一样?经常case被中断,提示:orientationWatcher has ended
脚本应该是没问题的,同样的脚本,同样的手机,在windows上使用airtest命令是没问题的。
经过排查,发现只要初始化了poco就会引发此问题,不使用poco,命令可以正常结束。
 
四、PyCharm使用遇到对问题
1、汉化PyCharm编辑器。
在Mac-应用程序中-显示包内容-替换lib/resources_zh_CN_PyCharm_2018.3_r1.jar 
 
2、新建文件名是红色、绿色含义:
 
灰色:是已经同步的文件
红色:是本地存在但是没有同步到仓库的文件。当添加到仓库时,此文件名变绿
蓝色:表示文件有更改且未同步到仓库中。
 
3、pycharm导入代码,解决python的版本不对应的关系
 
4、解决pycharm不支持airtest的代码?
pycharm中添加第三方包,主要是airtest,pocoui
 
5、pycharm快捷键
缩紧和后退(左移)
代码选中:按住Tab键
shift+Tab 
 
原文地址:https://www.cnblogs.com/darlingmz/p/11387792.html