Браузер
A Браузер - это прикладная программа, которая позволяет просматривать и взаимодействовать со всей информацией в Интернете. Технически, Браузер , также называемый Веб-браузер или Интернет-браузер , является клиентской программой, использующей HTTP (протокол передачи гипертекста). делать запросы веб-серверов по всему Интернету от имени пользователя браузера.
Безголовый браузер
A Безголовый браузер также является веб-браузером , но без графического интерфейса пользователя (GUI), но может управляться программно, который может широко использоваться для автоматизации тестирование и другие цели.
Зачем использовать браузеры без головы?
Существует множество преимуществ и недостатков в использовании браузеров без головы. Использование браузера без головы может быть не очень полезным для просмотра веб-страниц, но для автоматизации задач и тестов это потрясающе .
Преимущества браузеров без головы
Существует множество преимуществ использования Безголовых браузеров . Вот некоторые из них:
- Несомненное преимущество использования безголовых браузеров заключается в том, что они, как правило, быстрее реальных браузеров. Причина в том, что мы работаем быстрее, потому что мы не запускаем GUI браузера и можем обходить все время, которое требуется настоящему браузеру для загрузки CSS , JavaScript и открытия и визуализировать HTML DOM .
- Производительность, как правило, вы можете видеть 2x до 15x более высокую производительность при использовании безголового браузера.
- Хотя Очистка веб-сайтов Вы не обязательно должны вручную запускать веб-сайт. Таким образом, вы можете получить доступ к веб-сайту без головы и просто очистить HTML. Вам не нужно визуализировать Full Browser , чтобы сделать это.
- Многие разработчики используют Безголовый браузер для модульного тестирования изменения кода для своих веб-сайтов и мобильных приложений. Возможность сделать все это из командной строки без необходимости вручную обновлять или запускать браузер экономит им много сил и усилий.
Когда вы НЕ МОЖЕТЕ использовать браузер без головы
Может быть несколько причин, по которым вы можете использовать Real Browser вместо Headless Browser . Пара примеров:
- Вам нужно подражать реальным пользователям.
- Вам нужно визуально увидеть тестовый прогон.
- Если вам нужно много отладки, отладка без головы может быть затруднена.
Какие безголовые браузеры лучше?
Как вы правильно заметили, ... основное отличие заключается в выполнении на базах с графическим интерфейсом и без графического интерфейса (без головы) ... , поэтому из перспективы тестирования много будет зависеть от Browser Engine , реализованного под капотом любым конкретным браузером. Например, вот некоторые из Engine Browser , которые полностью отображают веб-страницы или запускают JavaScript в виртуальном DOM.
- Chromium Embedded Framework : CEF - это проект с открытым исходным кодом, основанный на проекте Google Chromium с поддержкой JavaScript и BSD лицензией.
- Erik : Erik представляет собой браузер без головы поверх Kanna и WebKit с поддержкой Swift и MIT лицензия.
- jBrowserDriver : jBrowserDriver является совместимым с Selenium браузером без головки , который основан на WebKit и работает с Selenium Server - Java поддержка связывания и Лицензия Apache v2.0 лицензия.
- PhantomJS : PhantomJS - это автономный WebKit-скрипт с JavaScript API. Он имеет быструю и встроенную поддержку различных веб-стандартов: обработка DOM, селектор CSS, JSON, Canvas и SVG с JavaScript , Python , Ruby , Java , C # , Haskell , Objective-C , Perl , PHP и R (через Selenium ) поддержка и BSD 3-Clause лицензия.
- Splash : Splash - это сервис рендеринга JavaScript с HTTP API. Это легкий браузер с HTTP API, реализованный на Python с использованием Twisted и QT, почти со всеми инструментами связывания lungage и BSD 3-Clause лицензия.
Соответствующее обсуждение можно найти в Какие драйверы поддерживают тестирование без браузера / без головы?