testcentricity 2.3.19 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -0
- data/lib/testcentricity/app_core/appium_connect_helper.rb +85 -38
- data/lib/testcentricity/app_core/screen_sections_helper.rb +1 -3
- data/lib/testcentricity/app_elements/app_element_helper.rb +35 -17
- data/lib/testcentricity/app_elements/list.rb +47 -6
- data/lib/testcentricity/version.rb +1 -1
- data/lib/testcentricity/web_core/webdriver_helper.rb +13 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bec8539d0e9b7b3442baf37b6ad6dfa0127f1098
|
4
|
+
data.tar.gz: 92f2cbb4725151a936056835745029b93bf1e2be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a00a9c37aaeb50c688cc39be27f37e3505db5f410bab9595fd1b3f68aa6ed205febf1a402c2191f4ebb21d13bb3a2ac8ab109c676b6e0b87d690b9016014d5ee
|
7
|
+
data.tar.gz: f134665182d8ffa55f92cb699eb68ad1ff76245214f15f10eaf748ba96abb18f1dcf781b8cdc8ab9371bc26b5c66e968dfcdbbd5c9f2e18f3b05c930222a1cb8
|
data/README.md
CHANGED
@@ -28,6 +28,12 @@ hosted instances of Chrome, Firefox, Safari, and IE web browsers.
|
|
28
28
|
|
29
29
|
|
30
30
|
## What's New
|
31
|
+
###Version 2.4.0
|
32
|
+
|
33
|
+
* Updated `TestCentricity::WebDriverConnect.initialize_web_driver` method to read the `APP_FULL_RESET`, `APP_NO_RESET`, and `NEW_COMMAND_TIMEOUT` Environment
|
34
|
+
Variables and set the corresponding `fullReset`, `noReset`, and `newCommandTimeout` Appium capabilities for iOS and Android physical devices and simulators.
|
35
|
+
Also reads the `WDA_LOCAL_PORT` Environment Variable and sets the `wdaLocalPort` Appium capability for iOS physical devices only.
|
36
|
+
|
31
37
|
###Version 2.3.18
|
32
38
|
|
33
39
|
* Updated `SelectList.define_list_elements` method to accept value for `:list_trigger` element.
|
@@ -985,10 +991,13 @@ Once your test environment is properly configured, the following **Environment V
|
|
985
991
|
`APP_ALLOW_POPUPS` | [Optional] Allow javascript to open new windows in Safari. Set to `true` or `false`
|
986
992
|
`APP_IGNORE_FRAUD_WARNING` | [Optional] Prevent Safari from showing a fraudulent website warning. Set to `true` or `false`
|
987
993
|
`APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false`
|
994
|
+
`APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false`
|
988
995
|
`APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
|
996
|
+
`WDA_LOCAL_PORT` | [Optional] Used to forward traffic from Mac host to real iOS devices over USB. Default value is same as port number used by WDA on device.
|
989
997
|
`LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
|
990
998
|
`LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr`
|
991
999
|
`ORIENTATION` | [Optional] Set to `portrait` or `landscape` (only for iOS simulators)
|
1000
|
+
`NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client
|
992
1001
|
|
993
1002
|
|
994
1003
|
### Mobile Chrome or Android browsers on Android Studio Virtual Device emulators
|
@@ -1013,8 +1022,12 @@ Once your test environment is properly configured, the following **Environment V
|
|
1013
1022
|
`DEVICE_TYPE` | Must be set to `phone` or `tablet`
|
1014
1023
|
`ORIENTATION` | [Optional] Set to `portrait` or `landscape`
|
1015
1024
|
`APP_INITIAL_URL` | [Optional] Initial URL, default is a local welcome page. e.g. `http://www.apple.com`
|
1025
|
+
`APP_NO_RESET` | [Optional] Don't reset app state after each test. Set to `true` or `false`
|
1026
|
+
`APP_FULL_RESET` | [Optional] Perform a complete reset. Set to `true` or `false`
|
1016
1027
|
`LOCALE` | [Optional] Locale to set for the simulator. e.g. `fr_CA`
|
1017
1028
|
`LANGUAGE` | [Optional] Language to set for the simulator. e.g. `fr`
|
1029
|
+
`NEW_COMMAND_TIMEOUT` | [Optional] Time (in Seconds) that Appium will wait for a new command from the client
|
1030
|
+
`CHROMEDRIVER_EXECUTABLE` | [Optional] Absolute local path to webdriver executable
|
1018
1031
|
|
1019
1032
|
|
1020
1033
|
### Remotely hosted desktop and mobile web browsers
|
@@ -11,57 +11,97 @@ module TestCentricity
|
|
11
11
|
Environ.platform = :mobile
|
12
12
|
Environ.driver = :appium
|
13
13
|
Environ.device_type = ENV['DEVICE_TYPE'] if ENV['DEVICE_TYPE']
|
14
|
+
Environ.device_orientation = ENV['ORIENTATION'] if ENV['ORIENTATION']
|
14
15
|
|
15
16
|
@config_file = project_path
|
16
17
|
|
17
18
|
if project_path.nil?
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
browser = ENV['WEB_BROWSER']
|
20
|
+
case browser.downcase.to_sym
|
21
|
+
when :appium
|
22
|
+
Environ.device_name = ENV['APP_DEVICE']
|
23
|
+
Environ.device_os = ENV['APP_PLATFORM_NAME']
|
24
|
+
ENV['UDID'] ? Environ.device = :device : Environ.device = :simulator
|
25
|
+
when :browserstack
|
26
|
+
Environ.device_name = ENV['BS_DEVICE']
|
27
|
+
Environ.device_os = ENV['BS_OS']
|
28
|
+
end
|
22
29
|
end
|
23
30
|
@running = false
|
24
31
|
end
|
25
32
|
|
26
33
|
def self.start_driver
|
27
34
|
if @config_file.nil?
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
capabilities[:
|
46
|
-
capabilities[:
|
47
|
-
capabilities[:
|
48
|
-
capabilities[:
|
49
|
-
capabilities[:
|
50
|
-
capabilities[:
|
51
|
-
|
35
|
+
browser = ENV['WEB_BROWSER']
|
36
|
+
case browser.downcase.to_sym
|
37
|
+
when :appium
|
38
|
+
desired_capabilities = {
|
39
|
+
caps: {
|
40
|
+
platformName: ENV['APP_PLATFORM_NAME'],
|
41
|
+
platformVersion: ENV['APP_VERSION'],
|
42
|
+
deviceName: ENV['APP_DEVICE'],
|
43
|
+
automationName: ENV['AUTOMATION_ENGINE']
|
44
|
+
}
|
45
|
+
}
|
46
|
+
capabilities = desired_capabilities[:caps]
|
47
|
+
capabilities[:avd] = ENV['APP_DEVICE'] if ENV['APP_PLATFORM_NAME'].downcase.to_sym == :android
|
48
|
+
capabilities[:orientation] = ENV['ORIENTATION'].upcase if ENV['ORIENTATION']
|
49
|
+
capabilities[:language] = ENV['LANGUAGE'] if ENV['LANGUAGE']
|
50
|
+
capabilities[:locale] = ENV['LOCALE'].gsub('-', '_') if ENV['LOCALE']
|
51
|
+
capabilities[:newCommandTimeout] = ENV['NEW_COMMAND_TIMEOUT'] if ENV['NEW_COMMAND_TIMEOUT']
|
52
|
+
capabilities[:noReset] = ENV['APP_NO_RESET'] if ENV['APP_NO_RESET']
|
53
|
+
capabilities[:fullReset] = ENV['APP_FULL_RESET'] if ENV['APP_FULL_RESET']
|
54
|
+
capabilities[:webkitDebugProxyPort] = ENV['WEBKIT_DEBUG_PROXY_PORT'] if ENV['WEBKIT_DEBUG_PROXY_PORT']
|
55
|
+
capabilities[:webDriverAgentUrl] = ENV['WEBDRIVER_AGENT_URL'] if ENV['WEBDRIVER_AGENT_URL']
|
56
|
+
capabilities[:wdaLocalPort] = ENV['WDA_LOCAL_PORT'] if ENV['WDA_LOCAL_PORT']
|
57
|
+
capabilities[:usePrebuiltWDA] = ENV['USE_PREBUILT_WDA'] if ENV['USE_PREBUILT_WDA']
|
58
|
+
capabilities[:useNewWDA] = ENV['USE_NEW_WDA'] if ENV['USE_NEW_WDA']
|
59
|
+
capabilities[:startIWDP] = ENV['START_IWDP'] if ENV['START_IWDP']
|
60
|
+
capabilities[:autoWebview] = ENV['AUTO_WEBVIEW'] if ENV['AUTO_WEBVIEW']
|
61
|
+
capabilities[:chromedriverExecutable] = ENV['CHROMEDRIVER_EXECUTABLE'] if ENV['CHROMEDRIVER_EXECUTABLE']
|
62
|
+
capabilities[:autoWebviewTimeout] = ENV['AUTO_WEBVIEW_TIMEOUT'] if ENV['AUTO_WEBVIEW_TIMEOUT']
|
63
|
+
|
64
|
+
if ENV['UDID']
|
65
|
+
capabilities[:udid] = ENV['UDID']
|
66
|
+
capabilities[:bundleId] = ENV['BUNDLE_ID'] if ENV['BUNDLE_ID']
|
67
|
+
capabilities[:xcodeOrgId] = ENV['TEAM_ID'] if ENV['TEAM_ID']
|
68
|
+
capabilities[:xcodeSigningId] = ENV['TEAM_NAME'] if ENV['TEAM_NAME']
|
69
|
+
capabilities[:appActivity] = ENV['APP_ACTIVITY'] if ENV['APP_ACTIVITY']
|
70
|
+
capabilities[:appPackage] = ENV['APP_PACKAGE'] if ENV['APP_PACKAGE']
|
71
|
+
end
|
52
72
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
73
|
+
if ENV['APP']
|
74
|
+
capabilities[:app] = ENV['APP']
|
75
|
+
else
|
76
|
+
if Environ.is_android?
|
77
|
+
capabilities[:app] = Environ.current.android_apk_path
|
78
|
+
elsif Environ.is_ios?
|
79
|
+
Environ.is_device? ?
|
80
|
+
capabilities[:app] = Environ.current.ios_ipa_path :
|
81
|
+
capabilities[:app] = Environ.current.ios_app_path
|
82
|
+
end
|
62
83
|
end
|
84
|
+
when :browserstack
|
85
|
+
endpoint = "http://#{ENV['BS_USERNAME']}:#{ENV['BS_AUTHKEY']}@hub-cloud.browserstack.com/wd/hub"
|
86
|
+
|
87
|
+
capabilities = {}
|
88
|
+
capabilities['device'] = ENV['BS_DEVICE']
|
89
|
+
capabilities['os_version'] = ENV['BS_OS_VERSION']
|
90
|
+
capabilities['app'] = "bs://#{ENV['APP_ID']}"
|
91
|
+
capabilities['realMobile'] = true
|
92
|
+
capabilities['project'] = ENV['AUTOMATE_PROJECT'] if ENV['AUTOMATE_PROJECT']
|
93
|
+
capabilities['build'] = ENV['AUTOMATE_BUILD'] if ENV['AUTOMATE_BUILD']
|
94
|
+
capabilities['deviceOrientation'] = ENV['ORIENTATION'] if ENV['ORIENTATION']
|
95
|
+
capabilities['browserstack.debug'] = true
|
96
|
+
capabilities['browserstack.video'] = ENV['RECORD_VIDEO'] if ENV['RECORD_VIDEO']
|
97
|
+
capabilities['browserstack.debug'] = 'true'
|
98
|
+
|
99
|
+
appium_lib_options = { server_url: endpoint }
|
100
|
+
desired_capabilities = {
|
101
|
+
appium_lib: appium_lib_options,
|
102
|
+
caps: capabilities
|
103
|
+
}
|
63
104
|
end
|
64
|
-
|
65
105
|
else
|
66
106
|
base_path = 'config'
|
67
107
|
unless File.directory?(File.join(@config_file, base_path))
|
@@ -70,9 +110,13 @@ module TestCentricity
|
|
70
110
|
appium_caps = File.join(@config_file, base_path, 'appium.txt')
|
71
111
|
desired_capabilities = Appium.load_appium_txt file: appium_caps
|
72
112
|
end
|
113
|
+
|
114
|
+
puts "Appium desired_capabilities = #{desired_capabilities}" if ENV['DEBUG']
|
115
|
+
|
73
116
|
Appium::Driver.new(desired_capabilities).start_driver
|
74
117
|
@running = true
|
75
118
|
Appium.promote_appium_methods TestCentricity::ScreenObject
|
119
|
+
Appium.promote_appium_methods TestCentricity::ScreenSection
|
76
120
|
Appium.promote_appium_methods TestCentricity::AppUIElement
|
77
121
|
|
78
122
|
Environ.screen_size = $driver.window_size
|
@@ -152,6 +196,7 @@ module TestCentricity
|
|
152
196
|
|
153
197
|
def self.default_context
|
154
198
|
$driver.switch_to_default_context
|
199
|
+
puts "Current context = #{$driver.current_context}" if ENV['DEBUG']
|
155
200
|
end
|
156
201
|
|
157
202
|
def self.is_webview?
|
@@ -164,7 +209,9 @@ module TestCentricity
|
|
164
209
|
|
165
210
|
def self.webview_context
|
166
211
|
contexts = available_contexts
|
212
|
+
puts "Contexts = #{contexts}" if ENV['DEBUG']
|
167
213
|
set_context(contexts.last)
|
214
|
+
puts "Current context = #{$driver.current_context}" if ENV['DEBUG']
|
168
215
|
end
|
169
216
|
end
|
170
217
|
end
|
@@ -361,7 +361,6 @@ module TestCentricity
|
|
361
361
|
end
|
362
362
|
|
363
363
|
|
364
|
-
|
365
364
|
def width
|
366
365
|
section = find_section
|
367
366
|
section_not_found_exception(section)
|
@@ -379,6 +378,7 @@ module TestCentricity
|
|
379
378
|
section_not_found_exception(section)
|
380
379
|
section.location.x
|
381
380
|
end
|
381
|
+
|
382
382
|
def y_loc
|
383
383
|
section = find_section
|
384
384
|
section_not_found_exception(section)
|
@@ -386,8 +386,6 @@ module TestCentricity
|
|
386
386
|
end
|
387
387
|
|
388
388
|
|
389
|
-
|
390
|
-
|
391
389
|
def verify_ui_states(ui_states)
|
392
390
|
ui_states.each do |ui_object, object_states|
|
393
391
|
object_states.each do |property, state|
|
@@ -35,19 +35,15 @@ module TestCentricity
|
|
35
35
|
def tap
|
36
36
|
obj = element
|
37
37
|
object_not_found_exception(obj)
|
38
|
-
|
39
|
-
|
40
|
-
tap_action = Appium::TouchAction.new.tap(element: obj, x: x, y: y)
|
41
|
-
tap_action.perform
|
38
|
+
actions = Appium::TouchAction.new
|
39
|
+
actions.tap(element: obj).perform
|
42
40
|
end
|
43
41
|
|
44
42
|
def double_tap
|
45
43
|
obj = element
|
46
44
|
object_not_found_exception(obj)
|
47
|
-
|
48
|
-
|
49
|
-
tap_action = Appium::TouchAction.new.double_tap(element: obj, x: x, y: y)
|
50
|
-
tap_action.perform
|
45
|
+
actions = Appium::TouchAction.new
|
46
|
+
actions.double_tap(element: obj).perform
|
51
47
|
end
|
52
48
|
|
53
49
|
def set(value)
|
@@ -301,21 +297,44 @@ module TestCentricity
|
|
301
297
|
def scroll(direction)
|
302
298
|
obj = element
|
303
299
|
object_not_found_exception(obj)
|
304
|
-
|
300
|
+
if Environ.device_os == :ios
|
301
|
+
execute_script('mobile: scroll', direction: direction.to_s, element: obj)
|
302
|
+
else
|
303
|
+
case direction
|
304
|
+
when :down
|
305
|
+
x = obj.size.width.to_i / 2
|
306
|
+
bottom = obj.size.height
|
307
|
+
bottom = window_size[:height].to_i if bottom > window_size[:height]
|
308
|
+
start_pt = [x, bottom]
|
309
|
+
delta_pt = [0, 0 - (bottom - 20)]
|
310
|
+
|
311
|
+
when :up
|
312
|
+
x = obj.size.width.to_i / 2
|
313
|
+
top = obj.location.y - (obj.size.height / 2)
|
314
|
+
top = 0 if top < 0
|
315
|
+
start_pt = [x, top]
|
316
|
+
delta_pt = [0, obj.size.height / 2]
|
317
|
+
end
|
318
|
+
puts "Swipe start_pt = #{start_pt} / delta_pt = #{delta_pt}" if ENV['DEBUG']
|
319
|
+
Appium::TouchAction.new.swipe(start_x: start_pt[0], start_y: start_pt[1], delta_x: delta_pt[0], delta_y: delta_pt[1]).perform
|
320
|
+
end
|
305
321
|
end
|
306
322
|
|
307
323
|
def swipe(direction)
|
308
|
-
|
324
|
+
obj = element
|
325
|
+
object_not_found_exception(obj)
|
326
|
+
if Environ.device_os == :ios
|
327
|
+
execute_script('mobile: swipe', direction: direction.to_s, element: obj)
|
328
|
+
else
|
329
|
+
actions = Appium::TouchAction.new
|
330
|
+
actions.scroll(element: obj).perform
|
331
|
+
end
|
309
332
|
end
|
310
333
|
|
311
|
-
|
312
334
|
private
|
313
335
|
|
314
336
|
def element
|
315
|
-
|
316
|
-
parent_section ? tries ||= 2 : tries ||= 1
|
317
|
-
|
318
|
-
if parent_section && tries > 1
|
337
|
+
if @context == :section
|
319
338
|
parent_obj = nil
|
320
339
|
locators = @parent.get_locator
|
321
340
|
locators.each do |parent_locator|
|
@@ -335,8 +354,7 @@ module TestCentricity
|
|
335
354
|
obj
|
336
355
|
end
|
337
356
|
rescue
|
338
|
-
puts "Did not find
|
339
|
-
retry if (tries -= 1) > 0
|
357
|
+
puts "Did not find object '#{@name}' - #{@locator}" if ENV['DEBUG']
|
340
358
|
nil
|
341
359
|
end
|
342
360
|
|
@@ -1,23 +1,51 @@
|
|
1
1
|
module TestCentricity
|
2
2
|
class AppList < AppUIElement
|
3
|
+
attr_accessor :list_item
|
4
|
+
|
3
5
|
def initialize(name, parent, locator, context)
|
4
6
|
super
|
5
|
-
@type
|
7
|
+
@type = :list
|
8
|
+
@list_item = nil
|
9
|
+
end
|
10
|
+
|
11
|
+
def define_list_elements(element_spec)
|
12
|
+
element_spec.each do |element, value|
|
13
|
+
case element
|
14
|
+
when :list_item
|
15
|
+
@list_item = value
|
16
|
+
else
|
17
|
+
raise "#{element} is not a recognized list element"
|
18
|
+
end
|
19
|
+
end
|
6
20
|
end
|
7
21
|
|
8
22
|
def get_item_count
|
9
23
|
obj = element
|
10
24
|
object_not_found_exception(obj)
|
11
|
-
|
12
|
-
|
13
|
-
else
|
14
|
-
items = obj.find_elements(:class, 'android.widget.FrameLayout')
|
15
|
-
end
|
25
|
+
list_loc = get_list_item_locator
|
26
|
+
items = obj.find_elements(list_loc.keys[0], list_loc.values[0])
|
16
27
|
items.size
|
17
28
|
end
|
18
29
|
|
19
30
|
def get_list_items
|
31
|
+
list_items = []
|
32
|
+
obj = element
|
33
|
+
object_not_found_exception(obj)
|
34
|
+
list_loc = get_list_item_locator
|
35
|
+
items = obj.find_elements(list_loc.keys[0], list_loc.values[0])
|
36
|
+
items.each do |item|
|
37
|
+
list_items.push(item.text)
|
38
|
+
end
|
39
|
+
list_items
|
40
|
+
end
|
20
41
|
|
42
|
+
def click_list_item(index)
|
43
|
+
obj = element
|
44
|
+
object_not_found_exception(obj)
|
45
|
+
list_loc = get_list_item_locator
|
46
|
+
items = obj.find_elements(list_loc.keys[0], list_loc.values[0])
|
47
|
+
list_item = items[index]
|
48
|
+
list_item.click
|
21
49
|
end
|
22
50
|
|
23
51
|
def get_list_item(index)
|
@@ -50,5 +78,18 @@ module TestCentricity
|
|
50
78
|
rescue
|
51
79
|
raise "Value of List #{object_ref_message} failed to change from '#{value}' after #{timeout} seconds" if get_item_count == value
|
52
80
|
end
|
81
|
+
|
82
|
+
private
|
83
|
+
|
84
|
+
def get_list_item_locator
|
85
|
+
if @list_item.nil?
|
86
|
+
if Environ.device_os == :ios
|
87
|
+
define_list_elements({ :list_item => { class: 'XCUIElementTypeCell' } } )
|
88
|
+
else
|
89
|
+
define_list_elements({ :list_item => { class: 'android.widget.FrameLayout' } } )
|
90
|
+
end
|
91
|
+
end
|
92
|
+
@list_item
|
93
|
+
end
|
53
94
|
end
|
54
95
|
end
|
@@ -192,12 +192,21 @@ module TestCentricity
|
|
192
192
|
else
|
193
193
|
Environ.device = :simulator
|
194
194
|
end
|
195
|
-
desired_capabilities[:safariInitialUrl] = ENV['APP_INITIAL_URL'] if ENV['APP_INITIAL_URL']
|
196
|
-
desired_capabilities[:safariAllowPopups] = ENV['APP_ALLOW_POPUPS'] if ENV['APP_ALLOW_POPUPS']
|
197
195
|
desired_capabilities[:safariIgnoreFraudWarning] = ENV['APP_IGNORE_FRAUD_WARNING'] if ENV['APP_IGNORE_FRAUD_WARNING']
|
198
|
-
desired_capabilities[:
|
196
|
+
desired_capabilities[:safariInitialUrl] = ENV['APP_INITIAL_URL'] if ENV['APP_INITIAL_URL']
|
197
|
+
desired_capabilities[:safariAllowPopups] = ENV['APP_ALLOW_POPUPS'] if ENV['APP_ALLOW_POPUPS']
|
198
|
+
desired_capabilities[:newCommandTimeout] = ENV['NEW_COMMAND_TIMEOUT'] if ENV['NEW_COMMAND_TIMEOUT']
|
199
|
+
desired_capabilities[:noReset] = ENV['APP_NO_RESET'] if ENV['APP_NO_RESET']
|
200
|
+
desired_capabilities[:fullReset] = ENV['APP_FULL_RESET'] if ENV['APP_FULL_RESET']
|
201
|
+
desired_capabilities[:webkitDebugProxyPort] = ENV['WEBKIT_DEBUG_PROXY_PORT'] if ENV['WEBKIT_DEBUG_PROXY_PORT']
|
202
|
+
desired_capabilities[:webDriverAgentUrl] = ENV['WEBDRIVER_AGENT_URL'] if ENV['WEBDRIVER_AGENT_URL']
|
203
|
+
desired_capabilities[:wdaLocalPort] = ENV['WDA_LOCAL_PORT'] if ENV['WDA_LOCAL_PORT']
|
204
|
+
desired_capabilities[:usePrebuiltWDA] = ENV['USE_PREBUILT_WDA'] if ENV['USE_PREBUILT_WDA']
|
205
|
+
desired_capabilities[:useNewWDA] = ENV['USE_NEW_WDA'] if ENV['USE_NEW_WDA']
|
206
|
+
desired_capabilities[:chromedriverExecutable] = ENV['CHROMEDRIVER_EXECUTABLE'] if ENV['CHROMEDRIVER_EXECUTABLE']
|
207
|
+
|
199
208
|
desired_capabilities[:language] = ENV['LANGUAGE'] if ENV['LANGUAGE']
|
200
|
-
desired_capabilities[:locale]
|
209
|
+
desired_capabilities[:locale] = ENV['LOCALE'].gsub('-', '_') if ENV['LOCALE']
|
201
210
|
|
202
211
|
Capybara.register_driver :appium do |app|
|
203
212
|
appium_lib_options = { server_url: endpoint }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testcentricity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- A.J. Mrozinski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|