Written by , Updated on February 21, 2020

This tutorial will help you to set up Selenium with ChromeDriver on Fedora systems. This tutorial also includes an example of a Java program that uses the Selenium standalone server and ChromeDriver and runs a sample test case.

Prerequisites

Execute the following commands to install the 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.

dnf install unzip wget java-11-openjdk java-11-openjdk-devel

Step 1 – Install Google Chrome

Now install Latest Google chrome package on your system using the below list commands. 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 2 – Install ChromeDriver

You are also required to set up ChromeDriver on your system. 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 3 – 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 jar file on your system.

wget http://www.java2s.com/Code/JarDownload/testng/testng-6.8.7.jar.zip
unzip testng-6.8.7.jar.zip

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 4 – Testing with Sample Java Application

This is an optional step. It describes running a single test case using the 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 defined string presents on the webpage or not.

Create a Java program by editing a file in text editor.

vim TecAdminSeleniumTest.java

Add the below content to file.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

import java.io.IOException;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeOptions;

import org.openqa.selenium.chrome.ChromeDriver;

import org.testng.annotations.Test;

public class TecAdminSeleniumTest {

        public static void main(String[] args) throws IOException, InterruptedException {

                System.setProperty(“webdriver.chrome.driver”, “https://tecadmin.net/usr/bin/chromedriver”);

                ChromeOptions chromeOptions = new ChromeOptions();

                chromeOptions.addArguments(“–headless”);

                chromeOptions.addArguments(“–no-sandbox”);

                WebDriver driver = new ChromeDriver(chromeOptions);

                driver.get(“https://google.com”);

                Thread.sleep(1000);

                if (driver.getPageSource().contains(“I’m Feeling Lucky”)) {

                        System.out.println(“Pass”);

                } else {

                        System.out.println(“Fail”);

                }

                driver.quit();

        }

}

You can change the URL “https://google.com” with any other URL of your choice, Then also change the search string like “I’m Feeling Lucky” used in the above Java program. Save your java program and execute it. First, you need to set the Java CLASSPATH environment variable including the selenium-server-standalone.jar and testng-6.8.7.jar. Then compile the java program and run it.

export CLASSPATH=".:selenium-server-standalone.jar:testng-6.8.7.jar"
javac TecAdminSeleniumTest.java

Then run

java TecAdminSeleniumTest

Starting ChromeDriver 2.41.578700 (2f1ed5f9343c13f73144538f15c00b370eda6706) on port 10968
Only local connections are allowed.
Feb 01, 2020 10:51:40 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Pass

You will see results like below. If the defined search string found, You will get the message “Pass” and if string not found on the webpage, you will get the “Fail” message on the screen.

How to Setup Selenium with Chrome Driver on Fedora Automation chromedriver selenium testing

Conclusion

You have successfully configured Selenium with ChromeDrive on your Fedora system. Now you can automate your test cases and run periodically. I hope this tutorial contributes a little help to you for the automation testing. Please do not forget to share this tutorial.