Skip to content

Configuration and execution

hursevich edited this page Sep 20, 2016 · 10 revisions

Configuration properties

There are multiple properties files located in src/main/resources:

  • _api.properties - API test endpoints reference
  • _config.properties - global test configuration
  • _database.properties - database connection properties
  • _email.properties - emailable reports config
  • _testdata.properties - test credentials

All properties may be retrieved in test using R class:

R.API.get("GetUserMethods")

R.CONFIG.get("browser")

R.DATABASE.get("db.url")

R.EMAIL.get("title")

R.TESTDATA.get("user.email")

All project configuration properties are located in _config.properties file. In the table below we are providing description for most of parameters:

Attribute Meaning Default value Example
url Base application URL {must_override} http://carina.com/
browser Browser for testing chrome chrome / firefox / iexplore
selenium_host Selenium server host {must_override} http://localhost:4444/wd/hub
app_version Application version for reporting n/a Carina Release 1.2.5
locale Locale for testing US GB,DE,FR
implicit_timeout Implicit timeout in seconds to wait for element 10 Integer
retry_timeout Timeout between calling HTML DOM for the element 2 Integer
auto_screenshot Global switch for taking screenshots true Boolean
take_only_fail_screenshot Take only one screenshot of failed step false Boolean
keep_all_screenshots Keep screenshots even for passed tests false
report_url Direct HTTP link to Jenkins workspace report folder n/a http://localhost:8888/job/my project/ws/reports/screenshots
max_screen_history Max number of reports in history 10 Integer
jira_url JIRA base URL for direct links with bugs description n/a https://jira.carina.com/browse/
email_list Comma-separated list of emails for reports {must_override} [email protected],[email protected]
sender_email Gmail account for reports sending {must_override} carina.qareport
sender_pswd Gmail password for reports sending {must_override} pwd123
jenkins_url Jenkins URL for job reference in report NULL http://localhost:8080
jenkins_job Name of Jenkins job for the reference in report NULL carina-demo

Most of the properties may be read in the following way:

Configuration.get(Parameter.URL) // returns string value

Configuration.getBoolean(Parameter.AUTO_SCREENSHOT) // returns boolean value

Configuration.getInt(Parameter.SMALL_SCREEN_WIDTH) // returns integer value

Configuration.getDouble(Parameter.BROWSER_VERSION) // returns double value

Environment specific configuration

In some cases it is required to support multiple environments for testing. Let's assume we have STAG and PROD environments which have different application URLs. In this case we need specify the following properties in _config.properties:

env=DEMO
STAG.url=http://stag-app-server.com
PROD.url=http://prod-app-server.com

And get env-specific argument in test in the following way:

Configuration.getEnvArg("url")

As a result you switch between environments just changing env argument in _config.properties file.

Clone this wiki locally