Selenium — это платформа для автоматического тестирования веб-приложений, которая позволяет не только тестировать программное обеспечение, но и создавать различные программы для автоматизации задач, выполняемых в браузере. Программа может работать с браузером так же, как и человек — двигать мышкой, кликать, листать страницы, находить элементы по классу, имени, css селектору или xpath, а также делать снимки веб-страницы.
Платформа работает на Java и для подключения к браузерам использует драйвера браузеров. Есть драйвер для Chrome, Firefox, Opera, IE. Также в рамках Chrome можно пользоваться эмулятором мобильных платформ. В этой статье мы рассмотрим как выполняется установка Selenium Linux на примере Ubuntu.
Установка Selenium в Linux
1. Установка Java
Поскольку для работы программы нужна Java, сначала вам придется её установить. Вы можете воспользоваться статьей установка java в linux чтобы найти как установить этот пакет программ в свою систему. В Ubuntu можно установить версию OpenJDK такой командой:
sudo apt install openjdk-8-jre
Я специально написал в заголовке linux, на не Ubuntu, или другой дистрибутив, потому, что установка в большинстве дистрибутивов практически не будет отличаться. Далее вам нужно установить браузер, скачать драйвера для нужных браузеров, а потом скачать исполняемый файл Selenium и всё.
2. Установка браузеров и драйверов
Поддержку IE в Linux, получить не получится, но мы можем работать с Chrome и Firefox. Для установки этих браузеров выполните:
sudo apt install firefox chromium-browser
Скачайте самую последнюю версию драйвера для Chrome из официальной страницы. Обратите внимание, что версия драйвера должна соответствовать версии вашего браузера. Версию Chrome можно узнать открыв chrome://settings/help
Для Chrome 76 нужно использовать такую же версию драйвера.
На данный момент самая свежая — это ChromeDriver 76.0.3809.68:
wget https://chromedriver.storage.googleapis.com/76.0.3809.68/chromedriver_linux64.zip
Далее распакуйте полученный архив и переместите драйвер в папку /usr/local/bin:
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/local/bin/chromedriver
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver
Теперь надо установить selenium webdriver для Firefox. Он называется GeckoDriver и скачать его можно на этой странице. Аналогично, надо распаковать полученный архив и переместить файл geckodriver в /usr/local/bin:
tar -xvzf geckodriver_linux64.tar.gz
sudo mv geckodriver /usr/local/bin/geckodriver
sudo chown root:root /usr/local/bin/geckodriver
sudo chmod +x /usr/bin/local/geckodriver
Далее можно переходить к установке Selenium в Linux.
3. Установка Selenium
Платформа selenium представляет из себя обычную java программу, которую можно скачать на официальном сайте.
На момент написания статьи самая последняя версия программы 3.141.59:
wget https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar
Далее загруженную программу можно запустить с помощью java машины и можно начинать тесты:
java -jar selenium-server-standalone-3.141.59.jar
Если вы хотите запускать программу на сервере, где не установлена графическая оболочка, то вам понадобится пакет xvfb, в котором реализован виртуальный фреймбуфер в памяти:
sudo apt install xvfb libxi6 libgconf-2-4
xvfb-run java -jar selenium-server-standalone-3.141.59.jar
Если вы не хотите запускать selenium вручную, можно настроить автоматический запуск программы при старте системы. Сначала надо переместить Selenium в какую нибудь системную директорию, например, в /usr/bin/local:
sudo mv selenium-server-standalone-3.141.59.jar /usr/local/bin/
Создайте нового пользователя, от имени которого будет работать Selenium:
sudo useradd -d /tmp/ selenium
Далее надо разрешить этому пользователю подключаться к дисплейному серверу:
xhost +SI:localuser:selenium
И в автозагрузку:
vi ~/.xinitrc
Теперь напишем такой systemd юнит:
sudo vi /etc/systemd/system/selenium.service
Теперь выполните такие команды для добавления сервиса в автозагрузку и запуска:
sudo systemctl --system daemon-reload
sudo systemctl enable selenium
sudo systemctl start selenium
4. Настройка Selenium и PHP
За время развития Selenium для него было написано множество библиотек для разных языков. Дальше мы рассмотрим как использовать эту программу вместе с PHP. Благодаря стараниям Facebook это возможно. Только необходимо установить пакет facebook/webdriver с помощью composer:
composer require facebook/webdriver
Далее вы можете использовать эту библиотеку в своих скриптах:
vi test-selenium.php
Готово. Теперь осталось выполнить скрипт и если все было сделано правильно, перед вами откроется браузер.
Дорогие читатели, если вы увидели ошибку или опечатку в статье «Установка Selenium в Linux», помогите нам ее исправить! Выделите ошибку и нажмите одновременно клавиши «Ctrl» и «Enter». Мы получим ваше сообщение и внесём исправления в ближайшее время.
Источник: winzen.ru