测试混合应用时,获取window_handles时报错

如题,报错信息如下,


如果注释掉这行代码,就会定位不到webview中的元素,用例同样失败

求解答~

切换之前,加个等待试试呢

click之后,页面从native跳转到webview时候,页面有渲染的时间,这时候加个等待哈,才可以切换到那个webview的句柄

在之前加了,不行,只要我用 print(self.driver.window_handles)就会报同样的错误,主要是上面的那个截图的错误

还是不行,只要我用 print(self.driver.window_handles)就会报同样的错误,应该就是这行代码的问题,但是不知道为什么会出错就没有走到等待哪一行代码,直接就报错了运行时间才1s多

  • 当你尝试在原生的context中调用driver.window_handles的时候就会发生报错
  • 我看你在之前已经打印了driver.contexts,看一下你打印出来的contexts结果是什么 里面有webview存在吗?
  • 推测情况应该是并没有找到webview 导致切换contexts不成功,在原生中调用了window_handles导致的报错。


是的,没有找到webview,大佬能问一下这种情况怎么解决吗,为什么会有获取不到webview的情况呢?代码中用的就是雪球软件,该页面确实是webview

如何能够获取和调试webview在相关的录播中已经进行过讲解了哈

  • 只有Android6才会默认打开了app的webview调试开关
  • 如果是其它版本的Android系统想要调试的话需要对被测app进行修改,打开webview的调试开关才行

好的,谢谢老师,我明白了

如何对被测app进行修改,打开webview的调试开关?