2017-01-06 2 views
6

Я получаю следующее сообщение об ошибке при запуске мой транспортир тест на макинтош для сафариНе удалось подключиться к SafariDriver (Safari 10)

Failed to connect to SafariDriver after 10082 ms 
Build info: version: '2.53.1', revision: 'a36b8b1',  
os.arch: 'x86_64', os.version: '10.12.2', java.version: '1.8.0_101' 
Driver info: driver.version: SafariDriver 

способность:

 name: 'Safari', 
     browserName: 'safari', 
     logName: 'Safari', 
     shardTestFiles: true, 
     maxInstances: 2 

Нужна ли нам конкретное сафари драйвер для этого? Если да, откуда я могу его получить и где он должен быть объявлен в файле .conf.

Спасибо!

ответ

3

Да, вам необходимо установить a specific safari driver, чтобы запустить его внутри транспортира. И, конечно, вам нужно быть на mac. Транспортир - это, по существу, слой, построенный сверху Selenium, поэтому вам нужно установить драйвер selenium для Safari, который реализован как плагин Safari.

Вот что вам нужно сделать:

  1. Скачать сафари плагин от here.
  2. Запуск плагина
  3. Выберите «ТРАСТ» плагин при запросе сафари

Драйвер теперь установлен и должен быть доступен для вашего процесса транспортир.

Это водитель для Selenium 2.48. Я не мог найти более новую сборку, поэтому, если эта версия драйвера не работает с текущей версией Protractor, вам нужно либо использовать более старую версию транспортира, которая основана на Selenium 2.48, либо построить драйвер сафари из источника ,

+0

Спасибо! Здесь вы можете найти последние сборки http://selenium-release.storage.googleapis.com/index.html – CodeJockey

+0

Насколько я могу судить, 2.48 была последней сборкой, в которой был плагин для сафари. Возможно, лучшее место для загрузки, но я не смог найти его. –

3

Прежде всего, начиная с Safari 10, Safari поставляется в комплекте с новой реализацией драйвера. Старый драйвер (расширение) устарел. Вы используете macOS 10.12.2, так что это ваш случай. Чтобы включить новый драйвер в Safari, установите флажок Разрешить удаленную автоматизацию в меню Разработка. Если у вас нет этого меню, включите его: Предпочтения>Продвинутый>Показать меню в меню в строке меню. Сначала запустите /usr/bin/safaridriver, чтобы предоставить ему необходимые разрешения.

Во-вторых, вам нужна версия 3.0 для автономного сервера Selenium, а не 2.53.1. Команда для его установки:

sudo webdriver-manager update --versions.standalone 3.0.1 

Для начала:

webdriver-manager start --versions.standalone 3.0.1 

В-третьих, проверка видимости сломаны в новом драйвере. Поэтому такие вещи, как browser.wait(ExpectedConditions.visibilityOf(myElement), 5000);, не работают и приводят к UnsupportedCommandException. Чтобы исправить это, вы можете попробовать установить Safari Technology Preview и выполнить там тесты (добавьте 'safari.options': { technologyPreview: true } к возможностям). Но для меня предварительный просмотр работает даже хуже, чем релиз. Транспортир говорит, что он не может найти Угловые на странице, потому что они изменили window.name, которые будут очищены после перекрестной навигации в Release 19. Если вам посчастливилось найти способ заставить его работать, сообщите мне.

Ниже приведены ссылки, которые вы должны проверить, потому что я мог что-то пропустить.

Смежные вопросы