testcentricity_web 2.2.1 → 2.3.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 +23 -3
- data/lib/testcentricity_web/environment.rb +9 -0
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/webdriver_helper.rb +26 -0
- 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: ad3e1644f9aadc806902d2980e39b0082cca13df
|
4
|
+
data.tar.gz: 554500bbda1bd296e2d8b7607d6f513fb050c7c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8468742f8cf244605a697cb536fe4b6c10fdac707df726b0251c7e8a4ccb8d37ff64a2e1592cfdf1c4afe7f1c25db631c44bbd3310b62c80c8a9f48d56f27caa
|
7
|
+
data.tar.gz: 7b5a456238bf4c3fbffb9e0dc347540cb481abcab88f1d4456c0c218bae8cc3d65aa3da339bb7ae84858bffc43af26b1f39dcffc0b67019e98831f2da7f7cfeb
|
data/README.md
CHANGED
@@ -24,6 +24,14 @@ feature incomplete and potentially unstable. More information can be found [here
|
|
24
24
|
|
25
25
|
## What's New
|
26
26
|
|
27
|
+
###Version 2.3.0
|
28
|
+
|
29
|
+
* When testing using the remotely hosted browsers on the BrowserStack service, the BrowserStack Local instance is automatically started if the `TUNNELING`
|
30
|
+
Environment Variable is set to `true`. `Environ.tunneling` will be set to true if the BrowserStack Local instance is succesfully started. Requires the
|
31
|
+
[browserstack-local gem](https://rubygems.org/gems/browserstack-local).
|
32
|
+
* Added `TestCentricity::WebDriverConnect.close_tunnel` method to close BrowserStack Local instance when Local testing is enabled. Refer to the
|
33
|
+
**Remotely hosted desktop and mobile web browsers** section for information on usage.
|
34
|
+
|
27
35
|
###Version 2.2.0
|
28
36
|
|
29
37
|
* CSS selectors or XPath expressions may be used as locators for all types of **UI Elements**, including tables.
|
@@ -57,7 +65,7 @@ for textfields.
|
|
57
65
|
|
58
66
|
* Added support for "tiling" or cascading multiple browser windows when the `BROWSER_TILE` and `PARALLEL` Environment Variables are set to true. For each
|
59
67
|
concurrent parallel thread being executed, the position of each browser will be offset by 100 pixels right and 100 pixels down. For parallel test execution,
|
60
|
-
use the [parallel_tests gem](https://
|
68
|
+
use the [parallel_tests gem](https://rubygems.org/gems/parallel_tests) to decrease overall test execution time.
|
61
69
|
|
62
70
|
###Version 2.1.2
|
63
71
|
|
@@ -74,6 +82,10 @@ use the [parallel_tests gem](https://github.com/grosser/parallel_tests) to decre
|
|
74
82
|
|
75
83
|
|
76
84
|
## What's Fixed
|
85
|
+
###Version 2.2.1
|
86
|
+
|
87
|
+
* `SelectList.choose_option` method now accepts index values for Chosen list objects.
|
88
|
+
|
77
89
|
###Version 2.1.9
|
78
90
|
|
79
91
|
* Fixed bug in `SelectList.choose_option`, `SelectList.get_options`, `SelectList.get_option_count`, and `SelectList.get_selected_option` methods which
|
@@ -889,12 +901,20 @@ for information regarding the specific capabilities.
|
|
889
901
|
`BS_OS_VERSION` | Refer to `os_version` capability in chart
|
890
902
|
`BS_BROWSER` | Refer to `browser` capability in chart
|
891
903
|
`BS_VERSION` | [Optional] Refer to `browser_version` capability in chart. If not specified, latest stable version of browser will be used.
|
892
|
-
`TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`)
|
904
|
+
`TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`). If `true`, the BrowserStack Local instance will be automatically started.
|
893
905
|
`RESOLUTION` | [Optional] Refer to supported screen `resolution` capability in chart
|
894
906
|
`BROWSER_SIZE` | [Optional] Specify width, height of browser window
|
895
907
|
`RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
|
896
908
|
`TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
|
897
909
|
|
910
|
+
If the BrowserStack Local instance is running (`TUNNELING` Environment Variable is `true`), call the`TestCentricity::WebDriverConnect.close_tunnel` method
|
911
|
+
upon completion of your test suite to stop the Local instance. Place the code shown below in your `env.rb` file.
|
912
|
+
|
913
|
+
# Code to stop BrowserStack Local instance after end of test (if tunneling is enabled)
|
914
|
+
at_exit do
|
915
|
+
TestCentricity::WebDriverConnect.close_tunnel if Environ.tunneling
|
916
|
+
end
|
917
|
+
|
898
918
|
|
899
919
|
#### Remote mobile browsers on the BrowserStack service
|
900
920
|
|
@@ -912,7 +932,7 @@ for information regarding the specific capabilities.
|
|
912
932
|
`BS_PLATFORM` | Must be set to `MAC` (for iOS) or `ANDROID`
|
913
933
|
`BS_DEVICE` | Refer to `device` capability in chart
|
914
934
|
`BS_REAL_MOBILE` | Set to `true` if running against a real device
|
915
|
-
`TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`)
|
935
|
+
`TUNNELING` | Must be `true` if you are testing against internal/local servers (`true` or `false`). If `true`, the BrowserStack Local instance will be automatically started.
|
916
936
|
`ORIENTATION` | [Optional] Set to `portrait` or `landscape`
|
917
937
|
`RECORD_VIDEO` | [Optional] Enable screen video recording during test execution (`true` or `false`)
|
918
938
|
`TIME_ZONE` | [Optional] Specify custom time zone. Refer to `browserstack.timezone` capability in chart
|
@@ -37,6 +37,7 @@ module TestCentricity
|
|
37
37
|
attr_accessor :device_os
|
38
38
|
attr_accessor :device_orientation
|
39
39
|
attr_accessor :platform
|
40
|
+
attr_accessor :tunneling
|
40
41
|
|
41
42
|
attr_accessor :signed_in
|
42
43
|
attr_accessor :portal_status
|
@@ -190,6 +191,14 @@ module TestCentricity
|
|
190
191
|
@device_orientation
|
191
192
|
end
|
192
193
|
|
194
|
+
def self.tunneling=(state)
|
195
|
+
@tunneling = state
|
196
|
+
end
|
197
|
+
|
198
|
+
def self.tunneling
|
199
|
+
@tunneling
|
200
|
+
end
|
201
|
+
|
193
202
|
# @deprecated Please use {#platform=} instead
|
194
203
|
def self.set_platform(platform)
|
195
204
|
warn "[DEPRECATION] 'TestCentricity::Environ.set_platform' is deprecated. Please use 'Environ.platform =' instead."
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'selenium-webdriver'
|
2
2
|
require 'os'
|
3
|
+
require 'browserstack/local'
|
3
4
|
|
4
5
|
|
5
6
|
module TestCentricity
|
@@ -7,6 +8,7 @@ module TestCentricity
|
|
7
8
|
include Capybara::DSL
|
8
9
|
|
9
10
|
attr_accessor :webdriver_path
|
11
|
+
attr_accessor :bs_local
|
10
12
|
|
11
13
|
def self.initialize_web_driver(app_host = nil)
|
12
14
|
Capybara.app_host = app_host unless app_host.nil?
|
@@ -150,6 +152,17 @@ module TestCentricity
|
|
150
152
|
Environ.session_state = :running
|
151
153
|
end
|
152
154
|
|
155
|
+
def self.close_tunnel
|
156
|
+
unless @bs_local.nil?
|
157
|
+
@bs_local.stop
|
158
|
+
if @bs_local.isRunning
|
159
|
+
raise 'BrowserStack Local instance could not be stopped'
|
160
|
+
else
|
161
|
+
puts 'BrowserStack Local instance has been stopped'
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
153
166
|
private
|
154
167
|
|
155
168
|
def self.initialize_appium
|
@@ -375,10 +388,23 @@ module TestCentricity
|
|
375
388
|
capabilities['javascriptEnabled'] = 'true'
|
376
389
|
capabilities['cleanSession'] = 'true'
|
377
390
|
end
|
391
|
+
|
392
|
+
if ENV['TUNNELING']
|
393
|
+
@bs_local = BrowserStack::Local.new
|
394
|
+
bs_local_args = {'key' => "#{ENV['BS_AUTHKEY']}"}
|
395
|
+
@bs_local.start(bs_local_args)
|
396
|
+
if @bs_local.isRunning
|
397
|
+
puts 'BrowserStack Local instance has been started'
|
398
|
+
else
|
399
|
+
puts 'BrowserStack Local instance failed to start'
|
400
|
+
end
|
401
|
+
end
|
402
|
+
|
378
403
|
Capybara::Selenium::Driver.new(app, browser: :remote, url: endpoint, desired_capabilities: capabilities)
|
379
404
|
end
|
380
405
|
|
381
406
|
Environ.browser = browser
|
407
|
+
Environ.tunneling = ENV['TUNNELING'] if ENV['TUNNELING']
|
382
408
|
|
383
409
|
Capybara.default_driver = :browserstack
|
384
410
|
Capybara.run_server = false
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: testcentricity_web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.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: 2017-
|
11
|
+
date: 2017-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|