Chapter 6. Remote WebDriver
So far, the examples explained in this book use web browsers locally installed on the machine that executes the tests. This chapter covers another relevant feature of the Selenium WebDriver API, i.e., the ability to use remote browsers (i.e., installed in other hosts). First, we review the architecture that allows using remote browsers in Selenium WebDriver. Second, we study Selenium Grid, a networked infrastructure that provides remote browsers for Selenium WebDriver tests. Third, we analyze some of the most relevant cloud providers, i.e., companies that provide managed services for automated testing. Finally, we explore how to use Docker to support the browser infrastructure for Selenium.
Selenium WebDriver Architecture
As introduced in Chapter 1, Selenium WebDriver is a library that allows controlling web browsers programmatically. The automation is based on the native capabilities of each browser. Therefore, we need to place a binary file called a driver between the script (typically, a test) using the Selenium WebDriver API and the browser. The examples you have seen so far in this book use local browsers, i.e., browsers installed in the same machine that executes the test that uses the Selenium WebDriver API. Figure 6-1 illustrates this approach. In this case, and when using the Java language binding of the Selenium WebDriver API, we need to create an instance of ChromeDriver
to control Chrome, FirefoxDriver
for Firefox, etc.
Get Hands-On Selenium WebDriver with Java now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.