1、点击位置超过屏幕范围——poco.exceptions.InvalidOperationException: Click position out of screen
解放方案:
(1)确保元素是否可见:可以使用 `exists()` 和 `visible()` 方法来检查元素是否存在并且可见
(2)设置等待时间:sleep(),有时候页面的元素还没渲染出来,已经开始执行click了
(3)滚动屏幕:swipe(),如果点击的元素在屏幕外,可以先滚动屏幕以使其可见,再执行点击。
2、poco定位报错找不到
解决方案:
(1)检查控件层级定位。
(2)有时候IDE自动生成的poco定位脚本会非常长,层级也非常深,可以自己修改更精准的定位脚本。
(3)定位脚本之前添加足够的 sleep()
,确保画面跳转稳定后,再来查找控件。
3、poco没有被定义——NameError: name 'poco' is not defined
解决方案:
(1)确保导入正确的模块
(2)检查变量作用域:确保在使用poco
变量之前已经定义了它。如果在某个函数内部使用,确保poco
是在函数内部定义的。
(3)检查变量命名:确保没有拼写错误或者与其他变量名冲突,导致无法识别poco
变量。
4、pocoservice老会疯狂弹出,原因是:PocoService在后台运行时出现了异常或错误导致的
解决方案:
(1)尝试关闭并重新启动PocoService服务。
(2)查看PocoService的日志文件:日志文件通常位于PocoService的安装目录下。
(3)升级Poco版本。
5、录制脚本时,设备窗的屏幕识别的是底下的页面元素
解决方案:
(1)poco辅助窗的poco模式确保选择正确。
(2)简单粗暴,数据线断开设备,重新连接。
(3)等待一会,等页面元素完全加载完毕。
(4)调整设备窗口的位置或大小。
6、poco和airtest的区别
总结:Poco更专注于游戏和应用程序的UI自动化测试,提供了更多针对游戏开发者的功能和工具;而Airtest则更加通用,支持多平台的自动化测试,并且使用图像识别技术来实现UI元素的定位和操作。
(1)Poco: Poco是一个基于Python的开源UI自动化测试框架,专门用于游戏和应用程序的UI测试。 Poco提供了一种简单而强大的方式来定位和操作应用程序中的UI元素,支持跨平台(如Android、iOS)自动化测试。 Poco提供了丰富的API和功能,如元素定位、UI操作、断言、性能测试等,使得编写自动化测试脚本更加容易和高效。 Poco还支持插件扩展,可以根据需要定制和扩展功能。
(2)Airtest: Airtest是一个跨平台的UI自动化测试框架,支持Android、iOS、Windows、Mac等多个平台。 Airtest提供了一套完整的工具集,包括AirtestIDE(集成开发环境)、Poco(用于UI自动化测试)、AirtestCore(用于跨平台自动化测试)等。 Airtest的核心是基于图像识别的自动化测试,通过图像识别技术来定位和操作应用程序中的UI元素。 Airtest支持脚本录制和回放,使得非技术人员也能够快速创建自动化测试脚本。
7、等待方法的使用,sleep()和wait()
sleep(2):会使脚本暂停执行2秒钟
wait(Template, timeout=10):会等待在屏幕上找到指定的模板元素,最长等待时间为10秒。