Automation • Selenium Testing • Selenium Tutorial •
Run Chrome & ChromeDriver in a container using Docker. Simply download the combined container, start it and point your code at the right address. Specify it in your Selenium setup code and check it into source control like any other configuration detail. If you go this route, you can include additional drivers like GeckoDriver (aka Firefox) as. Step 6: Once you click on the latest stable version, it will open the following page which gives us an option to select the ChromeDriver to download for different operating systems like Linux, Mac and Windows. Step 7: Download Selenium ChromeDriver for your operating system. For running tests on the Windows operating system, you can download. Repurposed nuget package of Selenium.WebDriver.ChromeDriver (packing process differs slightly) Install Chrome Driver(Win32) for Selenium WebDriver into your Unit Test Project. 'chromedriver.exe' is copied to bin folder from package folder when the build process. NuGet package restoring ready, and no need to commit 'chromedriver.exe' binary into source code control repository. Edit this Doc Chromedriver Appium supports automating Android web pages (in Chrome and the built-in Browser) and hybrid apps that are Chrome-backed, by managing a Chromedriver instance and proxying commands to it when necessary. It comes bundled with the latest version of Chromedriver, installed through the npm package appium-chromedriver (Github: appium-chromedriver). Resolved issue 3462: For sendKeys, CMD key don't work for MAC Resolved issue 3541: Improve log between Client and ChromeDriver Resolved issue 3559: Output Chrome version when ChromeDriver reports incompatible.
85046 Views 11 Min Read
According to netmarketshare, Google Chrome accounts for 67% of the browser market share. It is the choice of the majority of users and it’s popularity continues to rise. This is why, as an automation tester, it is important that you perform automated browser testing on Chrome browser.
In this article, I will show you how to use ChromeDriver to perform Selenium test automation. I’ll go into details about the ChromeDriver, starting from download, installation and to use it on Windows and Mac.
What Is ChromeDriver In Selenium?
To perform automated browser testing on Chrome browser, ChromeDriver class, a standalone executable, is used by Selenium WebDriver to create communication of our test script with the Chrome browsers. You can create a WebDriver object for Chrome like below:
System.setProperty('WebDriver.chrome.driver','path to ChromeDriverChromeDriver.exe');
So, let’s take a test scenario, login on LambdaTest platform using setProperty().
Steps for Test case:
- Open the chrome browser
- Navigate to the https://www.lambdatest.com/
- Click on the Login link from the home/landing page
- Identify email field and fill email id
- Identify password field and fill password in the field
- Click on the Login button
- Assert and verify page title, url after login
While writing the Selenium test automation script, I have stored ChromeDriver.exe in the project folder itself. I can directly access it with “user.dir” and do not require to provide some other path. You can refer to the following screenshots for the location of ChromeDriver.
It is not mandatory to store ChromeDriver.exe in the project folder, you can store it in another folder or directory as well. In that case, you will have to provide correct path for the ChromeDriver.exe
You can find the test script for our test scenario below:
Upon executing the test script, it will open the browser and navigate to the home/landing page of LambdaTest website as shown in the screenshot below. While executing the test script, we can see the message “Chrome is being controlled by the automated test software” which means our test script is working with ChromeDriver.
This section gets executed before the test execution starts. In this section of the code I have set the property and provided a ChromeDriver.exe file path and created an object to invoke the chrome browser. After that I maximize the browser window, then I invoked implicit wait and page load timeout which will avoid exceptions due to timeouts.
This section gets executed after the test execution is completed. After completion of the test, I closed the driver session.
In this section, I perform actual tests and assertion/verification of results. Script navigates to LambdaTest home/landing page and clicks on the Login link.
Upon reaching the login page, it will find the email field and enter the email id which we provide and also it will find the password field and enter password which we have provided in the script.
Once both are entered, it will click on the Login button.
After that user login successfully, it will assert the actual URL and title with the expected URL and title which we have provided.
If the credentials provided are valid, then the test will pass and we can see the results as below. If credentials are wrong, then it will fail as in assertion actual and expected will not match.
Following screenshots show the result of the execution of the above test script.
b) By adding path in Environment Variable
In the above part I showed the execution of the Selenium test automation script using ChromeDriver, by providing a path of ChromeDriver in the test script itself.
There is another way as well, where I can set the path of ChromeDriver.exe in the system environment variable itself so that i don’t need to set the path in selenium test automation script explicitly.
Let us see how you can set that path in the system environment variables.
- Copy the path of the folder in which ChromeDriver.exe. If the entire path for ChromeDriver is
Then we will consider folder path as
- Now open environment variables in Windows operating system, on Windows 10 search for ‘This PC’, right click on that and go to properties. And click on Advanced System Settings
- Click on Environment Variables and then go to System variables, select path and click edit (as shown in below screenshot)
- Click Edit and add path which we have copied in the first step and then save it by clicking ‘Ok’ and close all open windows with ok.
So I have saved the path for Selenium ChromeDriver in system variables, now we will execute our Selenium test automation script. But we will not require to set the property ChromeDriver path in the test script explicitly.
So we have made changes accordingly in the script.
Following screenshot shows the result after execution of the above test script as it shows that our Selenium test automation script is successfully passed using Selenium ChromeDriver.
How To Use Selenium ChromeDriver on Mac OS?
Now, we’ll perform test automation with Selenium ChromeDriver on Mac OS. After the zip file for Selenium ChromeDriver is downloaded, you can extract the application executable ChromeDriver file from it.
You can see the screenshot where downloaded and extracted executable ChromeDriver file from ChromeDriver zip file.
And I will store it in the eclipse project folder, so that I can use that in my selenium test automation script to invoke the chrome browser. How to download any movie mac.
Now we can see how we will use that to invoke chrome browser and perform the same actions as we did in earlier cases. /gamemaker-studio-14-download-mac/.
As we have stored ChromeDriver in the project folder, it helped us to use it from there directly while invoking the browser.
Here, we have to notice that we just have to provide only the name ChromeDriver and not with its extension. Once the browser gets invoked and navigates to the LambdaTest home/landing page. It can be seen in the following screenshot.
We can also see the message ‘Chrome is being controlled by automated test software’, which shows that session is being controlled by Selenium ChromeDriver.
Following screenshots shows the successful execution of Selenium test automation script along with TestNG result.
Selenium ChromeDriver Using Maven Dependencies
So, in a practical scenario, while working in an organisation, you use some kind of build automation tools for test automation projects. Maven is a widely used build automation tool, ChromeDriver can be used with Maven dependencies as well.
If you are not aware of maven please refer to our article on Selenium testing with Maven to start with.
While using maven, you need to change the approach. You no longer require to download ChromeDriver explicitly. In this case, you can just add a dependency for Automation testing with Selenium ChromeDriver in the pom.xml file.
And this dependency can be downloaded from the maven repository website https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver
Once you go to this website, click on the Selenium WebDriver version for which you want to download Selenium ChromeDriver dependency and then copy that dependency and paste it in the pom.xml file of your project.
Wrapping it Up
As Google Chrome’s popularity rises, so does the need to find automated browser testing of your web application on the Chrome browser. To perform Selenium test automation, you need a ChromeDriver to access the browser.
In this blog, we’ve explored how you can download ChromeDriver in Selenium and run test scripts both on Windows and Mac OS. One with, setting property explicitly in test script by providing ChromeDriver path and another one with setting system environment variable.
That’s all for now! I hope you are more wiser, when it comes to automation testing with Selenium ChromeDriver. Do share your views and opinions with us in the comment section below. Also, feel free to retweet this article and help us reach out to your peers. Happy Testing!!! ☺
Written by Praveen Mishra
Praveen is a Computer Science Engineer by degree, and a Digital Marketer by heart who works at LambdaTest. A social media maven, who is eager to learn & share about everything new & trendy in the tech domain.
5292 Views 8 Min Min Read
17746 Views 10 Min Min Read
23760 Views 10 Min Min Read
Upgrade Chromedriver Mac
61642 Views 10 Min Min Read