初步试水,写python脚本,已经实现了单机的自动化脚本case,目前阻碍“无法双机联调,验证通信”。
工作之余实践了2个月,遇到的问题随手记下来了,方便查阅。
前述:
Airtest:主要是用来获取页面上的元素信息的,在Airtest里调脚本也是可以的,但不够规范。
Pycharm:用来写脚本的工具,相对比较方便
流程:
一、安装AirTest:
1、下载地址: http://airtest.netease.com/download.html?download=AirtestIDE_2018-10-11_py3_Mac10-12.dmg
下载版本号:AirtestIDE_2018-10-11_py3_Mac10-12.dmg
2、 账号:GitHub账号/密码:XXXXX / XXXX(自己注册的测试账号)
3、直接下载adb工具包即可建立连接:platform-tools_r29.0.1-darwin.zip
4、官网学习地址: https://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/1_quick_start/2_test_with_Android_device.html#id2
二、Airtest与android手机建立连接:
1、连上安卓手机
2、终端,确定adb devices是否能建立连接
3、点开目标APP,前端页面即为获取元素页面
4、试水Airtest上的touch()功能
5、简单demo
三、第一个demo遇到对问题:
1、如何与手机(安卓)建立联系
adb devices
打开开发者权限
2、获取app包名字: https://www.cnblogs.com/dzblog/p/4062288.html
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编辑器。
下载地址: https://github.com/pingfangx/jetbrains-in-chinese/tree/master/PyCharm
在Mac-应用程序中-显示包内容-替换lib/resources_zh_CN_PyCharm_2018.3_r1.jar
2、新建文件名是红色、绿色含义:
灰色:是已经同步的文件
红色:是本地存在但是没有同步到仓库的文件。当添加到仓库时,此文件名变绿
蓝色:表示文件有更改且未同步到仓库中。
3、pycharm导入代码,解决python的版本不对应的关系
解决参考链接: https://www.jianshu.com/p/a7aefc40d4d7
4、解决pycharm不支持airtest的代码?
pycharm中添加第三方包,主要是airtest,pocoui
参考文档: https://blog.csdn.net/u014028063/article/details/80423009
5、pycharm快捷键
缩紧和后退(左移)
代码选中:按住Tab键
shift+Tab
6、PyCharm破解链接:
https://blog.csdn.net/nobleman__/article/details/85730001
网址: http://idea.lanyus.com/
破解后报错链接:
https://blog.csdn.net/weixin_44443617/article/details/90048551