Class: Maze::Configuration
- Inherits:
-
Object
- Object
- Maze::Configuration
- Defined in:
- lib/maze/configuration.rb
Overview
MazeRunner configuration
Instance Attribute Summary collapse
-
#access_key ⇒ Object
Farm access key.
-
#always_log ⇒ Object
Always log all received requests to the console at the end of a scenario.
-
#app ⇒ Object
The app that tests will be run against.
-
#app_bundle_id ⇒ Object
Bundle ID of the test application.
-
#appium_logfile ⇒ Object
The location of the appium server logfile.
-
#appium_server_url ⇒ Object
URL of the Appium server.
-
#appium_version ⇒ Object
Appium version to use.
-
#apple_team_id ⇒ Object
Apple Team Id.
-
#aspecto_repeater_api_key ⇒ Object
API key to use when repeating requests to Bugsnag.
-
#aws_public_ip ⇒ Object
Enables awareness of a public IP address on Buildkite with the Elastic CI Stack for AWS.
-
#bind_address ⇒ Object
Mock server bind address.
-
#browser ⇒ Object
Test browser type.
-
#bs_local ⇒ Object
Location of the BrowserStackLocal binary (if used).
-
#bugsnag_repeater_api_key ⇒ Object
API key to use when repeating requests to Bugsnag.
-
#capabilities ⇒ Object
Appium capabilities.
-
#capabilities_option ⇒ Object
Appium capabilities provided via the CL.
-
#captured_invalid_requests ⇒ Object
The server endpoints for which invalid requests should be captured and cause tests to fail.
-
#device ⇒ Object
Test device type.
-
#device_id ⇒ Object
Device id for running on local iOS devices.
-
#device_list ⇒ Object
A list of devices to attempt to connect to, in order.
-
#document_server_bind_address ⇒ Object
Document server bind address.
-
#document_server_port ⇒ Object
Document server port.
-
#document_server_root ⇒ Object
Document server root.
-
#enable_bugsnag ⇒ Object
Enables bugsnag reporting.
-
#enable_retries ⇒ Object
Whether retries should be allowed.
-
#enforce_bugsnag_integrity ⇒ Object
Whether presence of the Bugsnag-Integrity header should be enforced.
-
#farm ⇒ Object
Device farm to be used, one of: :bs (BrowserStack) :local (Using Appium Server with a local device) :none (Cucumber-driven testing with no devices).
-
#file_log ⇒ Object
Write received requests to disk for all scenarios.
-
#locator ⇒ Object
Element locator strategy, :id or :accessibility_id.
-
#log_requests ⇒ Object
Console logging of received requests for a test failure.
-
#null_port ⇒ Object
Terminating server bind port.
-
#os ⇒ Object
OS.
-
#os_version ⇒ Object
OS version.
-
#port ⇒ Object
Mock server port.
-
#receive_no_requests_wait ⇒ Object
Time in seconds to wait in the ‘I should receive no requests` step.
-
#receive_requests_wait ⇒ Object
Maximum time in seconds to wait in the ‘I wait to receive int error(s)/session(s)/build(s)` steps.
-
#sb_local ⇒ Object
Location of the SmartBear binary (if used).
-
#selenium_server_url ⇒ Object
URL of the Selenium server.
-
#start_appium ⇒ Object
Whether an appium server should be started.
-
#start_tunnel ⇒ Object
Whether the device farm secure tunnel should be started.
-
#tms_token ⇒ Object
Access token for the test-management service.
-
#tms_uri ⇒ Object
URI of the test-management service.
-
#username ⇒ Object
Farm username.
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
Set default values.
- #legacy_driver=(value) ⇒ Object
-
#legacy_driver? ⇒ Boolean
Whether the legacy (JSON-WP) Appium driver should be used.
Constructor Details
#initialize ⇒ Configuration
Set default values
8 9 10 11 12 13 14 |
# File 'lib/maze/configuration.rb', line 8 def initialize self.receive_no_requests_wait = 30 self.receive_requests_wait = 30 self.enforce_bugsnag_integrity = true self.captured_invalid_requests = Set[:errors, :sessions, :builds, :uploads, :sourcemaps] @legacy_driver = false end |
Instance Attribute Details
#access_key ⇒ Object
Farm access key
118 119 120 |
# File 'lib/maze/configuration.rb', line 118 def access_key @access_key end |
#always_log ⇒ Object
Always log all received requests to the console at the end of a scenario
186 187 188 |
# File 'lib/maze/configuration.rb', line 186 def always_log @always_log end |
#app ⇒ Object
The app that tests will be run against. Could be one of:
-
a local file path
-
a BrowserStack url for a previously uploaded app (bs://…)
-
on macOS, the name of an installed or previously executed application
90 91 92 |
# File 'lib/maze/configuration.rb', line 90 def app @app end |
#app_bundle_id ⇒ Object
Bundle ID of the test application
112 113 114 |
# File 'lib/maze/configuration.rb', line 112 def app_bundle_id @app_bundle_id end |
#appium_logfile ⇒ Object
The location of the appium server logfile
173 174 175 |
# File 'lib/maze/configuration.rb', line 173 def appium_logfile @appium_logfile end |
#appium_server_url ⇒ Object
URL of the Appium server
139 140 141 |
# File 'lib/maze/configuration.rb', line 139 def appium_server_url @appium_server_url end |
#appium_version ⇒ Object
Appium version to use
130 131 132 |
# File 'lib/maze/configuration.rb', line 130 def appium_version @appium_version end |
#apple_team_id ⇒ Object
Apple Team Id
158 159 160 |
# File 'lib/maze/configuration.rb', line 158 def apple_team_id @apple_team_id end |
#aspecto_repeater_api_key ⇒ Object
API key to use when repeating requests to Bugsnag
65 66 67 |
# File 'lib/maze/configuration.rb', line 65 def aspecto_repeater_api_key @aspecto_repeater_api_key end |
#aws_public_ip ⇒ Object
Enables awareness of a public IP address on Buildkite with the Elastic CI Stack for AWS.
71 72 73 |
# File 'lib/maze/configuration.rb', line 71 def aws_public_ip @aws_public_ip end |
#bind_address ⇒ Object
Mock server bind address
21 22 23 |
# File 'lib/maze/configuration.rb', line 21 def bind_address @bind_address end |
#browser ⇒ Object
Test browser type
127 128 129 |
# File 'lib/maze/configuration.rb', line 127 def browser @browser end |
#bs_local ⇒ Object
Location of the BrowserStackLocal binary (if used)
109 110 111 |
# File 'lib/maze/configuration.rb', line 109 def bs_local @bs_local end |
#bugsnag_repeater_api_key ⇒ Object
API key to use when repeating requests to Bugsnag
68 69 70 |
# File 'lib/maze/configuration.rb', line 68 def bugsnag_repeater_api_key @bugsnag_repeater_api_key end |
#capabilities ⇒ Object
Appium capabilities
81 82 83 |
# File 'lib/maze/configuration.rb', line 81 def capabilities @capabilities end |
#capabilities_option ⇒ Object
Appium capabilities provided via the CL
84 85 86 |
# File 'lib/maze/configuration.rb', line 84 def capabilities_option @capabilities_option end |
#captured_invalid_requests ⇒ Object
The server endpoints for which invalid requests should be captured and cause tests to fail
62 63 64 |
# File 'lib/maze/configuration.rb', line 62 def captured_invalid_requests @captured_invalid_requests end |
#device ⇒ Object
Test device type
121 122 123 |
# File 'lib/maze/configuration.rb', line 121 def device @device end |
#device_id ⇒ Object
Device id for running on local iOS devices
167 168 169 |
# File 'lib/maze/configuration.rb', line 167 def device_id @device_id end |
#device_list ⇒ Object
A list of devices to attempt to connect to, in order
124 125 126 |
# File 'lib/maze/configuration.rb', line 124 def device_list @device_list end |
#document_server_bind_address ⇒ Object
Document server bind address
37 38 39 |
# File 'lib/maze/configuration.rb', line 37 def document_server_bind_address @document_server_bind_address end |
#document_server_port ⇒ Object
Document server port
40 41 42 |
# File 'lib/maze/configuration.rb', line 40 def document_server_port @document_server_port end |
#document_server_root ⇒ Object
Document server root
34 35 36 |
# File 'lib/maze/configuration.rb', line 34 def document_server_root @document_server_root end |
#enable_bugsnag ⇒ Object
Enables bugsnag reporting
59 60 61 |
# File 'lib/maze/configuration.rb', line 59 def enable_bugsnag @enable_bugsnag end |
#enable_retries ⇒ Object
Whether retries should be allowed
56 57 58 |
# File 'lib/maze/configuration.rb', line 56 def enable_retries @enable_retries end |
#enforce_bugsnag_integrity ⇒ Object
Whether presence of the Bugsnag-Integrity header should be enforced
53 54 55 |
# File 'lib/maze/configuration.rb', line 53 def enforce_bugsnag_integrity @enforce_bugsnag_integrity end |
#farm ⇒ Object
Device farm to be used, one of: :bs (BrowserStack) :local (Using Appium Server with a local device) :none (Cucumber-driven testing with no devices)
96 97 98 |
# File 'lib/maze/configuration.rb', line 96 def farm @farm end |
#file_log ⇒ Object
Write received requests to disk for all scenarios
180 181 182 |
# File 'lib/maze/configuration.rb', line 180 def file_log @file_log end |
#locator ⇒ Object
Element locator strategy, :id or :accessibility_id
78 79 80 |
# File 'lib/maze/configuration.rb', line 78 def locator @locator end |
#log_requests ⇒ Object
Console logging of received requests for a test failure
183 184 185 |
# File 'lib/maze/configuration.rb', line 183 def log_requests @log_requests end |
#null_port ⇒ Object
Terminating server bind port
27 28 29 |
# File 'lib/maze/configuration.rb', line 27 def null_port @null_port end |
#os ⇒ Object
OS
161 162 163 |
# File 'lib/maze/configuration.rb', line 161 def os @os end |
#os_version ⇒ Object
OS version
164 165 166 |
# File 'lib/maze/configuration.rb', line 164 def os_version @os_version end |
#port ⇒ Object
Mock server port
24 25 26 |
# File 'lib/maze/configuration.rb', line 24 def port @port end |
#receive_no_requests_wait ⇒ Object
Time in seconds to wait in the ‘I should receive no requests` step
47 48 49 |
# File 'lib/maze/configuration.rb', line 47 def receive_no_requests_wait @receive_no_requests_wait end |
#receive_requests_wait ⇒ Object
Maximum time in seconds to wait in the ‘I wait to receive int error(s)/session(s)/build(s)` steps
50 51 52 |
# File 'lib/maze/configuration.rb', line 50 def receive_requests_wait @receive_requests_wait end |
#sb_local ⇒ Object
Location of the SmartBear binary (if used)
106 107 108 |
# File 'lib/maze/configuration.rb', line 106 def sb_local @sb_local end |
#selenium_server_url ⇒ Object
URL of the Selenium server
142 143 144 |
# File 'lib/maze/configuration.rb', line 142 def selenium_server_url @selenium_server_url end |
#start_appium ⇒ Object
Whether an appium server should be started
170 171 172 |
# File 'lib/maze/configuration.rb', line 170 def start_appium @start_appium end |
#start_tunnel ⇒ Object
Whether the device farm secure tunnel should be started
99 100 101 |
# File 'lib/maze/configuration.rb', line 99 def start_tunnel @start_tunnel end |
#tms_token ⇒ Object
Access token for the test-management service
136 137 138 |
# File 'lib/maze/configuration.rb', line 136 def tms_token @tms_token end |
#tms_uri ⇒ Object
URI of the test-management service
133 134 135 |
# File 'lib/maze/configuration.rb', line 133 def tms_uri @tms_uri end |
#username ⇒ Object
Farm username
115 116 117 |
# File 'lib/maze/configuration.rb', line 115 def username @username end |
Instance Method Details
#legacy_driver=(value) ⇒ Object
149 150 151 |
# File 'lib/maze/configuration.rb', line 149 def legacy_driver=(value) @legacy_driver = value end |
#legacy_driver? ⇒ Boolean
Whether the legacy (JSON-WP) Appium driver should be used
145 146 147 |
# File 'lib/maze/configuration.rb', line 145 def legacy_driver? @legacy_driver end |