前言
这几天打算玩一下python自动化测试,因此接触到airtest。在使用中遇到很多问题,特此记录方便查阅。
环境
python 3.7 airtest ide pycharm 雷电模拟器
基础知识
1各模拟器adb连接端口
夜神安卓模拟器 62001 逍遥模拟器 21503 蓝叠模拟器 5555 雷电 5555 天天 5037 mumu 7555 Genymotion 5555 腾讯手游助手 adb connect 127.0.0.1:5555
2adb常用命令 查看设备
adb devices
开启/关闭adb服务
adb start-server adb kill-server
安装apk
adb install -t ***.apk
启动应用
adb shell am start -n 包名/相对包名的类名 如:adb shell am start -n com.example.test/.MainActivity
文件传输
adb pull 要获取的文件路径 存储的文件路径 adb push 要上传的文件路径 存储的文件路径
查看当前聚焦Activity类名
Linux系统 adb shell dumpsys activity | grep "mFocusedActivity" Windows系统 adb shell dumpsys activity | findstr "mFocusedActivity"
3进模拟器开启开发者模式
问题记录
1airtest ide可以执行poco操作,而到pycharm不行 一般会报错
G.DEVICE.home() AttributeError: 'NoneType' object has no attribute 'home'
解决办法: 先连接模拟器
connect_device("android:///") #连接本地android设备
连接雷电模拟器两种办法:
connect_device('Android://127.0.0.1:5037/127.0.0.1:5555')
雷电模拟器端口是5555,127.0.0.1:5037是对应的本机的adbhost和adbport
connect_device('Android://127.0.0.1:5037/emulator-5554')
emulator-5554是连接后出现的名字,可以用adb devices看到
2出现adb server version (31) doesn't match this client (36)问题
这是因为adb版本不同出现的。
解决办法:
确定模拟器adb+airtest的adb+python包里面的adb一致
python包路径如下:
C:/Python37/lib/site-packages/airtest/core/android/static/adb/windows/adb.exe
3出现airtest.core.error.DeviceConnectionError: 'device not ready'问题
一般是airtest和pycharm里面启动冲突了
解决办法:
重启模拟器,kill了adb进程
来源:http://www.safe6.cn/
本文由 safe6 创作,著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
本站的所有程序和文章,仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负!! 最后编辑时间为: 2019-10-25
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论