This is a long pending post. I had done the installation months back, and then forgotten the steps. I needed to re-install to be able to write down the below steps, and was not getting the time. Now, finally, I have done an installation again, and this time I am noting down the steps.
The below method is very simple. Contrary to what most of the Google search results have you believe, it is not necessary to install easy_install or pip to install the selenium python bindings.
So, first I will just introduce you to Selenium WebDriver (part of Selenium 2). It is a library for automating your test cases across browsers, and it can be used from a variety of language bindings. I prefer Python because I love the language and its no-nonsense format. So, I will be installing the Python language bindings along with the Selenium Framework.
Now, let us go through the installation steps:
1. Install Python in your machine
– Go to http://python.org/download/
– Download the latest MSI installer for Python 2.7 (32-bit)
– Run the installer
2. Set your PATH
– Go to your system’s environment variables, and add ‘C:\Python27’ to your PATH
(this will enable you to invoke ‘python.exe’ from any command line)
3. Go to https://pypi.python.org/pypi/selenium and download the .tar.gz file (the Selenium Python Client Driver)
4. Extract files from the .tar.gz file
5. Go through the extracted files. You will find a selenium-2.xx.x.tar file in the dist folder. (x denotes version number in the file name)
Extract files from this .tar file. Verify that the extracted folder contains a setup.py file
6. Open the cmd Command prompt, and navigate to the location where setup.py is located (the folder from step 6):
>> cd <location of the setup.py file for selenium bindings>
7. Enter the following command into the command prompt:
>> python setup.py install
A “selenium” directory gets added in the C:\Python27\Lib folder.
Selenium is now installed in your machine with Python bindings.
The following code should work now:
#!/usr/bin/env python from selenium import webdriver browser = webdriver.Firefox() browser.get("https://amybughunter.wordpress.com/")
This should open a Firefox browser session and navigate to https://amybughunter.wordpress.com/
A very useful doc to understand the Selenium Webdriver API for python is http://selenium-python.readthedocs.org/en/latest/api.html. It has helped me a lot while creating test scripts.
Following is a simple functional test in Python, using Selenium WebDriver and the unittest framework:
#!/usr/bin/env python import unittest from selenium import webdriver class TestUdacityHomepage(unittest.TestCase): def setUp(self): self.browser = webdriver.Firefox() def testTitle(self): browser = self.browser browser.get('https://www.udacity.com/') title = browser.title self.assertIn('Udacity', title) def tearDown(self): self.browser.quit() if __name__ == '__main__': unittest.main()
Output should be:
>>> . ---------------------------------------------------------------------- Ran 1 test in 15.478s OK Exit code: False