Writing Tests using Selenium Python

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 give in code itself.

Code –

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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")
  
        # recieve 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()

chevron_right


Output –
write-tests-using-pytohn-selenium




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.