Run selenium on linux

Установка Selenium в Linux

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

Читайте также:  Linux display system information

Для Chrome 76 нужно использовать такую же версию драйвера.

На данный момент самая свежая — это ChromeDriver 76.0.3809.68:

Далее распакуйте полученный архив и переместите драйвер в папку /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/local/bin/geckodriver

Далее можно переходить к установке Selenium в Linux.

3. Установка Selenium

Платформа selenium представляет из себя обычную java программу, которую можно скачать на официальном сайте.

На момент написания статьи самая последняя версия программы 3.141.59:

Далее загруженную программу можно запустить с помощью 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

4. Настройка Selenium и systemd в графике

Далее надо разрешить этому пользователю подключаться к дисплейному серверу:

Теперь напишем такой systemd юнит:

sudo vi /etc/systemd/system/selenium.service

[Unit]
Description=Selenium Standalone Server
After=multi-user.target
[Service]
Type=simple
WorkingDirectory=/tmp/
Environment=DISPLAY=:0
ExecStart=/usr/bin/java -jar /usr/local/bin/selenium-server-standalone-3.141.59.jar
WantedBy=multi-user.target
KillMode=process
User=selenium
[Install]
WantedBy=multi-user.target

Теперь выполните такие команды для добавления сервиса в автозагрузку и запуска:

sudo systemctl —system daemon-reload
sudo systemctl enable selenium
sudo systemctl start selenium

5. Настройка Selenium и systemd в xvfb

Если вы захотите запускать Selenium на сервере без графического интерфейса, то вам понадобится виртуальный фреймбуфер xvfb. Для этого сначала установите эту утилиту:

Далее создадим файл сервиса для запуска xvfb:

sudo vi /etc/systemd/system/xvfb.service

[Unit]
Description=X virtual framebuffer
[Service]
Type=simple
User=root
ExecStart=/usr/bin/Xvfb :99 -ac
[Install]
WantedBy=multi-user.target

Затем делаем файл сервиса для Selenium:

sudo vi /etc/systemd/system/selenium.service

[Unit]
Description=Selenium Standalone Server
Requires=xvfb.service
After=xvfb.service
[Service]
Type=simple
User=selenium
WorkingDirectory=/tmp/
Environment=DISPLAY=:99
ExecStart=/usr/bin/java -jar /usr/local/bin/selenium-server-standalone-3.141.59.jar
[Install]
WantedBy=multi-user.target

Читайте также:  Linux and mtp device

Затем, как и в предыдущем случае, нам остается выполнить несколько команд systemd, чтобы перечитать конфигурационные файлы с диска:

sudo systemctl —system daemon-reload
sudo systemctl start xvfb
sudo systemctl start selenium

6. Настройка Selenium и PHP

За время развития Selenium для него было написано множество библиотек для разных языков. Дальше мы рассмотрим как использовать эту программу вместе с PHP. Благодаря стараниям Facebook это возможно. Только необходимо установить пакет facebook/webdriver с помощью composer:

composer require facebook/webdriver

Далее вы можете использовать эту библиотеку в своих скриптах:

