2015-04-03 1 views
6

Мы тестируем одноразовое приложение с одним браузером/соединением (хром) с веб-сервером селена для Chrome. Некоторые предлагают использовать PhantomJS для своей скорости, потому что он безголовый.Каковы преимущества и недостатки использования PhantomJS изначально вместо Chrome через webdriver для функционального тестирования QA?

Это веб-приложение также является толстым клиентом с толстым слоем JavaScript. Я хочу знать любые преимущества или недостатки использования PhantomJS для этой цели.

+0

Вы имеете в виду Chrome против PhantomJS как через webdriver, так и не Chrome (Webdriver) и PhantomJS (родной), правильно? –

+0

На самом деле речь идет о Chrome (Webdriver) и PhantomJS (родной) подход. – Nalin

ответ

2

Если вы так же связаны с Chrome, как вы говорите, вы должны запустить Chrome.

PhantomJS больше не работает с тем же движком рендеринга, что и Chrome, так как Blink был выпущен, поэтому текущие тесты от PhantomJS не будут предоставлять точное представление о том, как ваш сайт будет работать в Chrome (он может работать одинаково, но может быть небольшой различия).

Также PhantomJS может работать на Webkit, но это очень старая версия Webkit.

Итог: Blink =/= Webkit. Перейдите в Chrome.

+2

Следует упомянуть, что PhantomJS и Chrome в одно время могут быть использованы для тестирования с возможностью замены. Это уже не так. – aholt

3

Мое мнение PhantomJS на самом деле не зрело для крупномасштабного проекта.

Я использовал ChromeDriver, IE очень экстенсивно для довольно большого приложения для расчета заработной платы. Я изучил PhantomJS для тестирования и изучения его преимуществ.

Плюсы и минусы использования PhantomJS вместо реальных браузеров

Pros:

  • Многие люди используют PhantomJS, потому что это безголовый и избежать дополнительных накладных расходов с реальным браузером.

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

Минусы:

  • ВХотя тестирование e2e и UI в основном используется для репликации поведения пользователя, PhantomJs точно не делает этого

  • Существует несколько случаев, когда PhantomJS выходит из строя, но другие драйверы работают отлично.

  • Protractor Команда напрямую препятствует использованию PhantomJS, если вы планируете это делать.

0

У PhantomJS есть много нерешенных вопросов, и отсутствие активной разработки в проекте еще более затрудняет ситуацию. Многие веб-сайты не загружаются на PhantomJS.

Вы можете попробовать Chrome Headless.https://developers.google.com/web/updates/2017/04/headless-chrome

Вы можете получить безголовую природу PhantonJS и рутину Chrome. Лучшее обоих миров.

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