各位大佬好,最近一直在使用 Appium 做多平台的自动化,很多东西都处于摸索阶段,目前遇到一个问题,我们的产品是用 Qt+QtWebegine 开发的混合型客户端,在 Windoews 上元素定位正常。但在 Mac 上存在异常表现,当 Webegine 使用 87 版本的 chrome 内核时,如果 webegine 编写部分触发弹窗,会导致整个客户端元素均无法定位,整个客户端只存在一个最外层的 window 元素,将 chrome 内核替换成 83 版本后,webegine 部分触发弹窗元素后仍可以正常定位。
发现上述问题后,找开发协助定位问题,发现将存在这个问题的客户端触发弹窗,修改弹窗的 JS 属性(具体的操作是让弹窗先不可见,然后再修改弹窗可见),然后就可以重新捕捉到窗体内元素。这个修改流程需要快捷键开启开发者工具,在 console 输入 js 命令修改弹窗的属性,虽然可以解决问题,但比较麻烦,而且会影响脚本稳定性。
翻了下 appium 的 issue 没有发现有类似内容,所以想看看大伙有没有遇到过这种问题,有没得更好的解决方式。