testcentricity_web 3.0.4 → 3.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9fe5df8be9ff5e5b1f0961f75bac01daf0aefaba
4
- data.tar.gz: e0c07bd409013907ca388268910e5de78a865da6
3
+ metadata.gz: 78140f3aea9951d7089f6e0c5d4ac077ea80aabf
4
+ data.tar.gz: f62513deab86c9cc76cc56af6b17478dec9fa814
5
5
  SHA512:
6
- metadata.gz: 3394c7517988f154e99fce7ba7c976b4fb7f14763b01befe6347c36099b3ec6a1d58f85e1236d367021b5470716461119175cf137db1ee838fd2abd8c32a0ef9
7
- data.tar.gz: bb006a04b6343b176e4dc814e45b84f5ff51785e1b1e78188e7588e2ddde734dd90145d025aee6a4eb5777692749e1fd99238734dbd4a7d8126f9ddd0707dd4c
6
+ metadata.gz: c1fe4090c5581c9e72d50b3ac5b18945c35d68fae7731b9fa7135ce9538ae18ffb1db49ff4f59d3bef53a2750a962759ab2168236d56c8c86572da37dd56be04
7
+ data.tar.gz: cc5f589e9513910869f777a8a9ee5abf29a9ce233af93611b72f033dd433b30f2504d008ff085fff0f67ebeb7536edb7c4da547e82ae818c3e1f1f1b743e426b
data/HISTORY.md CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
+ ###Version 3.0.5
3
+
4
+ * Added `Environ.headless` method. Will return `true` if testing against a *headless* instance of Chrome or Firefox..
5
+
2
6
  ###Version 3.0.4
3
7
 
4
8
  * Refactored `SelectList` methods to work with Capybara version 3.x.
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
  The TestCentricity™ Web core generic framework for desktop and mobile web site testing implements a Page Object and Data Object Model DSL for
7
- use with Cucumber, Capybara, and Selenium-Webdriver.
7
+ use with Cucumber, Capybara (version 3.x), and Selenium-Webdriver (version 3.x).
8
8
 
9
9
  An example project that demonstrates the implementation of a page object model framework using Cucumber and TestCentricity™ can be found [here](https://github.com/TestCentricity/tc_web_sample).
10
10
 
@@ -23,7 +23,11 @@ The TestCentricity™ Web gem supports running automated tests against the follo
23
23
 
24
24
  ## What's New
25
25
 
26
- A complete history of bug fixes and new features can be found in the {file:HISTORY.html HISTORY} file.
26
+ A complete history of bug fixes and new features can be found in the {file:HISTORY.md HISTORY} file.
27
+
28
+ ###Version 3.0.5
29
+
30
+ * Added `Environ.headless` method. Will return `true` if testing against a *headless* instance of Chrome or Firefox..
27
31
 
28
32
  ###Version 3.0.4
29
33
 
@@ -29,6 +29,7 @@ module TestCentricity
29
29
  attr_accessor :test_environment
30
30
  attr_accessor :browser
31
31
  attr_accessor :browser_size
32
+ attr_accessor :headless
32
33
  attr_accessor :session_state
33
34
  attr_accessor :os
34
35
  attr_accessor :device
@@ -112,6 +113,14 @@ module TestCentricity
112
113
  @browser_size
113
114
  end
114
115
 
116
+ def self.headless=(state)
117
+ @headless = state
118
+ end
119
+
120
+ def self.headless
121
+ @headless
122
+ end
123
+
115
124
  def self.session_state=(session_state)
116
125
  @session_state = session_state
117
126
  end
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '3.0.4'
2
+ VERSION = '3.0.5'
3
3
  end
@@ -18,6 +18,7 @@ module TestCentricity
18
18
  Environ.driver = :webdriver
19
19
  Environ.platform = :desktop
20
20
  Environ.browser = browser
21
+ Environ.headless = false
21
22
  Environ.device = :web
22
23
  Environ.device_name = 'browser'
23
24
 
@@ -116,6 +117,8 @@ module TestCentricity
116
117
  end
117
118
  @webdriver_path = File.join(project_path, base_path, path_to_driver)
118
119
  Selenium::WebDriver::Firefox.driver_path = @webdriver_path
120
+ else
121
+ raise "#{ENV['HOST_BROWSER']} is not a valid host browser for mobile browser emulation"
119
122
  end
120
123
  end
121
124
  end
@@ -226,8 +229,11 @@ module TestCentricity
226
229
  browser = ENV['WEB_BROWSER'].downcase.to_sym
227
230
 
228
231
  case browser
229
- when :firefox, :chrome, :ie, :safari, :edge, :chrome_headless, :firefox_headless, :firefox_legacy
232
+ when :firefox, :chrome, :ie, :safari, :edge, :firefox_legacy
233
+ Environ.platform = :desktop
234
+ when :chrome_headless, :firefox_headless
230
235
  Environ.platform = :desktop
236
+ Environ.headless = true
231
237
  else
232
238
  Environ.platform = :mobile
233
239
  Environ.device_name = Browsers.mobile_device_name(ENV['WEB_BROWSER'])
@@ -255,17 +261,15 @@ module TestCentricity
255
261
  Capybara::Selenium::Driver.new(app, browser: :firefox, options: options, driver_path: @webdriver_path)
256
262
  end
257
263
  when :chrome, :chrome_headless
258
- if browser == :chrome
259
- options = Selenium::WebDriver::Chrome::Options.new
260
- else
261
- options = Selenium::WebDriver::Chrome::Options.new(args: %w[headless disable-gpu no-sandbox])
262
- end
264
+ (browser == :chrome) ?
265
+ options = Selenium::WebDriver::Chrome::Options.new :
266
+ options = Selenium::WebDriver::Chrome::Options.new(args: %w[headless disable-gpu no-sandbox])
263
267
  options.add_argument('--disable-infobars')
264
268
  options.add_argument("--lang=#{ENV['LOCALE']}") if ENV['LOCALE']
265
269
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
266
270
  else
267
271
  user_agent = Browsers.mobile_device_agent(ENV['WEB_BROWSER'])
268
- ENV['HOST_BROWSER'] ? host_browser = ENV['HOST_BROWSER'].downcase.to_sym : host_browser = :firefox
272
+ ENV['HOST_BROWSER'] ? host_browser = ENV['HOST_BROWSER'].downcase.to_sym : host_browser = :chrome
269
273
  case host_browser
270
274
  when :firefox
271
275
  profile = Selenium::WebDriver::Firefox::Profile.new
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: 3.0.4
4
+ version: 3.0.5
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-05-12 00:00:00.000000000 Z
11
+ date: 2018-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler