This is the QA automation framework for the CancerGov Digital Communications Platform
brew install maven
To run the default test suite (all tests), execute the command
mvn test
Hostnames are specified in the config.properties
file, as environment.hostname.<NAME>
(where <NAME>
is
the human-friendly name of the environment.) Each environment.hostname
entry is a fully qualified hostname
(e.g. environment.hostname.prod=www.cancer.gov
).
The default runtime environment is specified as the value of the environment.active
property.
(e.g. environment.active=qa
)
The entire set of tests is executed by default.
To execute a specific test suite, execute the command
mvn test -Dsurefire.suiteXmlFiles=<testfile>
Where <testfile>
is the test suite file and path. e.g.
mvn test -Dsurefire.suiteXmlFiles=suites/cross-cutting.xml
Multiple test suites may be specified by separating them with commas.
Most configuration appears in configuration/config.properties
. Values in the configuration file may be overridden locally
via configuration/config.override.properties
(the override file is excluded from source control). Select configuration data
may be overridden via command line parameters. The order of precedence is:
config.override.properties
.config.properties
.configuration
- Main configuration filesresources/drivers
- Driver files for different browsers on differnt platforms.src
- The source code for this suite.
src/main/java/gov/cancer/framework
- utility classes used by page objects.src/main/java/gov/cancer/pageobject
- the page object classes used for testing.src/test/java/gov/cancer/tests
- the test classes.suites
- TestNG test suite files.target
- Generated files. (Not version controlled.)test-data
- Like it says on the label.test-output
- Reports and the like. (Not version controlled.)Tests in this framework follow the PageObject pattern.
The testing system makes use of the Selenium WebDriver browser automation project to control a web browser and read/modify page values.
All browser interactions are controlled using classes in the gov.cancer
namespace in {proj_root}/src/main/java/gov/cancer/
.
High-level page objects are in the gov.cancer.pageobject
namespace, with additional helper classes in gov.cancer.framework
.
All test classes reside under the gov.cancer.tests
namespace in {proj_root}/src/test/java/gov/cancer/tests
. Test classes work
with methods from the PageObjects. They do not import anything from the org.openqa.selenium
namespace.
Tests are run using the TestNG framework.