我经常运行约250个测试的测试套件。每次运行此测试套件时,每次出现不同的测试时,都会返回不一致的错误。返回不一致错误的示例:
Facebook\WebDriver\Exception\StaleElementReferenceException: stale element reference: element is not attached to the page document
(Session info: headless chrome=65.0.3325.146)
(Driver info: chromedriver=2.36.540471 (9c759b81a907e70363c6312294d30b6ccccc2752),platform=Linux 4.9.125-linuxkit x86_64)
/var/www/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:108
/var/www/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:331
/var/www/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:565
/var/www/vendor/facebook/webdriver/lib/Remote/RemoteExecuteMethod.php:40
/var/www/vendor/facebook/webdriver/lib/Remote/RemoteWebElement.php:240
/var/www/vendor/laravel/dusk/src/Browser.php:267
/var/www/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:141
/var/www/vendor/laravel/framework/src/Illuminate/Support/Traits/EnumeratesValues.php:176
/var/www/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:147
/var/www/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:70
/var/www/modules/Venues/Tests/Browser/Venue/VenueTagsTest.php:73
Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"tag name","selector":"body"}
(Session info: headless chrome=65.0.3325.146)
(Driver info: chromedriver=2.36.540471 (9c759b81a907e70363c6312294d30b6ccccc2752),platform=Linux 4.9.125-linuxkit x86_64)
/var/www/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:102
/var/www/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:331
/var/www/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:565
/var/www/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:204
/var/www/vendor/laravel/dusk/src/Browser.php:264
/var/www/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:141
/var/www/vendor/laravel/framework/src/Illuminate/Support/Traits/EnumeratesValues.php:176
/var/www/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:147
/var/www/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:70
/var/www/modules/Venues/Tests/Browser/Venue/ResourcesTest.php:87
他们不提供故障屏幕截图,并且堆栈跟踪将您带到测试的结束},而不是测试中的实际行,因此我只能假设在实际测试开始之前存在问题
我尝试自己对测试进行各种更改,增加了等待时间和睡眠时间,但没有一个能够解决这些问题。它们似乎是运行测试的3/10次。任何建议将不胜感激,如果我没有留下足够的细节,请告诉我,我们乐意提供更多信息
此错误消息...
Facebook\WebDriver\Exception\StaleElementReferenceException: stale element reference: element is not attached to the page document
(Session info: headless chrome=65.0.3325.146)
(Driver info: chromedriver=2.36.540471 (9c759b81a907e70363c6312294d30b6ccccc2752),platform=Linux 4.9.125-linuxkit x86_64)
以及此错误消息...
Facebook\WebDriver\Exception\NoSuchElementException: no such element: Unable to locate element: {"method":"tag name","selector":"body"}
(Session info: headless chrome=65.0.3325.146)
(Driver info: chromedriver=2.36.540471 (9c759b81a907e70363c6312294d30b6ccccc2752),platform=Linux 4.9.125-linuxkit x86_64)
...表示ChromeDriver无法与浏览上下文,即Chrome浏览器会话进行交互。
您的主要问题是正在使用的二进制版本之间的incompatibility,如下所示:
支持Chrome v63-65
因此显然chromedriver = 2.36和chrome = 65.0是兼容的,但可能与Selenium Client v3.141.59的当前版本不兼容。
确保:
@Test
。>>driver.quit()
方法中调用tearDown(){}
以正常关闭并销毁WebDriver