- Скачать geckodriver для Linux, Windows и Mac
- Установка geckodriver под Ubuntu, Windows и Mac
- Инструкция установки
- Для Windows
- Минусы такого подхода
- Установка geckodriver в Ubuntu, Debian и ArchLinux
- Установка geckodriver в Mac OS
- Установка geckodriver в Windows
- Установка Selenium в Linux
- Установка Selenium в Linux
- 1. Установка Java
- 2. Установка браузеров и драйверов
- 3. Установка Selenium
- 4. Настройка Selenium и systemd в графике
- 5. Настройка Selenium и systemd в xvfb
- 6. Настройка Selenium и PHP
- Выводы
- How to Setup Selenium with Firefox on Ubuntu
- Step 1 – Prerequisites
- Step 2 – Install Firefox with Driver
- Step 3 – Download Selenium Server Jar
- Step 4 – Start Selenium Server
- Step 5 – Sample Java Program (Optional)
- Installing browser drivers
- Adding Executables to your PATH
- Quick reference
- Chromium/Chrome
Firefox до 46 версии поставляется с поддержкой WebDriver. Geckodriver требуется для Firefox выше 47+ версии. Нужно установить geckodriver отдельно от браузера.
Скачать geckodriver для Linux, Windows и Mac
Зайдите на github страницу с релизами чтобы выбрать нужный вам файл для скачивания в зависимости от вашей операционной системы и версии браузера Firefox.
На текущий момент, актуальная версия geckodriver является v0.26.0.
Установка geckodriver под Ubuntu, Windows и Mac
Ниже мы приводим примеры более «правильной» установки драйвера, но есть и более быстрый способ. Примените данный метод в двух случаях.
- Вам нужны разные версии geckodriver.
- У вас не получилось ничего из того, что мы предлагаем ниже под каждую операционную систему.
Инструкция установки
- Заходим на сайт https://github.com/mozilla/geckodriver/releases/
- Скачиваем архив под вашу операционную систему
- Распаковываем файл и запоминаем где находится файл geckodriver или geckodriver.exe (Windows)
Если у вас Linux дистрибутив или Mac, вам нужно дать файлу geckodriver нужные права на выполнения. Открываем терминал и вводим команды одна за другой.
Теперь, когда вы будете запускать код в Python, вы должны указать Selenium на этот файл.
Для Windows
Минусы такого подхода
- Нужно помнить где у вас лежит geckodriver;
- Нужно не забывать указывать в конструктор класса webdriver.Firefox путь к драйверу.
Установка geckodriver в Ubuntu, Debian и ArchLinux
Выбираем (в зависимости от архитектуры процессора x32 или x64) нужный tar архив. В моем случае будет файл geckodriver-v0.26.0-linux64.tar.gz у меня Ubuntu 18.04.3 LTS.
Вытаскиваем файл из архива.
Даем нужные права драйверу.
Отправляем драйвер в папку где его будет искать Selenium.
Установка geckodriver в Mac OS
Пожалуй, самая простая установка в Mac. Выполняем в терминале:
Проблема такого подхода в том, что может быть старая версия. Для новой версии смотрите на страницу github с релизами и скачиваем архив geckodriver-v0.26.0-macos.tar.gz.
Заходим через терминал в папку где будет лежать архив и сам драйвер.
Даем драйверу права на выполнения.
/.bashrc» с помощью VIM или NANO.
Добавляем в конец файла следующие строки. ВНИМАНИЕ! Заменяем «/your/path/» указывая реальный путь к geckodriver файлу.
Возможно вы не поймете как выйти из VIM. Такое бывает.
- Нажимаем клавишу ESC
- Вводим символы :wq
- Enter
Теперь у вас будет последняя версия geckodriver на вашем новеньком маке.
Установка geckodriver в Windows
Windows пользователи возможно не слышали о таким виде архивов как tar.gz это нормально. Скачиваем и устанавливаем программу 7-Zip.
Программа для распаковки tar.gz в Windows: http://www.7-zip.org/
Полная инструкция по установки geckodriver в Windows показана в видео. Смотрим с 40 секунды и повторяем. Помните что не нужно скачивать именно ту версию, что указана в видео. По указанной ссылке с github последняя версия 0.19.1 когда в самом видео 12-я версия. Скачивайте самую новую версию, возможно когда вы сейчас читаете эту статью уже вышла новая версия — скачиваем её.
Скрипт теста ниже откроет веб-сайт в новом окне Firefox.
Источник
Установка 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
Для 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. Для этого сначала установите эту утилиту:
sudo apt install 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
Затем, как и в предыдущем случае, нам остается выполнить несколько команд 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
Далее вы можете использовать эту библиотеку в своих скриптах:
Готово. Теперь осталось выполнить скрипт и если все было сделано правильно, перед вами откроется браузер.
Выводы
В этой статье мы рассмотрели как установить Selenium в Ubuntu 18.04. С установкой программы надо поиграться, но возможности по автоматизации тестированию, которые она предоставляет однозначно того стоят.
Источник
How to Setup Selenium with Firefox on Ubuntu
Selenium is an automated web testing framework. Using this we can automate the browser functioning for testing any web application. Using selenium you can run predefined code to navigate between multiple pages and test application with predefined rules. This tutorial will help you to setup Selenium with Firefox on Ubuntu, Debian and LinuxMint systems.
Step 1 – Prerequisites
Execute the following commands to install required packages on your system. Here Xvfb (X virtual framebuffer) is an in-memory display server for a UNIX-like operating system (e.g., Linux). It implements the X11 display server protocol without any display. This is helpful for CLI applications like CI service.
Also, install Java on your system. Use the below command to install the latest available java version.
Step 2 – Install Firefox with Driver
Firefox is available under default apt repositories. You can simply install it by running the following command from the command prompt.
Also, download the geckodriver for the firefox.
Step 3 – Download Selenium Server Jar
The Selenium Server is required to run Remote Selenium WebDrivers. You need to download the Selenium standalone server jar file using the below commands or visit here to find the latest version of Jar file.
Also download the testng-6.5.1.jar file to your system.
Step 4 – Start Selenium Server
Your server setup is ready. Start the standalone selenium server using Xvfb utility.
Run Selenium Server
Your Selenium server is now running with firefox. Use this server to run your test cases written in Selenium using the Firefox web browser.
Step 5 – Sample Java Program (Optional)
This is an optional step. It describes running a single test case using Selenium standalone server and FirefoxDriver. This Java program will open a specified website URL and check if defined string presents on the webpage or not.
Create a Java program by editing a file in a text editor.
Источник
Installing browser drivers
Through WebDriver, Selenium supports all major browsers on the market such as Chrom(ium), Firefox, Internet Explorer, Opera, and Safari. Where possible, WebDriver drives the browser using the browser’s built-in support for automation, although not all browsers have official support for remote control.
WebDriver’s aim is to emulate a real user’s interaction with the browser as closely as possible. This is possible at varying levels in different browsers.
Even though all the drivers share a single user-facing interface for controlling the browser, they have slightly different ways of setting up browser sessions. Since many of the driver implementations are provided by third parties, they are not included in the standard Selenium distribution.
Driver instantiation, profile management, and various browser specific settings are examples of parameters that have different requirements depending on the browser. This section explains the basic requirements for getting you started with the different browsers.
Adding Executables to your PATH
Most drivers require an extra executable for Selenium to communicate with the browser. You can manually specify where the executable lives before starting WebDriver, but this can make your tests less portable as the executables will need to be in the same place on every machine, or include the executable within your test code repository.
By adding a folder containing WebDriver’s binaries to your system’s path, Selenium will be able to locate the additional binaries without requiring your test code to locate the exact location of the driver.
- Create a directory to place the executables in, like C:\WebDriver\bin or /opt/WebDriver/bin
- Add the directory to your PATH:
- On Windows — Open a command prompt as administrator and run the following command to permanently add the directory to your path for all users on your machine:
- Bash users on macOS and Linux — In a terminal:
You are now ready to test your changes. Close all open command prompts and open a new one. Type out the name of one of the binaries in the folder you created in the previous step, e.g.:
If your PATH is configured correctly, you will see some output relating to the startup of the driver:
You can regain control of your command prompt by pressing Ctrl+C
Quick reference
Browser | Supported OS | Maintained by | Download | Issue Tracker |
---|---|---|---|---|
Chromium/Chrome | Windows/macOS/Linux | Downloads | Issues | |
Firefox | Windows/macOS/Linux | Mozilla | Downloads | Issues |
Edge | Windows 10 | Microsoft | Downloads | Issues |
Internet Explorer | Windows | Selenium Project | Downloads | Issues |
Safari | macOS El Capitan and newer | Apple | Built in | Issues |
Opera | Windows/macOS/Linux | Opera | Downloads | Issues |
Chromium/Chrome
To drive Chrome or Chromium, you have to download chromedriver and put it in a folder that is on your system’s path.
On Linux or macOS, this means modifying the PATH environmental variable. You can see what directories, separated by a colon, make up your system’s path by executing the following command:
To include chromedriver on the path, if it is not already, make sure you include the chromedriver binary’s parent directory. The following line will set the PATH environmental variable its current content, plus an additional path added after the colon:
When chromedriver is available on your path, you should be able to execute the chromedriver executable from any directory.
To instantiate a Chrome/Chromium session, you can do the following:
Источник