This document provides an overview of Selenium, including:
- A brief history of how automated functional tests have evolved over time at the company from having no tests to utilizing Selenium.
- An explanation of the current Selenium architecture used by the company's tests, including how tests are now broken up per application to follow the way the continuous integration server was designed.
- Details on how parallelism was implemented in the tests to address execution time issues as the test suite grew, including the use of a dictionary to ensure unique test names.
- How SQL was incorporated to speed up tests by mocking data setup directly in the database rather than through the UI to reduce lengthy wizard and group creation times.