学习Airtest踩过的坑

运行py脚本时,出现错误:

可能有两个原因:
1、只运行了选中代码

使用poco不能这样操作,这样操作就相当于没有插入poco相关的库,所以自然就无法识别poco;

2、在开头没有插入poco库
加上:
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
就ok了。

当我这样操作时:

报错了!!提示:unindent does not match any outer indentation level

这种情况就是没对齐才会出现的。于是我就重新打了一遍,确保已经对齐。然而还是报错。
然后我就尝试着全局运行,竟然可以正常运行!
然后我在方法外写了if-else:

选中代码运行成功了。
得出结论:
在一个函数中,选中if-else(可能还有其他的),系统识别不出来时在函数中使用,所以默认判断你的if或者else前面有很多空格,所以会报错!

换了只oppo来进行Airtest IDE,然后发现渲染树出不来。

原因是没有安装PocoService。
正常情况下连接手机后是会弹出下载安装PocoService的,但是oppo没有弹出来。
这个问题困扰了我一段时间,搞得都不敢用oppo了。
后来发现了解决办法:
在开发者选项->直接拉到最后->禁止权限监控。勾选后,问题就解决了。
应该会立刻弹出PocoService,安装后就会出现渲染树了。

下面我找到一些可以出现的问题和解决方法:
http://airtest.netease.com/docs/cn/2_device_connection/2_android_faq.html

 

上一篇:airtest 多airtest脚本批量执行


下一篇:airtest之脚本批量运行