DEV Community

Kasi Visvanathan
Kasi Visvanathan

Posted on

SELENIUM ARCHITECTURE

PYTHON SELENIUM ARCHITECTURE DESCRIBES HOW A PYTHON AUTOMATION SCRIPT COMMUNICATE WITH WEB BROWSER AND PERFORM TESTING ACTIONS

BASIC ARCHITECTURE LOOK ALIKE
**
PYTHON TEST SCRIPT :**

             SELENIUM WEBDRIVER

                               BROWSER DRIVER

                                              WEB BROWSER

                                                       WEB APPLICATION
Enter fullscreen mode Exit fullscreen mode

FOR SELENIUM 3 THIS PROTOCOL

FOR SELENIUM 4 IT BASED ON W3C PROTOCOL

BASIC PYTHON SCRIPT EXAMPLE

                     `
Enter fullscreen mode Exit fullscreen mode

`python
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://Goole.com")
time.sleep(5)
driver.quit()
`
`

A PYTHON SCRIPT TELLS SELENIUM TO OPEN WEBSITE AND CLICK A BUTTON OR ENTER A TEXT USING WEB ELEMENTS

SELENIUM WEBDRIVER

                 WEBDRIVER IS THE MAIN INTERFACE BETWEEN PYTHON AND WEB BROWSER
Enter fullscreen mode Exit fullscreen mode

IT CAN RECEIVES COMMANDS FROM PYHTON SELENIUM CODE LIKE

1.get() → Open a URL

2.click() → Click an element

3.send_keys() → Enter text

4.find_element() → Find a web element

5.quit() → Close the browser

BROWSER DRIVER

              THE BROWSER DRIVER ACT AS A COMMUNICATION BRIDGE BETWEEN SELENIUM WEBDRIVER AND ACTUAL WEB BROWSER
Enter fullscreen mode Exit fullscreen mode

1.Chrome → ChromeDriver

2.Firefox → GeckoDriver

3.Microsoft Edge → EdgeDriver

WEB BROWSER

            THE BROWSER RECEIVES THE COMMAND FROM THE BROWSER DRIVER
Enter fullscreen mode Exit fullscreen mode

AND IMLEMENT THE ACTIONS SUCH AS

EXAMPLE

Python: "Click the Login button"

Selenium WebDriver: Sends the command to browser driver

Browser Driver: Communicates with (Chrome) actual browser

Chrome: Clicks the Login button

WEB APPLICATION

               THEN, THE BROWSER INTERACTS WITH THE WEB APPLICATION AN BEING TESTED
Enter fullscreen mode Exit fullscreen mode

THE AUTOMATION SCRIPT VERIFIES THE APPLICATION AS IT WORKS NORMALLY AND GIVES THE EXPECTED RESULT

SIGNIFICANCE OF PYTHON VIRTUAL ENVIRONMENT :

                                             A PYTHON VIRTUAL ENVIRONMENT IS AN ISOLATED ENVIRONMENT THAT ALLOWS US TO INSTALL PYTHON PACKAGES AND MAINTAIN TWO DIFFERENT PROJECTS SEPERATELY WITH THEIR REQUIRED ENVIRONMENT,  EACH PROJECT HAS IT'S OWN PACKAGES AND VERSIONS WITHOUT AFFECTING OTHER PYTHON PROJECTS.
Enter fullscreen mode Exit fullscreen mode

UPDATING PACKAGES FOR A SPECIFIC PROJECT IN A IDIVIDUAL ENVIRONMENT CANNOT OCCUR OTHER PROJECTS,

EXAMPLE:

THIS IS A PYTHON PROJECT AND THIS IS A SEPERATE ENVIRONMENT FOR PYTHON PROJECT DIFFERENT PACKAGES DIFFERNT PYTHON VERSIONS

THIS IS A PYTHON SELENIUM PROJECT IT HAS IT'S OWN REQUIRED SPECS FOR THE PROJECT

IN THIS BOTH PROJECTS NEVER COLLIDE WITH OTHER PROJECTS BECAUSE BOTH ARE ,IN DIFFERENT ENVIRONMENTS THIS IS WHAT PYTHON VIRTUAL ENVIRONMENT USAGE,
IT ALLOWS US TO MAINTAIN DIFFERENT PROJECTS WITH DIFFERENT REQUIREMENTS IN SAME IDE.

Top comments (0)