我们在测试Android时经常发生错误。当我做self.driver.background_app(3)
时,有时会收到WebDriverException
。
我们必须做背景来更新uiAutomator的XML树。如果我们不这样做,我将等不在那里,因为它们永远不会出现。
我的问题如下:
我们可以做另一件事来刷新XML树吗?
如何避免WebDriverExceptions
?
在这里,我会在其中添加一些代码:
def click_byId(id):
global driver, var_debug
if var_debug:
print(" DEBUG: Clicking button by id: '%s'" % id)
element = driver.find_element_by_id(id)
element.click()
。 。
click_byId("Entrar")
self.driver.background_app(3)
click_byId("Inicio")
问题在于,这种情况会不时发生,并且使用相同的手机和相同的脚本。
在appium中,我们可以读取如下内容:
[ADB]使用args运行'C:/../ platform-tools / adb.exe':[“-p”,5037,“-s”,“ LGM250LJEE65QCLVHQ”,“ shell”,“ dumpsys”, “窗口”,“窗口”]
[ADB]找到了程序包“ com.app.miapp”和标准活动名称:“ com.app.miapp.MainActivity”
[MJSONWP]使用driver.background()结果响应客户端:null
[HTTP] <-POST / wd / hub / session / 542532453-ecde-43a9-7a8788d171b / appium / app / background 200 7408 ms-76
[HTTP]-> POST / wd / hub / session / 542532453-ecde-43a9-7a8788d171b / element {“ using”:“ id”,“ sessionId”:“ 542532453-ecde-43a9-7a8788d171b”,“ value”: “ Inicio”}
[MJSONWP]使用args调用AppiumDriver.findElement():[“ id”,“ Inicio”,“ 542532453-ecde-43a9-7a8788d171b”]
然后,执行被阻止并停止运行。稍后,一切完成,我们通过控制台收到:
('意外错误:',类'selenium.common.exceptions.WebDriverException')
我们会经历不同的行为,从而改变背景时间。有时,当我们将背景时间定义为1时,异常消失了。
真正的问题是:还有其他方法可以刷新硒中的应用程序元素吗?还是鸦片?
感谢您的帮助,对于我的经验不足。