Documentation

Looking for something in particular?

Variable Set Syntax

Provar Application Run-Time Configuration and Overrides

Overview

This page and sub-section catalogues the set of run-time configuration settings and the options available to override these using either a system environment variable or command line argument.

Note: it is currently a work-in-progress to catalogue all existing configuration settings and their overrides. All new ones will be added going forward, and a project is underway to document all of the existing ones.

Order of Precedence

In all cases, the following order of precedence is used when a single configuration property is set by more than one available method:

1. Command line switch

2. System environment variable

3. Provar global variable

4. Basic configuration method (e.g. via UI), typically stored in configuration files within a project

Note: not all settings will offer all three methods of configuration. For example, some may offer only basic configuration, some may offer only one method of override. Where override configuration methods are available, these will be detailed in the configuration setting tables. An empty cell for the environment variable or command line switch overrides indicates that this is not currently supported (and not allowed by the user).

Configuration Settings and Overrides

Definitions
DescriptionA brief explanation of the purpose of the configuration setting
Data ClassificationClassification of the data:
– Clear – data can be held in clear text and can be recorded in logs
– Secret – data held in files must be encrypted and must be omitted from or masked in logs
Basic Configuration MethodThe standard method by which a user would configure the setting.
This may typically be some part within the UI.
Global VariableA global variable to override the basic configuration method within a Test Step by add a variable in the Variables Tab within Provar Studio. If there is no global variable stated, then it is not possible to override this configuration property using the global variable.
Environment VariableAn environment variable to override the basic configuration/global variable method. If there is no environment variable then it is not possible to override the configuration property via environment variable. If there are older, deprecated, environment variables for this same configuration property, those will be listed and marked as deprecated.
Command Line PropertyA command line switch to override the basic configuration method (and any environment variable). If there is no command line switch stated, then it is not possible to override this configuration property using the command line.
NotesAny additional notes which may be of importance.
Naming Principles
  • Environment variables will all be prefixed with ‘PROVAR_’
  • Command line properties will all be prefixed with ‘com.provar.’
  • Global variables will all be prefixed with ‘provar.’
  • In general, the names of override variables, where an override variable is supported, will be chosen to match what is in the UI already, whether that is explicitly fields in the UI, Provar variables, or something else. (Note that the stored property names in files, as the raw data, don’t form part of the user interface and are thus a technical implementation decision.)
  • Likewise, the command line property names, where an override is supported, will be usually chosen to match the UI.
  • However, it cannot be assumed that the names will always match; the right is reserved to have the names not directly matching in circumstances where there is a reason to deviate. I.e. it cannot be guaranteed that the name of, say, a command line override can be predicted from its sibling environment variable, and vice versa.
  • Wherever possible, the same names should be used consistently across Provar. For example User Names should be consistently coded as USERNAME/username.
  • The URLs that are used to store connection properties in Test Projects should use the same naming used in the Environment Variables and Properties. For example User Names should be encoded as username=xxxx.
  • Given the wide range of types of potential run-time properties, e.g. everything from wait auto-retry timeouts through to browser type for execution, a prescribed naming format covering all cases will not be predetermined, but sub-conventions will be established as needed.
  • In terms of styling, when defining the name of a variable and to ensure consistency, the last part of the variable name which refers to the property being overridden should be a single word in the relevant letter case. For example:
    • Command-line arguments (all lowercase): com.provar.chromedriver.dmwclosewindowtimeout
    • OS environment variables (all uppercase): PROVAR_CHROMEDRIVER_DMWCLOSEWINDOWTIMEOUT
    • Global variables (all lowercase): provar.autoretry.time
  • Note: For using connection override properties via command line arguments, the complete property name should be in lowercase, including the connection name (irrespective of the case in the actual connection name).
    E.g. if the connection name is JWT, the property should be com.provar.sf.jwt.consumerkey

Backwards Compatibility

Care must be taken to maintain backwards compatibility when naming conventions are changed:

  • Historically customers have specified mixed case environment variables for connection passwords (e.g. PROVAR_SF_User1.PASSWORD) and these must continue to work
  • Where a connection URL in the Test Project is changed to use more consistent namings (e.g. user=xxxx is changed to username=xxxx) then Test Projects with the old formats must continue to work

Global Overrides

