Open In App

Writing Tests using Selenium Python

Improve
Improve
Like Article
Like
Save
Share
Report

Selenium’s Python Module is built to perform automated testing with Python. Selenium Python bindings provides a simple API to write functional/acceptance tests using Selenium WebDriver. Through Selenium Python API you can access all functionalities of Selenium WebDriver in an intuitive way. This article illustrates about how to use Selenium Python to write automated tests using Python Selenium.
If you have not installed Selenium and its components yet, install them from here – Selenium Python Introduction and Installation. The selenium package itself doesn’t provide a testing tool/framework. One can write test cases using Python’s unittest module. The other options for a tool/framework are py.test and nose.
 

How to write tests using Selenium in Python

We have used unittest framework of Python to write tests. Let’s test search functionality at Python.org using Python selenium tests. To know more about unittest, visit – unittest Documentation. Explanation for each line is given in code itself.
Code – 
 

Python3




# import all required frameworks
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
 
# inherit TestCase Class and create a new test class
class PythonOrgSearch(unittest.TestCase):
 
    # initialization of webdriver
    def setUp(self):
        self.driver = webdriver.Firefox()
 
    # Test case method. It should always start with test_
    def test_search_in_python_org(self):
         
        # get driver
        driver = self.driver
        # get python.org using selenium
        driver.get("http://www.python.org")
 
        # assertion to confirm if title has python keyword in it
        self.assertIn("Python", driver.title)
 
        # locate element using name
        elem = driver.find_element_by_name("q")
 
        # send data
        elem.send_keys("pycon")
 
        # receive data
        elem.send_keys(Keys.RETURN)
        assert "No results found." not in driver.page_source
 
    # cleanup method called after every test performed
    def tearDown(self):
        self.driver.close()
 
# execute the script
if __name__ == "__main__":
    unittest.main()


Output – 
 

write-tests-using-pytohn-selenium

 



Last Updated : 06 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads