В поисках работающего, стабильного, безголового браузера для интеграции CI и локального запуска браузера

Я ищу совета о том, как лучше всего протестировать (с помощью автоматизации) угловое веб-приложение.

Я копался на многих сайтах, глядя на то, что делают другие люди. Я также настроил фреймворк и закодировал небольшой набор тестов в Selenium/Jasmine/Protractor, которые отлично сработали. Пока... Мне не нужно было бездумно интегрировать его в наши сборки CI. Я попробовал PhantomJS, и, хотя он иногда работает до конца, он невероятно глючит и ненадежен для этой задачи или с этим стеком, или для того и другого. ;-).

Я готов изменить свой стек и немного перекодировать (мы не настолько углубились в разработку), если я знаю, что могу соответствовать следующим параметрам (в порядке приоритета):

  1. Код будет работать без головы на нашем CI-сервере, который является Win с TeamCity (мы можем портировать его на Mac, поэтому, если он тоже будет работать на нем... бонусные баллы)
  2. Код будет работать локально на моем винбоксе с основными браузерами.
  3. Код будет работать в Browserstack/Saucelabs (это не обязательно)

Я буквально провел много дней, пытаясь заставить Phantom играть хорошо. Концепция великолепна, но поддержка кажется сомнительной, равно как и реализация и последующие действия. Я также наткнулся на несколько списков безголовых браузеров, и ни один из них, похоже, не соответствует тому, что мне нужно (хотя на самом деле я пока не пробовал другие... Я хотел сначала опубликовать этот запрос для совета).

Итак, есть ли способ сделать это, который будет надежным (по крайней мере, таким же надежным, как код, который я пишу, это действительно все, о чем я прошу) и масштабируемым в соответствии с моими требованиями выше?

Я новичок в тестировании угловых сайтов и в JS, и я полностью открыт для любых/всех предложений. Ваши мысли очень ценятся. -- брент


person bmagstadt    schedule 05.11.2015    source источник


Ответы (1)


Похоже, на ваш вопрос уже есть ответы.

Я бы предложил использовать инструмент транспортира, который позволит вам запускать тесты в реальных браузерах. Для сквозного или интеграционного тестирования с использованием транспортира отлично. Для выполнения только модульных тестов Karma хороша и может быть выполнена в реальном браузере.

Для инструментов CI сложно получить доступ к реальному браузеру, так как не все поставщики предлагают это, поэтому использование Saucelab было бы удобно, поскольку оно дает облачный доступ к браузерам и в то же время позволяет вам получить доступ к URL-адресу локального хоста. Вы можете запускать те же тесты транспортира и кармы в реальных браузерах через Saucelabs на своей платформе CI.

person prasun    schedule 05.11.2015