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

Новый пользователь здесь.

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

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

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

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

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

Ответ 1

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

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

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

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

Ответ 2

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

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

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.

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

Активация флагов языка хрома при активации из транспортиратора (селена)

Вот конфигурация, которую я использую

 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' ]
    },

  },

И он работает гладко в течение нескольких недель. настоятельно рекомендуется.

Обновление - как это сделать в карме очень просто

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

 browsers: 'ChromeHeadless'

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

Ответ 3

Я бы продолжил тестирование в обычных браузерах с головой, но использовал бы сервер удаленного сервера в качестве службы - Sauce Labs или BrowserStack, см.

Ответ 4

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

Ответ 5

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

--headless

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