Я пытаюсь запустить приемочные тесты Codeceptions с WebDriver. Моя текущая настройка следующая:
- Arch Linux
- Хром: Хром 75.0.3770.80 Arch Linux
- Включенная версия chromedriver: ChromeDriver 75.0.3770.80 (9a9aa15057b6b2cc0909bdcf638c0b65ecd516f2-refs / branch-Heads / 3770 @ {# 948})
- Selenium Server: Selenium Server версия: 3.14.0, версия: aacccce0
Я выполняю селен, запустив
env webdriver.chrome.driver="chromedriver" java -jar /usr/share/selenium-server/selenium-server-standalone.jar -port 5555 &
Однако, когда я запускаю приемочные тесты, я получаю ошибку [PHPUnit\Framework\Exception] Undefined index: ELEMENT
для каждого теста. Хром запускается правильно, загружает правильный URL-адрес, но не может сделать что-либо еще.
Я исследовал проблему и обнаружил, что в прошлом была похожая проблема с geckodriver. Это можно исправить, передав -enablePassThrough false
селену. Однако в селене 3.9 режим прохождения был удален. Исправление здесь должно было просто переключиться на chromedriver. Поскольку я уже использую chromedriver, это не работает для меня. Возможно ли, что хром не поддерживает w3c-спецификации? Есть ли разница между Chromium и Chrome относительно поддержки Selenium?
Выход селена:
начальный селен:
11:39:58.474 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.14.0', revi
11:39:58.478 INFO [GridLauncherV3$1.launch] - Launching a standalone Selenium Server on port 5555
2019-06-07 11:39:58.689:INFO::main: Logging initialized @558ms to org.seleniumhq.jetty9.util.log.StdErrLog
11:39:58.895 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 5555
запуск кодовых тестов
11:40:24.577 INFO [ActiveSessionFactory.apply] - Capabilities are: {
"browserName": "chrome",
"chromeOptions": {
"args": [
"--disable-gpu"
]
}
}
11:40:24.580 INFO [ActiveSessionFactory.lambda$apply$11] - Matched factory org.openqa.selenium.remote.server
Starting ChromeDriver 75.0.3770.80 (9a9aa15057b6b2cc0909bdcf638c0b65ecd516f2-refs/branch-heads/3770@{#948})
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
11:40:26.065 INFO [ProtocolHandshake.createSession] - Detected dialect: W3C
11:40:26.130 INFO [RemoteSession$Factory.lambda$performHandshake$0] - Started new session 0c80ffc4e6c160d2817ab60ced6a279f (org.openqa.selenium.chrome.ChromeDriverService)
Приемочные испытания должны быть в порядке, так как они выполняются в моем CI-Pipeline