У меня странная проблема.Для моего тестирования я пытаюсь запустить селен с хромированной версией без головы.Я использую 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), и теперь он работает также в режиме без головы, хотя я до сих пор не знаю, почему он не работал раньше ...