AirtestProject / Poco

A cross-engine test automation framework based on UI inspection
http://airtest.netease.com/
Apache License 2.0
1.75k stars 315 forks source link

U3D项目,使用poco对元素操作,同样的脚本换到其他设备上,(显示器分辨率变化了),元素定位有偏差 #139

Open stayhungryYu opened 5 years ago

stayhungryYu commented 5 years ago

(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)

(重要!问题分类)

描述问题bug U3D项目,使用poco对元素操作,同样的脚本换到其他设备上,(显示器分辨率变化了),元素定位有偏差

复现步骤 编写PC端脚本

  1. 在自己PC(win7 64位)上用poco编写脚本,并运行成功
  2. 将脚本放到win7 64位服务器上(显示器分辨率跟自己PC不一样)运行 (两个PC环境搭建OK)

预期效果 在服务器上运行通过。 举例,点击一个按钮,poco("btn_ok").click()点击成功

实际效果 在服务器上运行不通过,元素定位有偏差。 举例,点击一个按钮,点击在按钮旁边

python 版本: python3.7.2

**poco 版本: 0.96.5

poco版本通过pip freeze可以命令可以查到

yimelia commented 5 years ago

你好,有一定的可能性是游戏标题框的宽度不同导致的偏移,poco中的代码位置: image

参考修改方案: 如果使用的Unity编辑器的话,在你的air脚本代码中加上:

poco.device.focus_rect = (左边框宽度,上, 右,下)

如果是win10的话,那么 左-上-右-下 的边框分别是 0 40 0 0,win7的宽度与win10不同,可以尝试6, 30, 6, 6