require (‘./vendor/autoload.php’);
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Remote\DriverCommand;
use Facebook\WebDriver\WebDriverExpectedCondition;
use Facebook\WebDriver\WebDriverBy;
$host = ‘http://localhost:4444/wd/hub’;
$desiredCapabilities = DesiredCapabilities::chrome();
$driver = RemoteWebDriver::create($host, $desiredCapabilities);
$driver->get(«https://google.com»);

Готово. Теперь осталось выполнить скрипт и если все было сделано правильно, перед вами откроется браузер.

Выводы

В этой статье мы рассмотрели как установить Selenium в Ubuntu 18.04. С установкой программы надо поиграться, но возможности по автоматизации тестированию, которые она предоставляет однозначно того стоят.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

How to Setup Selenium with Firefox on Ubuntu

To make Firefox work with Python selenium, you need to install the geckodriver. The geckodriver driver will start the real firefox browser and supports Javascript. Take a look at the selenium firefox code. First import the webdriver, then make it start firefox.

How do I run Selenium on Ubuntu?

  1. Step 1 – Prerequisites. Execute the following commands to install the required packages on your system. .
  2. Step 3 – Install ChromeDriver. .
  3. Step 4 – Download Required Jar Files. .
  4. Step 5 – Start Chrome via Selenium Server. .
  5. Step 6 – Sample Java Program (Optional)

How do I initialize Firefox browser in selenium?

  1. System. setProperty(«webdriver. gecko. driver»,»D:\\GeckoDriver\\geckodriver.exe» );
  2. DesiredCapabilities capabilities = DesiredCapabilities. firefox();
  3. capabilities. setCapability(«marionette»,true);
  4. WebDriver driver= new FirefoxDriver(capabilities);

How do I install Firefox drivers on Ubuntu?

  1. Install the official Firefox Beta PPA $ sudo apt-add-repository ppa:mozillateam/firefox-next.
  2. Run apt-get update $ sudo apt-get update.
  3. Install firefox and xvfb (the X windows virtual framebuffer) packages $ sudo apt-get install firefox xvfb.

Which version of Firefox is compatible with selenium?

Consumer browsers

Browser Maintainer Versions Supported
Chrome Chromium All versions
Firefox Mozilla 54 and newer
Edge Microsoft 84 and newer
Internet Explorer Selenium 6 and newer

How do I run Selenium on Linux?

  1. Inside /home/$user – create a new directory “ChromeDriver”
  2. Unzip the downloaded chromedriver into this folder.
  3. Using chmod +x filename or chmod 777 filename make the file executable.
  4. Go to the folder using cd command.
  5. Execute the chrome driver with ./chromedriver command.
Читайте также:  Hardlink and softlink in linux

How can I tell if selenium is installed on Linux?

You can also run locate selenium in the terminal, and you can see the version number in the file names. Show activity on this post.

Does selenium work on Linux?

Luckily, you can configure Selenium to run the Chrome web browser in headless mode. . So, Selenium can do web automation, web scrapping, browser tests, etc. using the Chrome web browser in Linux servers where you don’t have any graphical desktop environment installed.

How do I run selenium on a server?

  1. Open your favorite terminal and navigate to your project folder.
  2. Run the following: java -Dwebdriver. chrome. driver=chromedriver.exe -jar selenium-server-standalone-*versionNumber*. jar . .
  3. You should see something like: Selenium Server is up and running on port 4444.

How do I login to my website using selenium?

  1. Create a Selenium WebDriver instance.
  2. Configure browser if required.
  3. Navigate to the required web page and locate the relevant web element.
  4. Perform action on the web element.
  5. Verify and validate the action.

Which driver is used for Firefox automation?

Marionette is an automation driver for Mozilla’s Gecko engine. It can remotely control either the UI or the internal JavaScript of a Gecko platform, such as Firefox.

How do I write a script in selenium?

  1. To create your first Selenium WebDriver script, first, open your Eclipse IDE.
  2. Create a Java Project. .
  3. Create a Package. .
  4. Now create a Java class. .
  5. Now we will create an object of a class FirefoxDriver by taking WebDriver reference.

How to kill a process on Linux

Process

How do you kill a process in Linux?How do you kill a process in Unix?How do you kill a process?How do I start a process in Linux?How do I list all pro.

Find Large Files in Linux

File

The procedure to find largest files including directories in Linux is as follows:Open the terminal application.Login as root user using the sudo -i co.

How to Install vsFTPd with TLS on CentOS/RHEL 7/6

Vsftpd

How to Install vsFTPd with TLS on CentOS/RHEL 7/6 & Fedora 30-25Step 1 – Install VsFTPd. The vsftpd server packages are available under CentOS/RHE.

Latest news, practical advice, detailed reviews and guides. We have everything about the Linux operating system

Источник

Оцените статью
Adblock
detector