Class: Maze::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/maze/configuration.rb

Overview

MazeRunner configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

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_keyObject

Farm access key



118
119
120
# File 'lib/maze/configuration.rb', line 118

def access_key
  @access_key
end

#always_logObject

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

#appObject

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_idObject

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_logfileObject

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_urlObject

URL of the Appium server



139
140
141
# File 'lib/maze/configuration.rb', line 139

def appium_server_url
  @appium_server_url
end

#appium_versionObject

Appium version to use



130
131
132
# File 'lib/maze/configuration.rb', line 130

def appium_version
  @appium_version
end

#apple_team_idObject

Apple Team Id



158
159
160
# File 'lib/maze/configuration.rb', line 158

def apple_team_id
  @apple_team_id
end

#aspecto_repeater_api_keyObject

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_ipObject

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_addressObject

Mock server bind address



21
22
23
# File 'lib/maze/configuration.rb', line 21

def bind_address
  @bind_address
end

#browserObject

Test browser type



127
128
129
# File 'lib/maze/configuration.rb', line 127

def browser
  @browser
end

#bs_localObject

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_keyObject

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

#capabilitiesObject

Appium capabilities



81
82
83
# File 'lib/maze/configuration.rb', line 81

def capabilities
  @capabilities
end

#capabilities_optionObject

Appium capabilities provided via the CL



84
85
86
# File 'lib/maze/configuration.rb', line 84

def capabilities_option
  @capabilities_option
end

#captured_invalid_requestsObject

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

#deviceObject

Test device type



121
122
123
# File 'lib/maze/configuration.rb', line 121

def device
  @device
end

#device_idObject

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_listObject

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_addressObject

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_portObject

Document server port



40
41
42
# File 'lib/maze/configuration.rb', line 40

def document_server_port
  @document_server_port
end

#document_server_rootObject

Document server root



34
35
36
# File 'lib/maze/configuration.rb', line 34

def document_server_root
  @document_server_root
end

#enable_bugsnagObject

Enables bugsnag reporting



59
60
61
# File 'lib/maze/configuration.rb', line 59

def enable_bugsnag
  @enable_bugsnag
end

#enable_retriesObject

Whether retries should be allowed



56
57
58
# File 'lib/maze/configuration.rb', line 56

def enable_retries
  @enable_retries
end

#enforce_bugsnag_integrityObject

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

#farmObject

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_logObject

Write received requests to disk for all scenarios



180
181
182
# File 'lib/maze/configuration.rb', line 180

def file_log
  @file_log
end

#locatorObject

Element locator strategy, :id or :accessibility_id



78
79
80
# File 'lib/maze/configuration.rb', line 78

def locator
  @locator
end

#log_requestsObject

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_portObject

Terminating server bind port



27
28
29
# File 'lib/maze/configuration.rb', line 27

def null_port
  @null_port
end

#osObject

OS



161
162
163
# File 'lib/maze/configuration.rb', line 161

def os
  @os
end

#os_versionObject

OS version



164
165
166
# File 'lib/maze/configuration.rb', line 164

def os_version
  @os_version
end

#portObject

Mock server port



24
25
26
# File 'lib/maze/configuration.rb', line 24

def port
  @port
end

#receive_no_requests_waitObject

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_waitObject

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_localObject

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_urlObject

URL of the Selenium server



142
143
144
# File 'lib/maze/configuration.rb', line 142

def selenium_server_url
  @selenium_server_url
end

#start_appiumObject

Whether an appium server should be started



170
171
172
# File 'lib/maze/configuration.rb', line 170

def start_appium
  @start_appium
end

#start_tunnelObject

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_tokenObject

Access token for the test-management service



136
137
138
# File 'lib/maze/configuration.rb', line 136

def tms_token
  @tms_token
end

#tms_uriObject

URI of the test-management service



133
134
135
# File 'lib/maze/configuration.rb', line 133

def tms_uri
  @tms_uri
end

#usernameObject

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

Returns:

  • (Boolean)


145
146
147
# File 'lib/maze/configuration.rb', line 145

def legacy_driver?
  @legacy_driver
end