...
The Selenium test environment will be set up independent from the project that is being tested and it will have its own GIT repository. The testing framework used is TestNG, and the Selenium tests will be built with Maven (ran with Maven SureFire). The properties file will be generated with Maven AntRun.
...
Maven SureFire
Maven AntRun
Framework Project Structure
- Each page in the website will be contained within its own package.
- Tests for each page can be separated into separate classes for better organization/structure. For example, if a page contains multiple views or different tabs within the page.
- In TestNG, test classes are ran in alphabetical order. (The unit tests within each class are ran in alphabetical order as well.)
- Architecture Example:
...
Note: Tests within a TestNG suite are made up of classes. Classes within a test are executed in alphabetical order while tests are executed in the order listed in the testng.xml file.
Logging
Logging will be done using log4testng. See Logger.java.
Using Selenium
The entire test suite will share one WebDriver. This is achieved by creating a base page class (e.g. BasePageTest.java) with a static WebDriver. All other test classes will extend the base page class.