问答 关于 Appium + Mac 桌面端应用自动化的问题

nrbrslt · October 27, 2023 · Last by HH小花 replied at November 15, 2023 · 5705 hits

各位大佬好,最近一直在使用 Appium 做多平台的自动化,很多东西都处于摸索阶段,目前遇到一个问题,我们的产品是用 Qt+QtWebegine 开发的混合型客户端,在 Windoews 上元素定位正常。但在 Mac 上存在异常表现,当 Webegine 使用 87 版本的 chrome 内核时,如果 webegine 编写部分触发弹窗,会导致整个客户端元素均无法定位,整个客户端只存在一个最外层的 window 元素,将 chrome 内核替换成 83 版本后,webegine 部分触发弹窗元素后仍可以正常定位。

发现上述问题后,找开发协助定位问题,发现将存在这个问题的客户端触发弹窗,修改弹窗的 JS 属性(具体的操作是让弹窗先不可见,然后再修改弹窗可见),然后就可以重新捕捉到窗体内元素。这个修改流程需要快捷键开启开发者工具,在 console 输入 js 命令修改弹窗的属性,虽然可以解决问题,但比较麻烦,而且会影响脚本稳定性。

翻了下 appium 的 issue 没有发现有类似内容,所以想看看大伙有没有遇到过这种问题,有没得更好的解决方式。

共收到 3 条回复 时间 点赞

这个你不是解决了么?你是想讨论啥?

恒温 回复

是我没说清楚,这个解决过程是需要快捷键开启开发者工具然后再 console 输入 js 命令修改元素属性,比较麻烦而且影响脚本稳定性,想问下有没有更便捷的解决方法😂

selenium 里面有直接调用 js 的方法 execute_script(script, *args)

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up