Headless web browsers

Для тестирования веб-приложений (а именно этим я сейчас и занимаюсь на текущей работе) крайне необходим веб-браузер. Поиграл в капитана Очевидность, ага :) Когда речь идет о ручном тестировании или о запуске небольших тестовых сценариев, то тут все ясно — используется один из обычных браузеров (Firefox, Chrome, Safari, Opera) или Internet Explorer. Но что делать, если у вас есть хороший набор браузерных тестов и вы хотели бы их запускать либо в фоне на рабочем компьютере, либо на выделенном CI-сервере? Запускать обычный браузер и наблюдать мельтешащие окна — не вариант. И тут на помощь нам приходят так называемые headless-браузеры, которые позволяют выполнять ваши тесты с использованием браузера (чаще всего Webkit-based), но при этом не отвлекают вас лишними окнами (создается некоторое виртуальное, невидимое окно браузера, в котором и проходят тесты) Основные существующие headless-браузеры перечислены тут. На случай, если ссылка устареет, ниже приведен этот перечень:

  • HtmlUnit — Java. Custom browser engine. JavaScript support/DOM emulated. Open source.
  • Ghost — Python only. WebKit-based. Full JavaScript support. Open source.
  • Twill — Python/command line. Custom browser engine. No JavaScript. Open source.
  • PhantomJS — Command line/all platforms. WebKit-based. Full JavaScript support. Open source.
  • Awesomium — C++/.Net/all platforms. Chromium-based. Full JavaScript support. Commercial/free.
  • SimpleBrowser — .Net 4/C#. Custom browser engine. No JavaScript support. Open source.
  • ZombieJS — Node.js. Custom browser engine. JavaScript support/emulated DOM. Open source.
  • EnvJS — JavaScript via Java/Rhino. Custom browser engine. JavaScript support/emulated DOM. Open source.
  • Watir-webdriver with headless gem — Ruby via WebDriver. Full JS Support via Browsers (Firefox/Chrome/Safari/IE).
  • Spynner — Python only. PyQT and WebKit.

 

Tags: , , ,

Leave a Reply

You must be logged in to post a comment.