Показать Телефон

Opensource: Ferrum — Ruby-драйвер для Chrome

Если вы хотите запустить интеграционные тесты на своем сайте, у вас есть три варианта: Poltergeist, Selenium и новое секретное оружие — Ferrum.

Ferrum — это разработанный в Evrone Ruby-гем, который управляет Chrome через WebSocket с использованием протокола Chrome DevTools и предоставляет вам высокоуровневый API к нему.

В Evrone, на ряду с собственными open-source разработками, мы также поддерживаем другие open-source инициативы, в том числе предлагая наши услуги по дизайну и айдентике для перспективных и уникальных проектов, таких как Ferrum.

Встречайте CDP.

CDP расшифровывается как «Chrome DevTools Protocol». Это не что-то новое, вы, вероятно, видели Web Inspector в Chrome: CDP - это то, что приводит его в действие.

Сам CDP — довольно простой протокол, основанный на JSONRPC. API разделен на несколько доменов, ориентированных на различные аспекты Chrome: основное приложение браузера находится в домене браузера, конкретная страница обрабатывается доменом страницы, вы можете взаимодействовать с деревом DOM с помощью методов в домене DOM и так далее. Существует довольно много разных доменов, каждый из которых имеет свой собственный набор методов, которые вы можете вызывать.

Ferrum — секретное оружие для Chrome.

Теперь, когда мы познакомились с CDP, давайте перейдем к Ferrum. Ferrum — это Ruby gem, который контролирует Chrome через WebSocket с использованием протокола Chrome DevTools и предоставляет высокоуровневый API к нему.

И это все! Использовать Ferrum действительно проще простого.

То, что его легко использовать, не значит, что он не способен на многое: существует уже множество CDP-функций, помимо базовой навигации, поиска и скриншотов. Вы можете перехватывать сетевой трафик, подменять реальные ответы «заглушками», управлять аутентификацией и изменять файлы cookie, заголовки и сценарии. Вы даже можете отправлять события мыши и клавиатуры, которые неотличимы от реальных!

(Единственное, что Ferrum не может сделать, это ввести CAPTCHA за вас... пока что).

Ссылка на репозиторий на Github.
Узнать больше о наших open-source инициативах.

Читайте на сайте в русской или английской версии:

https://evrone.com/ferrum-ruby-chrome-driver