User interface testing
In order to test the high level of our application's code, and to create system tests, we will write tests that work with browsers and verify that the UI code is functioning properly. Using a tool called Selenium, we will create Python code that hooks into a browser and controls it purely from code. You find elements on the screen and then perform actions on those elements by having Selenium. Click on it or input keystrokes. Also, Selenium allows you to perform checks on the page content by giving you access to the elements' content, such as its attributes and its inner text. For more advanced checks, Selenium even gives an interface to run arbitrary JavaScript on the page. If the JavaScript returns a value, it is automatically converted into a Python type.
Before we touch the code, Selenium needs to be installed:
$ pip install selenium
To begin with the code, our UI tests need a file of their own in the tests directory named test_ui.py
. Because system tests...