WebDriverException在后台

2024-09-22 10:14:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我们在测试Android时经常出错。当我做self.driver.background_app(3)时,有时我们会收到WebDriverException

我们需要做后台工作来更新uiAutomator的XML树。如果我们不这样做,我就等不及那里的任何元素了,因为它们永远不会出现

我的问题如下:

  1. 我们可以做另一件事来刷新XML树吗

  2. 我们能做些什么来避免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]运行'C:/../platform tools/ADB.exe',参数:[“-p”,5037,“-s”,“LGM250LJEE65QCLVHQ”,“shell”,“dumpsys”,“window”,“windows”]
[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毫秒-76
[HTTP]-->;POST/wd/hub/session/542532453-ecde-43a9-7a8788d171b/element{“using”:“id”,“sessionId”:“542532453-ecde-43a9-7a8788d171b”,“value”:“Inicio”}
[MJSONWP]调用AppiumDriver.findElement(),参数为:[“id”,“Inicio”,“542532453-ecde-43a9-7a8788d171b”]

然后,执行被阻止并停止运行。稍后,所有操作完成,我们通过控制台接收:

(“意外错误:”,类“selenium.common.exceptions.WebDriverException”)

随着背景时间的变化,我们会经历不同的行为。有时当我们将背景时间定义为1时,异常就会消失

真正的问题是:有没有其他方法来刷新selenium中的应用程序元素?还是阿皮姆

谢谢你的帮助,很抱歉我没有经验


Tags: selfidapp元素vardriverxmlelement