2015-03-25 5 views
15

Новый пользователь здесь.Что такое хороший безголовый браузер для работы с транспортиром?

После нескольких часов строительства моих тестов на дым и регрессию, я узнал после прочтения многих случаев в Интернете, что, как известно, фантомьям трудно бежать с транспортиром. Дженкинс управляет фантомами для всех задач, которые он дал до сих пор.

Им нужны эти тесты для выполнения как части ci, у которой нет установленной оконной системы.

Поэтому я был бы признателен, если бы была рекомендация для абсолютно безголового браузера или безголового хрома (это было бы очень полезно) и шаг за шагом, чтобы настроить его. У меня уже есть файл conf.js и e2e.conf.js. Мой код отлично работает с хром.

Я верю, что я нахожусь на web-сервере iMac и селене.

Редактировать: Проблема = транспортир не работает с фантомами. Что я сделал = использовать различные веб-элементы и googled, если кто-то столкнулся с подобной ситуацией. Также googled для безгласных браузеров, которые работали на транспортир, не в состоянии найти подходящее решение.

+3

Вопросы, предлагающие нам рекомендовать или находить книгу, инструмент, библиотеку программного обеспечения, учебное пособие или другой ресурс вне сайта, не относятся к теме для переполнения стека, поскольку они, как правило, привлекают упрямые ответы и спам. У вас есть особые проблемы с вашей текущей настройкой? Если это так, опишите проблему и то, что было сделано до сих пор, чтобы ее решить. – honk

ответ

8

Ваш лучший выбор - продолжить ue с Chrome. С небольшим количеством работы вы можете заставить его работать через CI и безгласным образом - мы делаем это, используя Jenkins и Docker Ubuntu, которые безгоняют.

Вам необходимо настроить Chrome для запуска без использования головок с использованием XVFB. Вы можете начать с gist здесь https://gist.github.com/addyosmani/5336747

Вы указываете, что находитесь на Mac, чтобы вы могли либо запускать тесты без головок через Docker на вашем компьютере, либо вы могли бы настроить вторую конфигурацию для тестов CI.

Другой ресурс http://tobyho.com/2015/01/09/headless-browser-testing-xvfb/

+2

Я создал изображение Docker https://hub.docker.com/r/webnicer/protractor-headless/, которое устраняет все проблемы настройки и работает с xvfb. Надеюсь, это будет полезно. Обоснование описано в моем сообщении в блоге: http://float-middle.com/protractor-and-headless-chrome-on-docker-with-video-tutorial/ –

1

Вы можете запустить тесты транспортир против CodeShip или Drone.io, both из which предлагают Chrome и/или Firefox работает без головы бесплатно. Нет действительно ...

9

Если кто-то достиг сюда - ответы устарели. Хром (в следующем выпуске) теперь поддерживает режим безголового. не нужно много работать.

Вы можете прочитать здесь:

https://developers.google.com/web/updates/2017/04/headless-chrome

Вот пример из командной строки

chrome \ 
--headless \     # Runs Chrome in headless mode. 
--disable-gpu \    # Temporarily needed for now. 
--remote-debugging-port=9222 \ 
https://www.chromestatus.com # URL to open. Defaults to about:blank. 

И вы можете просто вызвать транспортир с возможностями для хрома:

Activating chrome language flags when activating from protractor (selenium)

Вот configuraiton Я использую

capabilities: { 
    'browserName': browserName, 
    chromeOptions: { 
     binary: '/Users/guymograbi/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium', 
     args: ['--headless','--disable-gpu'] 
    } 
    }, 

обновления - новые версии хрома не требует binary свойству

В моих условиях я обнаружил, что может удалить binary свойства как новая версия хрома доступен на стабильные ветви

Моя конфигурация транспортира

capabilities: { 
    'browserName': 'chrome', 
    chromeOptions: { 
     args: [ '--headless', '--disable-gpu', '--no-sandbox', '--window-size=1920x1200' ] 
    }, 

    }, 

И это работает гладко ш сейчас. настоятельно рекомендуется.

Update - как это сделать в карме супер просто

Использования обезглавленного хрома в карме супер просто:

browsers: 'ChromeHeadless' 

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

0

Если у вас есть Chrome 59+ установлен, запустите Chrome с помощью следующего флага:

--headless 

пожалуйста, дайте мне знать, если вам нужна дополнительная помощь, будет писать конфиг для вас :) наслаждаться