DescriptionData ClassificationData TypeBasic Configuration MethodGlobal VariableEnvironment VariableCommand Line PropertyNotes
Auto Retry Time (Seconds)ClearNumberTest Step Auto Retryprovar_autoretry_timeoutPROVAR_AUTORETRY_TIMEOUTcom.provar.autoretry.timeoutThis variable overrides all Test Steps Auto Retry timeout value. Numeric value expected, whole number, positive value, represents seconds. Warning should appear if other values are used.
Auto Retry Interval (milliseconds)ClearNumberhiddenprovar_autoretry_intervalPROVAR_AUTORETRY_INTERVALcom.provar.autoretry.intervalThis variable overrides all Test Steps Auto Retry interval value. If the variable is null, then existing functionality is used i.e. 500ms interval. Numeric value expected, whole number, positive value, represents milliseconds. Warning should appear if other values are used.
Auto Retry OverrideClearOptions:
ENABLE_ALL
DISABLE_ALL
NONE
Test Step Auto Retry Overrideprovar_autoretry_overridePROVAR_AUTORETRY_OVERRIDEcom.provar.autoretry.overrideThis variable overrides default Auto Retry flag for all Test Steps:
ENABLE_ALL: enable all test steps
DISABLE_ALL: disable all test steps
NONE: Do nothing, Test Step Auto Retry flag used.
Warning should appear if other values are used.
Auto Retry

Interval

The interval Auto-Retry tries to perform the required action within the Auto-Retry time period using the interval value to determine how long Provar should wait between attempts.

Connections to Browser Provider Services
DescriptionData ClassificationBasic Configuration MethodGlobal VariableEnvironment VariableCommand Line PropertyNotes

Browserstack
account
username
Clear
Browserstack
connection –
username field
PROVAR_BROWSERSTACK_USERNAMEprovar.browserstack.usernameSee note below

Browserstack
account access
key
Secret
Browserstack
connection – access
key field
PROVAR_BROWSERSTACK_ACCESSKEYprovar.browserstack.accesskeySee note below

Browserstack
local identifier
Secret
Browserstack
connection –
capability:
browserstack.locali
dentifier
PROVAR_BROWSERSTACK_LOCALIDENTIFIERprovar.browserstack.localidentifierUsed for running Browserstack in local mode, rather than vendor cloud. See note below

Note: The Command Line Properties for Browser Stack are non-conformant, but retained for backwards compatibility. A change will be raised in future to add the conformant names as aliases.

Web Service Connections
DescriptionData ClassificationBasic Configuration MethodGlobal VariableEnvironment VariableCommand Line PropertyNotes
Web service
basic
authentication
connection
username
ClearWeb service basic
connection – user
(sic) field
PROVAR_WS_<CONNECTION_NAME>_USERNAMEcom.provar.ws.<connection_name>.username
Web service
basic
authentication
connection
password
SecretWeb service basic
connection –
password
PROVAR_WS_<CONNECTION_NAME>_PASSWORDcom.provar.ws.<connection_name>.password
Web service
API key
authentication
key
SecretWeb service API
key connection –
API key
PROVAR_WS_<CONNECTION_NAME>_APIKEYcom.provar.ws.<connection_name>.apikey
Web service
OAuth client
credentials
connection –
client ID
ClearWeb service
OAuth Client
Credentials –
Client ID
PROVAR_WS_<CONNECTION_NAME>_CLIENTIDcom.provar.ws.<connection_name>.clientid
Web service
OAuth client
credentials
connection –
client secret
SecretWeb service
OAuth Client
Credentials –
Client Secret
PROVAR_WS_<CONNECTION_NAME>_CLIENTSECRETcom.provar.ws.<connection_name>.clientsecret
Web service
OAuth client
credentials
connection –
client URL
ClearWeb service
OAuth Client
Credentials –
Client URL
PROVAR_WS_<CONNECTION_NAME>_AUTHORIZEURLcom.provar.ws.
<connection_name>.authorizeurl

Inconsistent
with SF URL
which has
callback url
Web service
OAuth
password
authentication
connection –
Client ID
ClearWeb service
OAuth Password
Authentication –
Client ID
PROVAR_WS_<CONNECTION_NAME>_CLIENTIDcom.provar.ws.<connection_name>.clientid
Web service
OAuth
password
authentication
connection –
Client Secret
SecretWeb service
OAuth Password
Authentication –
Client Secret
PROVAR_WS_<CONNECTION_NAME>_CLIENTSECRETcom.provar.ws.<connection_name>.clientsecret
Web service
OAuth
password
authentication
connection –
Username
ClearWeb service
OAuth Password
Authentication –
User (sic)
PROVAR_WS_<CONNECTION_NAME>_USERNAMEcom.provar.ws.<connection_name>.username
Web service
OAuth
password
authentication
connection –
Password
SecretWeb service
OAuth Password
Authentication –
Password
PROVAR_WS_<CONNECTION_NAME>_PASSWORDcom.provar.ws.<connection_name>.password
Web service
OAuth
password
authentication
connection –
Authorisation
URL
ClearWeb service
OAuth Password
Authentication –
Authorisation URL
PROVAR_WS_<CONNECTION_NAME>_AUTHORIZEURLcom.provar.ws.<connection_name>.authorizeurl
AWS
Authentication –
Access Key
SecretAWS connection –
Access Key
PROVAR_WS_<CONNECTION_NAME>_ACCESSKEYcom.provar.ws.<connection_name>.accesskey
AWS
Authentication –
Secret Key
SecretAWS connection –
Secret Key
PROVAR_WS_<CONNECTION_NAME>_SECRETKEYcom.provar.ws.<connection_name>.secretkey
AWS
Authentication –
Region
ClearAWS connection –
AWS Region
PROVAR_WS_<CONNECTION_NAME>_AWSREGIONcom.provar.ws.<connection_name>.awsregion
AWS
Authentication –
Service Name
ClearAWS connection –
Service Name
PROVAR_WS_<CONNECTION_NAME>_SERVICENAMEcom.provar.ws.<connection_name>.servicename
Web service
Certificate Type
ClearWeb service
connection
certificate type
field.
PROVAR_WS_<CONNECTION_NAME>_CERTTYPEcom.provar.ws.<connection_name>.certtype
Web service
Certificate Path
ClearWeb service
connection
certificate path
field.
PROVAR_WS_<CONNECTION_NAME>_CERTPATHcom.provar.ws.<connection_name>.certpath
Web service
Certificate
Passphrase
SecretWeb service
connection
certificate
passphrase field.
PROVAR_WS_<CONNECTION_NAME>_PASSPHRASEcom.provar.ws.<connection_name>.passphrase
OAuth JWT Connection

OAuth JWT Connection is only available as a Salesforce connection option, therefore the connection class is SF instead of WS.

If we had a more generic approach to naming variables we could have reused some of the variables already defined under the WS class.

FieldDescriptionData ClassificationEnvironment VariableCommand Line Property
Consumer KeyConnected App Consumer KeySecretPROVAR_SF_{CONNECTION_NAME}{_ENV}_CONSUMERKEYcom.provar.sf.{connection_name}{.env}.consumerkey
Callback URLConnected App Callback URLSecretPROVAR_SF_{CONNECTION_NAME}{_ENV}_CALLBACKURLcom.provar.sf.{connection_name}{.env}.callbackurl
Private Key/Key
Store
Connected App X509 Certificate Private Key / Connected App Java Key StoreClearPROVAR_SF_{CONNECTION_NAME}{_ENV}_KEYPATHcom.provar.sf.{connection_name}{.env}.keypath
Certificate NameConnected App Java Key Store Certificate NameClearPROVAR_SF_{CONNECTION_NAME}{_ENV}_CERTNAMEcom.provar.sf.{connection_name}{.env}.certname
Key Store PasswordConnected App Java Key Store PasswordSecretPROVAR_SF_{CONNECTION_NAME}{_ENV}_KEYSTOREPASSWORDcom.provar.sf.{connection_name}{.env}.keystorepassword
UsernameSalesforce
Username
ClearPROVAR_SF_{CONNECTION_NAME}{_ENV}_USERNAMEcom.provar.sf.{connection_name}{.env}.username

Feedback

Was this article helpful for you?
Documentation library

Trying to raise a case with our support team?

We use cookies to better understand how our website is used so we can tailor content for you. For more information about the different cookies we use please take a look at our Privacy Policy.

Scroll to Top