testcentricity_web 0.9.9.3 → 0.9.9.4
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 +10 -11
- data/lib/testcentricity_web/excel_helper.rb +1 -1
- data/lib/testcentricity_web/version.rb +1 -1
- data/lib/testcentricity_web/webdriver_helper.rb +27 -3
- 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: ac645f88ced33e1f75ff7707eb9131f3c4128649
|
4
|
+
data.tar.gz: 1135d24ddf6499993343634e5cda39ff32cddca3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 150a16315f46f712217e0d20788d0c136e6e18e876193cf96db1b7103392a6aca89f337ab68959ea783138d84ade1babc9b0ff002700a85cf360d2c78943bcc1
|
7
|
+
data.tar.gz: 998ce0d83fdba227cb20d1dd99d1b610573952c61b181a81a3846610f623a1caaf5e3e69c4e3721665aa4295a4d49efd63a362671cecd2f9f790591c0ae82d8c
|
data/README.md
CHANGED
@@ -145,10 +145,10 @@ You define your page's **Traits** as shown below:
|
|
145
145
|
trait(:page_locator) { 'body.login-body' }
|
146
146
|
|
147
147
|
# Login page UI elements
|
148
|
-
textfield :user_id_field, '#userName'
|
149
|
-
textfield :password_field, '#password'
|
150
|
-
button :login_button, '#login'
|
151
|
-
checkbox :remember_checkbox, '#rememberUser'
|
148
|
+
textfield :user_id_field, 'input#userName'
|
149
|
+
textfield :password_field, 'input#password'
|
150
|
+
button :login_button, 'button#login'
|
151
|
+
checkbox :remember_checkbox, 'input#rememberUser'
|
152
152
|
label :error_message_label, 'div#statusBar.login-error'
|
153
153
|
end
|
154
154
|
|
@@ -172,10 +172,10 @@ the UI to hide implementation details, as shown below:
|
|
172
172
|
trait(:page_locator) { 'body.login-body' }
|
173
173
|
|
174
174
|
# Login page UI elements
|
175
|
-
textfield :user_id_field, '#userName'
|
176
|
-
textfield :password_field, '#password'
|
177
|
-
button :login_button, '#login'
|
178
|
-
checkbox :remember_checkbox, '#rememberUser'
|
175
|
+
textfield :user_id_field, 'input#userName'
|
176
|
+
textfield :password_field, 'input#password'
|
177
|
+
button :login_button, 'button#login'
|
178
|
+
checkbox :remember_checkbox, 'input#rememberUser'
|
179
179
|
label :error_message_label, 'div#statusBar.login-error'
|
180
180
|
link :forgot_password_link, 'a.forgotPassword'
|
181
181
|
|
@@ -248,7 +248,7 @@ You define your page section's **Traits** as shown below:
|
|
248
248
|
trait(:section_locator) { 'form#gnav-search' }
|
249
249
|
|
250
250
|
# Search Form UI elements
|
251
|
-
textfield :search_field, '#search-query'
|
251
|
+
textfield :search_field, 'input#search-query'
|
252
252
|
button :search_button, 'button[type=submit]'
|
253
253
|
end
|
254
254
|
|
@@ -261,7 +261,7 @@ You can add high level methods to your **PageSection** class definition, as show
|
|
261
261
|
trait(:section_locator) { 'form#gnav-search' }
|
262
262
|
|
263
263
|
# Search Form UI elements
|
264
|
-
textfield :search_field, '#search-query'
|
264
|
+
textfield :search_field, 'input#search-query'
|
265
265
|
button :search_button, 'button[type=submit]'
|
266
266
|
|
267
267
|
def search_for(value)
|
@@ -600,7 +600,6 @@ replace the placeholder text with your user account and authorization code for t
|
|
600
600
|
safari: WEB_BROWSER=safari <%= desktop %>
|
601
601
|
chrome: WEB_BROWSER=chrome <%= desktop %>
|
602
602
|
ie: WEB_BROWSER=ie <%= desktop %>
|
603
|
-
edge: WEB_BROWSER=edge <%= desktop %>
|
604
603
|
headless: WEB_BROWSER=poltergeist <%= desktop %>
|
605
604
|
|
606
605
|
#==============
|
@@ -218,7 +218,7 @@ module TestCentricity
|
|
218
218
|
test_value = value.split('!', 2)
|
219
219
|
parameter = test_value[1].split('.', 2)
|
220
220
|
case parameter[0]
|
221
|
-
when 'Address', 'Business', 'Code', 'Color', 'Commerce', 'Company', 'Hacker', 'Internet', 'Lorem', 'Name', 'Number', 'PhoneNumber'
|
221
|
+
when 'Address', 'Business', 'Code', 'Color', 'Commerce', 'Company', 'Crypto', 'File', 'Hacker', 'Hipster', 'Internet', 'Lorem', 'Name', 'Number', 'PhoneNumber', 'Time'
|
222
222
|
result = eval("Faker::#{parameter[0]}.#{parameter[1]}")
|
223
223
|
when 'Date'
|
224
224
|
result = eval("Chronic.parse('#{parameter[1]}')")
|
@@ -29,7 +29,11 @@ module TestCentricity
|
|
29
29
|
when :testingbot
|
30
30
|
initialize_testingbot
|
31
31
|
else
|
32
|
-
|
32
|
+
if ENV["SELENIUM"] == 'remote'
|
33
|
+
initialize_remote
|
34
|
+
else
|
35
|
+
initialize_local_browser
|
36
|
+
end
|
33
37
|
end
|
34
38
|
|
35
39
|
# set browser window size only if testing with a desktop web browser
|
@@ -75,7 +79,8 @@ module TestCentricity
|
|
75
79
|
end
|
76
80
|
end
|
77
81
|
|
78
|
-
def self.initialize_local_browser
|
82
|
+
def self.initialize_local_browser
|
83
|
+
browser = ENV['WEB_BROWSER']
|
79
84
|
Capybara.default_driver = :selenium
|
80
85
|
Capybara.register_driver :selenium do |app|
|
81
86
|
case browser.downcase.to_sym
|
@@ -132,8 +137,8 @@ module TestCentricity
|
|
132
137
|
capabilities['name'] = ENV['TEST_ENVIRONMENT']
|
133
138
|
|
134
139
|
capabilities['acceptSslCerts'] = 'true'
|
140
|
+
capabilities['browserstack.localIdentifier'] = ENV['BS_LOCAL_ID'] if ENV['BS_LOCAL_ID']
|
135
141
|
capabilities['browserstack.local'] = 'true' if ENV['TUNNELING']
|
136
|
-
capabilities['browserstack.localIdentifier'] = ENV['BS_LOCAL_ID'] if ENV['BS_LOCAL_ID']
|
137
142
|
|
138
143
|
case browser.downcase.to_sym
|
139
144
|
when :ie
|
@@ -183,6 +188,14 @@ module TestCentricity
|
|
183
188
|
end
|
184
189
|
|
185
190
|
def self.initialize_poltergeist
|
191
|
+
if ENV['BROWSER_SIZE']
|
192
|
+
resolution = ENV['BROWSER_SIZE'].split(',')
|
193
|
+
width = resolution[0]
|
194
|
+
height = resolution[1]
|
195
|
+
else
|
196
|
+
width = 1650
|
197
|
+
height = 1000
|
198
|
+
end
|
186
199
|
Capybara.default_driver = :poltergeist
|
187
200
|
Capybara.register_driver :poltergeist do |app|
|
188
201
|
options = {
|
@@ -191,11 +204,22 @@ module TestCentricity
|
|
191
204
|
:debug => false,
|
192
205
|
:phantomjs_options => ['--load-images=no', '--disk-cache=false'],
|
193
206
|
:inspector => true,
|
207
|
+
:window_size => [width, height]
|
194
208
|
}
|
195
209
|
Capybara::Poltergeist::Driver.new(app, options)
|
196
210
|
end
|
197
211
|
end
|
198
212
|
|
213
|
+
def self.initialize_remote
|
214
|
+
browser = ENV['WEB_BROWSER']
|
215
|
+
endpoint = 'http://127.0.0.1:4444/wd/hub'
|
216
|
+
capabilities = Selenium::WebDriver::Remote::Capabilities.send(browser.downcase.to_sym)
|
217
|
+
Capybara.register_driver :remote_browser do |app|
|
218
|
+
Capybara::Selenium::Driver.new(app, :browser => :remote, :url => endpoint, :desired_capabilities => capabilities)
|
219
|
+
end
|
220
|
+
Capybara.current_driver = :remote_browser
|
221
|
+
end
|
222
|
+
|
199
223
|
def self.initialize_saucelabs
|
200
224
|
browser = ENV['SL_BROWSER']
|
201
225
|
|
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: 0.9.9.
|
4
|
+
version: 0.9.9.4
|
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: 2016-07-
|
11
|
+
date: 2016-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|