- 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)
- How to Setup Selenium with ChromeDriver on Debian Linux
- Step 1 – Prerequisites
- Step 2 – Install Google Chrome
- Step 3 – Install ChromeDriver
- Step 4 – Download Required Jar Files
- Step 5 – Start Chrome via Selenium Server
- Step 6 – Sample Java Program (Optional)
- Saved searches
- Use saved searches to filter your results more quickly
- sajnikanth/selenium_server
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
- Установка Selenium на Ubuntu 20.04
- 3. Настройка Selenium и Systemd в графике
- 4. Настройка Selenium и Systemd в XVFB
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.
sudo apt-get update sudo apt-get install -y unzip xvfb libxi6 libgconf-2-4
Also, install Java on your system. Use the below command to install the latest available java version.
sudo apt-get install default-jdk
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.
sudo apt-get -y install firefox
Also, download the geckodriver for the firefox.
wget https://github.com/mozilla/geckodriver/releases/download/v0.25.0/geckodriver-v0.25.0-linux64.tar.gz tar xzf geckodriver-v0.25.0-linux64.tar.gz sudo mv geckodriver /usr/bin/geckodriver
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.
mkdir ~/selenium && cd ~/selenium wget https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar
Also download the testng-6.5.1.jar file to your system.
wget http://www.java2s.com/Code/JarDownload/testng/testng-6.5.1.jar.zip unzip testng-6.5.1.jar.zip
Step 4 – Start Selenium Server
Your server setup is ready. Start the standalone selenium server using Xvfb utility.
Run Selenium Server
DISPLAY=:1 xvfb-run java -jar ~/selenium/selenium-server-standalone-3.13.0.jar
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.
vim TecAdminSeleniumTest.java
Add the below content to file.
How to Setup Selenium with ChromeDriver on Debian Linux
This tutorial will help you to set up Selenium with ChromeDriver on Debian 9 and Debian 8. This tutorial also includes an example of a Java program that uses Selenium standalone server and ChromeDriver and runs a sample test case.
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 services.
Step 1 – Prerequisites
Login to your Debian system as sudo privileged user and execute the following commands to install the required packages on your system.
sudo apt-get update sudo apt-get install -y curl unzip xvfb libxi6 libgconf-2-4
Also, install Java on your system. Use below command to install OpenJDK on your system, If you like install Oracle Java 8 on your Debian system.
sudo apt-get install default-jdk
Step 2 – Install Google Chrome
Now install Latest Google chrome on your Debian system using commands below. Google chrome headless feature opens multipe doors for the automation.
sudo curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - sudo echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list sudo apt-get -y update sudo apt-get -y install google-chrome-stable
Step 3 – Install ChromeDriver
ChromeDriver is a standalone server which implements WebDriver’s wire protocol for Chromium. The WebDriver is an open source tool for automated testing of web apps across multiple browsers.
wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip unzip chromedriver_linux64.zip
You can find the latest ChromeDriver on its official download page. Now execute below commands to configure ChromeDriver on your system.
sudo mv chromedriver /usr/bin/chromedriver sudo chown root:root /usr/bin/chromedriver sudo chmod +x /usr/bin/chromedriver
Step 4 – Download Required Jar Files
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.
wget https://selenium-release.storage.googleapis.com/3.13/selenium-server-standalone-3.13.0.jar
Also, download the testng-6.8.7.jar file to your system.
wget http://www.java2s.com/Code/JarDownload/testng/testng-6.8.7.jar.zip unzip testng-6.8.7.jar.zip
Step 5 – Start Chrome via Selenium Server
Your server setup is ready. Start the Chrome via standalone selenium server using Xvfb utility.
Run Chrome via Selenium Server
xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone.jar
Use -debug option at end of command to start server in debug mode.
You can also Start Headless ChromeDriver by typing the below command on terminal.
chromedriver --url-base=/wd/hub
Your Selenium server is now running with Chrome. Use this server to run your test cases written in Selenium using the Google Chrome web browser. The next step is an optional step and doesn’t depend on Step 5.
Step 6 – Sample Java Program (Optional)
This is an optional step. It describes running a single test case using Selenium standalone server and ChromeDriver. Let’s create a Java program using the Selenium server and Chrome Driver. This Java program will open a specified website URL and check if the defined string is present on the webpage or not.
Create a Java program by editing a file in text editor.
vim TecAdminSeleniumTest.java
Add the below content to the file.
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Setup a remote selenium server on ubuntu
sajnikanth/selenium_server
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
- Local Machine I prefer ubuntu so these instructions are to make it publicly (and somewhat safely) accessible from the internet
- Install OpenSSH Server
- Disable Password Authentication
- Add your public key
- Forward Port 22 on your router
- Sign up for a noip account
- Create a hostname
- Install Ubuntu client
- Setup client
- Note — you cannot test this from within LAN. You have to use local ip
- Security Group
- 4444 is required to serve selenium
cd && \ sudo apt-get update -y && \ sudo apt-get install openjdk-8-jre -y
cd && \ sudo yum update -y && \ sudo yum install java-1.8.0-openjdk -y
sudo apt-get install apache2 -y
sudo apt-get install xvfb -y
sudo yum install xorg-x11-server-Xvfb -y
mkdir selenium-server && cd selenium-server && \ wget "wget https://goo.gl/Lyo36k -O selenium-server-standalone.jar" && \ cd
sudo apt-get install firefox -y
Amzon Linux (Takes a while; comment out line 69 if required)
wget https://gist.githubusercontent.com/joekiller/4144838/raw/ffd5fabce7083eca65c61033ea90e51b4be6ba55/gtk-firefox.sh chmod +x gtk-firefox.sh sudo ./gtk-firefox.sh
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - && \ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' && \ sudo apt-get update -y && \ sudo apt-get install google-chrome-stable -y && \ wget http://chromedriver.storage.googleapis.com/2.19/chromedriver_linux32.zip && \ sudo apt-get install unzip -y && \ unzip chromedriver_linux*.zip && \ rm chromedriver_linux*.zip && \ sudo mv chromedriver /usr/local/bin
Launch Apache, XVFB and Selenium
sudo /etc/init.d/apache2 restart nohup Xvfb :0 -screen 0 1024x768x24 2>&1 >/dev/null & export DISPLAY=:0 nohup java -jar ~/selenium-server/selenium-server-standalone*.jar & > selenium.log &
sudo /sbin/service httpd restart rm nohup.out nohup Xvfb :1 -screen 0 1024x768x24 & >/dev/null # if you have issues, sudo rm /usr/local/lib/libpixman-1.so.0
curl "http://localhost:4444/wd/hub/status"
curl "http://sajnikanth.ddns.net:4444/wd/hub/status"
--holmium-remote=http://sajnikanth.ddns.net:4444/wd/hub/
About
Setup a remote selenium server on ubuntu
Установка Selenium на Ubuntu 20.04
Если вы хотите запускать программу на сервере, где не установлена графическая оболочка, то вам понадобится пакет xvfb, в котором реализован виртуальный фреймбуфер в памяти:
$ sudo apt install xvfb libxi6 libgconf-2-4 $ xvfb-run java -jar selenium-server-standalone-3.141.59.jar
Если вы не хотите запускать Selenium вручную, можно настроить автоматический запуск программы при старте системы. Сначала надо переместить Selenium в какую нибудь системную директорию, например, в /usr/local/bin :
$ sudo mv selenium-server-standalone-3.141.59.jar /usr/local/bin/
Создайте нового пользователя, от имени которого будет работать Selenium:
$ sudo useradd -d /tmp/ selenium
3. Настройка Selenium и Systemd в графике
Далее надо разрешить этому пользователю подключаться к дисплейному серверу и в автозагрузку. Может потребоваться команда
$ sudo apt install x11-xserver-utils
$ xhost +SI:localuser:selenium
$ xhost +SI:localuser:selenium
Сохранить и выйти(Esc -> :wq -> Enter).
Теперь напишем такой systemd юнит:
$ sudo vi /etc/systemd/system/selenium.service
[Unit] Description=Selenium 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
4. Настройка 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
Затем, как и в предыдущем случае, нам остается выполнить несколько команд systemd, чтобы перечитать конфигурационные файлы с диска:
$ sudo systemctl --system daemon-reload $ sudo systemctl start xvfb $ sudo systemctl start selenium