1.用Airtest测试iOS一定要用macOS吗?
① 使用 xcode
部署 iOS-Tagent
需要在macOS完成;
② 部署好以后可以在macOS或Windows机器上连接到iOS手机进行测试。
2.本地pip list可以找到airtest,但pycharm里找不到
很多同学都遇到过这个问题,明明在本地命令行使用 pip list
可以看到已经安装了Airtest库,但是在自己的pycharm里面却找不到Airtest这个库。 这种情况很有可能就是你的pycharm使用了 虚拟环境的解释器 。
你可以随意运行1个项目,然后查看运行结果窗口显示的解释器是不是你在本地安装的解释器的路径,如果不是,一般会带有 venv
的字样,例如:
D:\test\vene\Scripts\python.exe D:\test\test.py 复制代码
这种情况只需要将pycharm从虚拟环境切换到安装了Airtest的本地环境即可。
3.报告可以导出发给别人看吗?
Airtest的报告是可以打包发给别人看的。
① 想要导出报告发给别人观看,我们需要生成报告的命令中传入 --export
参数,这样就可以将 包含静态资源文件和图片文件的报告 导出到一个指定的文件夹内,之后直接将整个文件夹发送给别人观看即可。
② 如果生成报告时不传入 --export
参数,那么报告中的静态资源文件和图片文件将使用 绝对路径 来访问,此时将整个文件夹发给别人观看,别人也是无法正常观看的。
4.pip install -U airtest 无限超时
使用 pip
命令安装Airtest,如果出现无限超时的问题,可以考虑配置 清华源 来解决。
5.如何检查adb是否连接上设备
使用AirtestIDE连接安卓设备之前,需要确保ADB已经连接上了设备。
① 我们可以使用 adb devices
来查看设备情况,如果仅仅提示 List of devices attached
,则表明ADB未连接上任何设备;此时需要检查手机上的 USB调试
功能是否已开启,或者换一根USB数据线;
② 如果ADB已连接上设备,那么执行 adb devices
后,会显示已连接设备的列表:
List of devices attached SJE5T17B17001648 device SJE5T17B17001650 device 复制代码
6.poco无限重启的解决办法
① 如果开了网络代理的话,需要先 关闭各种代理和VPN ,否则可能会影响到poco通讯
② 检查手机助手内是否对 pocoservice.apk
做了限制,例如在某版本的华为手机中需要开启 允许自启动 和 允许后台活动
airtest.doc.io.netease.com/IDEdocs/dev…
③ 不能和uiautomator同时启动,否则会相互冲突
④ 可以尝试 重启手机 看看是否会恢复
7.如何删除iOS输入框的内容
① 对于Android平台,我们可以使用多种方法来删除输入框的内容,比如使用 keyevent
接口: keyevent("KEYCODE_DEL")
;或者使用Poco的 set_text()
方法: poco("xxx").set_text("")
;
②但对于iOS平台来说,暂不支持 set_text()
接口,也不支持 keyevent("KEYCODE_DEL")
,所以这俩种方法对于iOS的输入框来说是无效的。iOS支持 text()
方法,所以我们可以用 text("\b",False)
,来实现iOS输入框内容的删除
8.设备连接参数怎么理解?
IDE提供了3个备用的连接参数: Use javacap
、Use ADB orientation
和 Use ADB touch
;
① 第一个 Use javacap
,是给部分无法正常看到手机画面、minicap初始化失败 的手机或设备用的,所以模拟器看到黑屏、部分特殊的平板等设备可以考虑勾选这个选项
② 第二个 Use ADB orientation
是 屏幕旋转 的,如果在安卓手机屏幕旋转方向检测有问题、或者是部分特殊的平板无法显示正确的屏幕方向时可以勾选
③ 第三个 Use ADB touch
是 发送adb指令来点击屏幕 ,效果很差,速度也很慢,不建议勾选,只有在部分无法点击屏幕的特殊安卓设备上才需要使用(例如智能后视镜、特殊型号的平板等设备上) 正常情况下,手机都可以点击,如果无法被点击(比如小米设备),一般都是因为手机设置有选项漏了打开,特别是 小米设备要注意开启允许模拟点击 的设置