Skip to content
Related Articles

Related Articles

Writing Tests using Selenium Python
  • Last Updated : 11 Apr, 2020

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 –




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


Output –
write-tests-using-pytohn-selenium

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :