Безголовый браузер и выскабливание - решения
Я пытаюсь разместить список возможных решений для автоматических тестов браузеров и безголовых браузерных платформ, которые могут быть пересмотрены.
БРАУЗЕР ТЕСТ / СКРЕБИНГ:
- Selenium - флагман Polyglot в области автоматизации браузеров, привязки для Python, Ruby, JavaScript, C#, Haskell и других, IDE для Firefox (как расширение) для более быстрого развертывания тестов. Может выступать в качестве сервера и имеет множество функций.
JAVASCRIPT
- PhantomJS - JavaScript, автономное тестирование с захватом экрана и автоматизацией, использует Webkit. Начиная с версии 1.8 Selenium API WebDriver реализован, так что вы можете использовать любую привязку WebDriver и тесты будут совместимы с Selenium
- SlimerJS - аналогично PhantomJS, использует Gecko (Firefox) вместо WebKit
- CasperJS - JavaScript, основанный на PhantomJS и SlimerJS, имеет дополнительные функции
- Ghost Driver - реализация JavaScript для протокола WebDriver Wire для PhantomJS.
- новый PhantomCSS - регрессионное тестирование CSS. Модуль CasperJS для автоматизации визуального регрессионного тестирования с PhantomJS и Resemble.js.
- новый WebdriverCSS - плагин для http://webdriver.io/ для автоматизации визуального регрессионного тестирования
- Новый PhantomFlow - Опишите и визуализируйте пользовательские потоки через тесты. Экспериментальный подход к тестированию пользовательского веб-интерфейса.
- new trifleJS - переносит API PhantomJS для использования движка Internet Explorer.
- новый CasperJS IDE (коммерческий)
Node.js
- Node-phantom - устраняет разрыв между PhantomJS и node.js
- WebDriverJs - привязки Selenium WebDriver для node.js от Selenium Team
- WD.js - узел модуля для WebDriver / Selenium 2
- yiewd - Оболочка WD.js с использованием новейших генераторов Harmony! Избавьтесь от пирамиды обратного вызова с выходом
- ZombieJs - Безумно быстрое полное стек-тестирование без заголовка с использованием node.js
- NightwatchJs - решение для тестирования на базе JS Node с использованием Selenium Webdriver
- Химера - Химера: может делать все, что делает phantomJS, но в полной среде JS
- Dalek.js - Автоматическое кросс-браузерное тестирование с использованием JavaScript через Selenium Webdriver
- http://webdriver.io/ - лучшая реализация привязок WebDriver с предопределенными 50+ действиями
- Кошмар - Электронный мост с API высокого уровня.
- JSDOM - специально для веб-очистки. Очень легкий DOM, реализованный в Node.js, он поддерживает страницы с javascript.
WEB СКРЕПИНГ / ГОРНОЕ
- Scrapy - Python, главным образом, scraper / miner - быстрый, хорошо документированный и может быть связан с Django Dynamic Scraper для удобных развертываний майнинга или Scrapy Cloud для PaaS (без сервера), работает в терминале или автономном процессе сервера, можно использовать с сельдереем, построенным поверх Twisted
- Snailer - модуль node.js, еще не протестирован.
- Node-Crawler - модуль node.js, еще не протестирован.
ИНСТРУМЕНТЫ ОНЛАЙН
- новый HTTP-клиент онлайн - выделенный SO-ответ
- Dead CasperBox - запускать скрипты CasperJS онлайн
СВЯЗАННЫЕ ССЫЛКИ И РЕСУРСЫ
- Сравнение программного обеспечения Webscraping
- new Resemble.js: анализ и сравнение изображений
Вопросы:
- Любое чистое решение Node.js или модуль Nodejs для PhanthomJS/CasperJS, который действительно работает и задокументирован?
Ответ: Химера, кажется, идет в этом направлении, касса Химера
Другие решения, способные легче внедрить JavaScript, чем Selenium?
Вы знаете какие-нибудь чистые рубиновые решения?
Ответ: Проверьте список, созданный rjk с решениями на основе ruby
- Знаете ли вы какие-либо связанные технологии или решения?
Не стесняйтесь редактировать этот вопрос и добавлять контент по своему усмотрению! Спасибо за ваш вклад!
3 ответа
Если вам нравится Ruby, вы также можете попробовать:
- https://github.com/chriskite/anemone (разработчик остановлен)
- https://github.com/sparklemotion/mechanize
- https://github.com/postmodern/spidr
- https://github.com/stewartmckee/cobweb
- http://watirwebdriver.com/ (Селен)
Также камень Nokogiri можно использовать для соскоба:
Существует отдельная книга о том, как использовать nokogiri для очистки путем публикации Packt
Разновидностью основанного на JS Selenium является Dalek.js. Он предназначен не только для автоматизированных тестов фронтэнда, но и с его помощью можно делать скриншоты. Он имеет веб-драйверы для всех важных браузеров. К сожалению, эти веб-драйверы, кажется, стоят того, чтобы их улучшить (просто не сказать "глючит" для Firefox).