У меня есть установка, в которой я делаю простые тесты с IDE Selenium, затем сохраняю проект в виде файла *.side
в репозиторий, который сервер, на котором работает Selenium Grid, затем извлекает, выполняет все содержащиеся в нем тесты и затем отправляет мне результаты по электронной почте. , Для большинства тестов я получаю те же результаты, что и локально, только несколько баннеров cook ie вызывали проблемы, потому что кажется, что локально это не проблема, если вы не нажимаете на них, но когда тесты запускаются на Selenium Grid, они потерпит неудачу, потому что баннер cook ie блокирует все клики. Теперь у меня похожая проблема, но нет ничего лучше баннера повара ie. Я тестирую пользовательский интерфейс Swagger, и всякий раз, когда я запускаю тест на Selenium Grid, я получаю сбои, подобные следующему:
FAIL DefaultSuite/click-a-couple-headers.test.js (7.275s)
✕ click-a-couple-headers (5319ms)
● click-a-couple-headers
ElementClickInterceptedError: element click intercepted: Element <div class="opblock-summary opblock-summary-get">...</div> is not clickable at point (476, 18). Other element would receive the click: <header>...</header>
(Session info: chrome=80.0.3987.106)
at Object.throwDecodedError (../../../node_modules/selenium-side-runner/node_modules/selenium-webdriver/lib/error.js:550:15)
at parseHttpResponse (../../../node_modules/selenium-side-runner/node_modules/selenium-webdriver/lib/http.js:560:13)
at Executor.execute (../../../node_modules/selenium-side-runner/node_modules/selenium-webdriver/lib/http.js:486:26)
Test Suites: 1 failed, 1 total
Tests: 1 failed, 1 total
Snapshots: 0 total
Time: 7.58s, estimated 8s
При поиске селектора CSS в тесте Selenium IDE, кажется, это та часть, где он терпит неудачу:
{
"id": "12345678-1111-5555-8888-1234567890ab",
"comment": "",
"command": "setWindowSize",
"target": "968x648",
"targets": [],
"value": ""
}, {
"id": "12345678-2222-6666-8888-1234567890ab",
"comment": "",
"command": "runScript",
"target": "window.scrollTo(0,413)",
"targets": [],
"value": ""
}, {
"id": "12345678-4444-7777-8888-1234567890ab",
"comment": "",
"command": "click",
"target": "css=#operations-category-method_path_to_endpoint > .opblock-summary",
"targets": [
["css=#operations-category-method_path_to_endpoint > .opblock-summary", "css:finder"],
["xpath=//div[@id='operations-category-method_path_to_endpoint']/div", "xpath:idRelative"],
["xpath=//span[2]/div/div/span/div/div", "xpath:position"]
],
"value": ""
}
Поэтому я подумал, что это может быть проблема синхронизации с операцией прокрутки, поэтому я добавил команду whatForElementVisible
перед всеми щелчками:
/* scroll command */
{
"id": "12345678-3333-7777-8888-1234567890ab",
"comment": "",
"command": "waitForElementVisible",
"target": "css=#operations-category-method_path_to_endpoint > .opblock-summary",
"targets": [
["css=#operations-category-method_path_to_endpoint > .opblock-summary", "css:finder"],
["xpath=//div[@id='operations-category-method_path_to_endpoint']/div", "xpath:idRelative"],
["xpath=//span[2]/div/div/span/div/div", "xpath:position"]
],
"value": "30000"
},
/* click command */
Локально тест еще работал нормально в Firefox и Chrome (который запускает Grid), но в Grid он завершается с той же ошибкой, что и раньше. Кто-нибудь знает, как решить эту проблему или как правильно отладить ее?