Селен безголовый Chrome React onMouseEnter - PullRequest
0 голосов
/ 22 октября 2018

У меня странная проблема.Для моего тестирования я пытаюсь запустить селен с хромированной версией без головы.Я использую nightwatch для тестирования моего javascript-приложения React.

Один из моих компонентов использует событие onMouseEnter для отображения подменю, но когда я использую метод moveToElement в nightwatch, он работает с обычным хромом, но не с хромом без головы.Это не дает мне ошибки, но подменю просто не отображается.

Это мой тест ночной часы:

browser
      // Load the page at the launch URL
      .url(browser.launchUrl).useXpath()
      // wait for page to load
      .waitForElementVisible("//ul/li/div/span[text()='Login']", 5000)
      //hover over Login
      .moveToElement("//ul/li/div/span[text()='Login']", 10, 10)
      //wait for submenu
      .waitForElementVisible("//ul/li/ul/li/a/span[text()='Login']", 500)

Когда я запускаю его с нормальным Chrome, он успешно завершает тест, но с Chrome--headless Я получаю следующую ошибку:

- open login modal (5.22s)
Timed out while waiting for element <//ul/li/ul/li/a/span[text()='Login']> to be present for 500 milliseconds.  - expected "visible" but got: "not found"
   at Object.open login modal
   at process._tickCallback

Я не совсем уверен, почему это происходит в режиме без головы и как я могу предотвратить это.

Редактировать: я исправил свою проблему с помощьюобновление моего компонента меню реакции (rc-menu v5 => v7), и теперь он работает также в режиме без головы, хотя я до сих пор не знаю, почему он не работал раньше ...

...