ФантомJS
Оригинальный автор(ы) | Ария Хидаят |
---|---|
Разработчик(и) | Ария Хидаят |
Первоначальный выпуск | 17 января 2011 г |
Финальный выпуск | 2.1.1 [1]
/ 24 января 2016 г |
Репозиторий | |
Написано в | С++ , JavaScript , С |
Тип | Безголовый браузер |
Лицензия | БСД [2] |
Веб-сайт | фантомы |
PhantomJS — это устаревший браузер, который используется для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет API JavaScript, обеспечивающий автоматическую навигацию, снимки экрана, поведение пользователя и утверждения, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его средой просмотра, аналогичной Safari и Google Chrome (до того, как ветвь Chrome WebKit превратился в Blink ). Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD . [2]
История
[ редактировать ]PhantomJS был выпущен 23 января 2011 года Арией Хидаят после нескольких лет разработки. [3]
Первое участие в публичном проекте было в 2011 году. [4]
Логотип, обычно используемый для графического обозначения PhantomJS, представляет собой флуоресцентный синий призрак на черном фоне. Это относится к отсутствию графического пользовательского интерфейса или основной части браузера, из-за чего пользователи PhantomJS кажутся призраками.
В марте 2018 года разработка PhantomJS была приостановлена из-за отсутствия активных участников. [5]
Использование
[ редактировать ]API JavaScript PhantomJS можно использовать для открытия веб-страниц, создания снимков экрана, выполнения действий пользователя и запуска внедренного JavaScript в контексте страницы. Например, следующий код откроет Википедию, после загрузки сохранит снимок экрана в файл и выйдет.
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://en.wikipedia.org/';
page.open(url, function (status) {
console.log('Page loaded');
page.render('wikipedia.org.png');
phantom.exit();
});
Экосистема
[ редактировать ]PhantomJS стал настолько ценным, что аналогичные проекты приняли API в качестве стандартного способа взаимодействия с автономными браузерами. SlimerJS предоставил API, подобный PhantomJS, но поверх Mozilla, от браузерного движка Gecko а не WebKit. [6] Аналогично, trifleJS нацелен на MSHTML движок Internet Explorer . [7]
Вскоре после выпуска PhantomJS Николя Перрио написал CasperJS — набор библиотек поверх PhantomJS, которые расширяют его возможности в качестве клиента для автоматического тестирования веб-страниц, позволяя пользователям создавать BDD -тесты с использованием PhantomJS. Последний выпуск CasperJS состоялся в 2017 году. [8]
Yahoo! разработал версию YSlow , которая использует PhantomJS для сбора показателей производительности веб-сайтов. [9]
Пользователи
[ редактировать ]Несколько известных компаний использовали PhantomJS.
- Twitter использовал QUnit и PhantomJS для модульного тестирования. С 2015 года [10]
- LinkedIn использовал инструменты на базе PhantomJS для тестирования производительности с 2011 года. [11]
- Netflix использовал Sketchy, автономный браузер, созданный на основе PhantomJS, чтобы понять, что он делает, без необходимости посещать сайт с 2014 года. [12]
- Time Warner Cable использовала PhantomJS с CoffeeScript , Jasmine и JUnit XML для непрерывной интеграции Jenkins . С 2012 года [13]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Релизы · ariya/phantomjs» . Гитхаб . Проверено 21 апреля 2017 г.
- ^ Перейти обратно: а б «phantomjs/LICENSE.BSD в мастере · ariya/phantomjs» . Гитхаб .
- ^ «Не пиши сегодня то, что не сможешь отладить завтра» . ariya.blogspot.com . 23 января 2011 года . Проверено 20 июля 2015 г.
- ^ «ария/фантомджс» . Гитхаб . Проверено 20 июля 2015 г.
- ^ «Архивирование проекта: приостановка разработки» . ария/фантомджс . Гитхаб. 03.03.2018.
- ^ Лоран Жуанно. «Часто задаваемые вопросы — SlimerJS» . slimerjs.org . Проверено 20 июля 2015 г.
- ^ "трифлJS" . Проверено 20 июля 2015 г.
- ^ «CasperJS на GitHub» . Гитхаб . Проверено 11 апреля 2021 г.
- ^ Марсель Дюран. «YSlow — официальный веб-сайт проекта с открытым исходным кодом» . yslow.org . Проверено 20 июля 2015 г.
- ^ «Лео Ланезе в Твиттере» . Твиттер . Проверено 20 июля 2015 г.
- ^ Фегаро (11 октября 2011 г.). «LinkedIn Mobile: как нам это сделать?» . СлайдПоделиться . Проверено 20 июля 2015 г.
- ^ Майкл Мимосо (26 августа 2014 г.). «Инструменты безопасности Netflix с открытым исходным кодом решают ряд проблем» . Threatpost.com . Проверено 20 июля 2015 г.
- ^ «один год безголовых скитаний» . ofilabs.com . Архивировано из оригинала 22 июля 2015 года . Проверено 20 июля 2015 г.