Selenium Concepts: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
* [[Selenium#Subjects|Selenium]] | * [[Selenium#Subjects|Selenium]] | ||
=Overview= | |||
Selenium is a set of tools that can be used to automate testing of UI web applications running in browsers. Modern browsers expose [[#Browser_Automation_APIs|browser automation APIs]] that can be used to control the browser and run tests, and the Selenium tools operate on those APIs. | |||
=Web Browser= | |||
==Browser Automation APIs== | |||
Modern browsers expose browser automation APIs that allow <font color=darkgray>What?</font>. | |||
=WebDriver= | |||
==WebDriver APIs== | |||
=TO REFACTOR= | =TO REFACTOR= |
Revision as of 18:31, 28 May 2021
Internal
Overview
Selenium is a set of tools that can be used to automate testing of UI web applications running in browsers. Modern browsers expose browser automation APIs that can be used to control the browser and run tests, and the Selenium tools operate on those APIs.
Web Browser
Browser Automation APIs
Modern browsers expose browser automation APIs that allow What?.
WebDriver
WebDriver APIs
TO REFACTOR
Selenium Architecture
Selenium has a client-server architecture, and includes both client and server components.
Client
The Selenium client exposes the WebDriver API, which can be used to interact with the page. The client extends RemoteWebDriver, which communicates with the remote Selenium server. There are browser-specific constructors for the WebDriver (ChromeDriver, FirefoxDriver). There is still confusion on whether the client loads and uses a local driver or connects remotely to a server.
Server
The Selenium server receives request from the Selenium client's RemoteWebDriver. It also includes WebDriver API to run tests against web browsers on the server machine.
WebDriver driver = new ChromeDriver();
driver.get("http://example.com");