2

Safari 10.0.1 Macos SierraСелен 3.0.1 с safaridriver неудачу на waitForElementVisible()

При выполнении команды Codeception:

$I->waitForElementVisible(['css' => 'input[type=text][id=UserUsername]'], 30); 

в приемочного испытания в Safari с Selenium 3.0.1 я получаю ошибка. Снимок экрана, снятый при сбое, четко отображает данный элемент. Тот же тест/команда успешно работает как в Firefox, так и в Chrome. Ошибка:

Screenshot saved to /Applications/MAMP/htdocs/AutomatedTests/tests/_output/debug/FAILED1479307207.png 
    Unable to retrieve Selenium logs : The command 'GET /session/9BC56414-8934-4315-9293-B6E99720E318/log/types' is not implemented. 
    Command duration or timeout: 3 milliseconds 
    Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700' 
    System info: host: 'Cosettes-MacBook-Pro.local', ip: '10.0.1.75', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.1', java.version: '1.8.0_101' 
    Driver info: org.openqa.selenium.safari.SafariDriver 
    Capabilities [{applicationCacheEnabled=true, rotatable=false, databaseEnabled=true, handlesAlerts=true, version=12602.2.14.0.5, cleanSession=true, platform=MAC, nativeEvents=true, locationContextEnabled=false, webStorageEnabled=true, browserName=safari, javascriptEnabled=true, cssSelectorsEnabled=true}] 
    Session ID: 9BC56414-8934-4315-9293-B6E99720E318 
    Screenshot and page source were saved into '/Applications/MAMP/htdocs/AutomatedTests/tests/_output/' dir 
ERROR 

Когда я запускаю тот же тест/команду в Safari/Firefox/Chrome с селеном 2.53.1 находит элемент без проблем.

Есть ли известная проблема с этим типом локатора, который я не нахожу при посещении форумов? У кого-нибудь есть предложение, как сделать эту работу?

Обновление 12-01-16: Теперь это больше похоже на команду waitForElementVisible(), чем Locator. Если я изменю команду на $I->waitForElement(['css' => 'input[type=text][id=UserUsername]'], 30);, тест успешно продвинется вперед до следующей команды waitForElementVisible().

+0

Не совсем такая же проблема, но она может вам помочь. https://github.com/SeleniumHQ/selenium/issues/2680 – cyildirim

+0

Спасибо, но я так не думаю. Я прочитал эту проблему/исправить. Описанная проблема связана с невозможностью подключения с safariDriver. Я прошел мимо этого момента. – CosetteN

+0

@CosetteN вы нашли решение еще? У меня та же проблема. – Isengo

ответ

4

People say В версии выпуска Safari 10 нарушены проверки видимости. Вы можете попробовать Safari Technology Preview, и если ваша проблема все еще существует, мы можем заключить, что это еще одна проблема, а не неисправность проверки видимости. Если ваша проблема исчезнет, ​​это будет не совсем ваш опыт пользователей, но лучше, чем ничего. Также вы можете попробовать выполнить свои собственные проверки видимости в качестве обходного пути, используя какой-либо скрипт со стороны браузера (например, this function выглядит достаточно хорошо).

Чтобы запустить тесты в Safari Technology Preview, добавить

'safari.options': { technologyPreview: true } 

возможностям.

См. Также my other answer на эту тему.

+1

Поскольку у нас есть успех со старой версией Selenium Webdriver в текущем Safari и Chrome, мы будем придерживаться этого, пока Safari не начнет действовать вместе. – CosetteN

+0

Насколько я понимаю, что с Safari 10 вы используете старый веб-драйвер, реализованный как расширение для Safari, и он отлично работает? Какую версию Selenium Server вы используете? – thorn

+1

Да. Мы оставались на 2.53.1 для ежедневного тестирования, когда я пытался и пытался довести нас до 3.0.1, и работать над Firefox, Chrome и Safari. Текущая настройка оставила Firefox в версии 47.0.1, но у нас больше пользователей Safari, чем у Firefox, поэтому мы уделяем приоритетное внимание Safari. – CosetteN