Selenium 3.0.1 с ошибкой safaridriver в waitForElementVisible()
Safari 10.0.1 macOS Sierra
При запуске команды 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 с Selenium 2.53.1, он находит элемент без проблем.
Есть ли известная проблема с этим типом локатора, которую я не нахожу при просмотре форумов? У кого-нибудь есть предложение, как заставить это работать?
Обновление 12-01-16: теперь это похоже на проблему с командой waitForElementVisible(), а не на локатор. Если я изменю команду на $I->waitForElement(['css' => 'input[type=text][id=UserUsername]'], 30);
тест успешно перемещается вперед до следующей команды waitForElementVisible().
1 ответ
Люди говорят, что проверки видимости прерваны в выпускной версии Safari 10. Вы можете попробовать Safari Technology Preview, и если ваша проблема все еще существует, мы можем заключить, что это другая проблема, а не сломанные проверки видимости. Если ваша проблема исчезнет, это будет не совсем опыт ваших пользователей, но в любом случае лучше, чем ничего. Также вы можете попробовать реализовать свои собственные проверки видимости в качестве обходного пути, используя некоторый скрипт на стороне браузера (например, эта функция выглядит достаточно хорошо).
Чтобы запустить свои тесты в Safari Technology Preview, добавьте
'safari.options': { technologyPreview: true }
к возможностям.
Смотрите также мой другой ответ на эту тему.