Ошибка «[PHPUnit\Framework\Exception] Undefined index: ELEMENT» при запуске кода с помощью WebDriver

Я пытаюсь запустить приемочные тесты кода с помощью WebDriver. Мои текущие настройки следующие:

  • Арх Линукс
  • Хром: Chromium 75.0.3770.80 Arch Linux
  • Включенная версия chromedriver: ChromeDriver 75.0.3770.80 (9a9aa15057b6b2cc0909bdcf638c0b65ecd516f2-refs/branch-heads/3770@{#948})
  • Selenium Server: версия сервера Selenium: 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 для каждого теста. Chromium запускается правильно, загружает правильный 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

запуск codeception-тестов

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.

Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
0
0
1 592
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Библиотека php-webdriver пока не поддерживает режим w3c. Вы можете передать w3c: false как необходимую возможность, чтобы получить устаревшее поведение,
но более надежный вариант — использовать ChromeDriver v74.

Дополнительную информацию можно найти в этой заявке https://github.com/facebook/php-webdriver/issues/469#issuecomment-499519728.

Обновлять: обновление библиотеки facebook/webdriver до версии 1.7.0 также должно решить эту проблему.

Понижение до v74 исправило это для меня, спасибо! Не могли бы вы включить пример конфигурации для кодирования при использовании опции w3c? Я не смог запустить это. Это может помочь людям, у которых нет возможности понизить версию.

allinonemovie 07.06.2019 13:01

Другие вопросы по теме

Похожие вопросы

InvalidArgumentException: недопустимый аргумент: неподдерживаемая стратегия поиска: -пользовательская ошибка с Appium с использованием Selenium ChromeDriver и Chrome
Ошибка CS7036. Не указан аргумент, соответствующий требуемому формальному параметру «драйвер» «SpecflowBaseTest.SpecflowBaseTest (IWebDriver)»
Как заставить селен взаимодействовать с новыми HTML-элементами новой страницы
WebDriverException: Сообщение: неизвестная ошибка: невозможно получить расширение автоматизации из-за неизвестной ошибки с использованием Selenium ChromeDriver и Chrome через Python
Как получить данные из файла excel или csv и получить данные с веб-страницы, используя python и селен один за другим?
Как мне сделать попытку и исключить оператор с этой ошибкой селена
Сообщение об ошибке «Нет такого файла или каталога» после завершения теста firefox selenium
Ошибка теста Maven: не удается найти символ
Унаследованные свойства, прочитанные Spring @Value, равны нулю
Как сделать разрыв строки в WhatsApp с помощью Selenium при отправке сообщения?