testcentricity_web 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6b35ced39b5ac4d97276a251e1a27b7ee1a9efd
4
- data.tar.gz: 337a5c09b14e9afd16d2597ab38fea8b67ac4278
3
+ metadata.gz: 9cb0e1a1851e2ac0feb4df8e4f1b0b80b7b7f2d4
4
+ data.tar.gz: 35ac1c8ade715fdd4ed7b1157caa297561b8e0a3
5
5
  SHA512:
6
- metadata.gz: 7cfc198f368d3884d069786a4712fb1161af583b1003fb0c544fd8561b0ef1ef7f412508affb75a8a9a55a2f212ab972e1f637a84a9fa757f59e8eb8eb449caf
7
- data.tar.gz: 2b91285c7b93ceea60223140e98faa4885ef7e7fdf994be924f0f8250ac41f57324f53f303c992c9668a45b0c916bdc3dca237c96b7a41d27f08f147583b0da5
6
+ metadata.gz: 653539ce697349cc81341c96669abc6cb647e687fa630bc79c57acc844892a667c871d771673501c71b6427b25ad570142d6c0b570c28f9827ba1b3739432043
7
+ data.tar.gz: 6305c88271b41331e3dfca4fffd697c8b4223b69a03bc8821523dd0d3fbd98ad2d289922af589c600a7c5241202d00f143a7d5789730b3ea25e52d6c42768b31
data/README.md CHANGED
@@ -4,8 +4,9 @@ The TestCentricity™ core generic framework for desktop and mobile web site tes
4
4
  use with Cucumber, Capybara, and Selenium-Webdriver.
5
5
 
6
6
  The TestCentricity™ web gem supports running testing against the following web test targets:
7
+
7
8
  * locally hosted desktop browsers (Firefox, Chrome, Safari, IE, or Edge)
8
- * locally hosted emulated iOS and Android mobile browsers (using Firefox)
9
+ * locally hosted emulated iOS, Android, and Windows Phone mobile browsers (using Firefox)
9
10
  * a "headless" browser (using Poltergeist and PhantomJS)
10
11
  * cloud hosted desktop or mobile web browsers using the BrowserStack, Sauce Labs, CrossBrowserTesting, or TestingBot services.
11
12
 
@@ -345,8 +346,9 @@ For locally hosted desktop web browsers, the `WEB_BROWSER` Environment Variable
345
346
 
346
347
  ### Locally hosted emulated mobile web browser
347
348
 
348
- You can also run your tests against emulated mobile device browsers within a locally hosted instance of the Firefox desktop browser. You may
349
- even specify the emulated device's screen orientation. For locally hosted emulated mobile web browsers, the `WEB_BROWSER` Environment Variable
349
+ You can also run your tests against emulated mobile device browsers within a locally hosted instance of the Firefox desktop browser. The specified
350
+ mobile browser's user agent and default screen resolution and orientation will be automatically be set in the local Firefox browser instance. You
351
+ may even specify the emulated device's screen orientation. For locally hosted emulated mobile web browsers, the `WEB_BROWSER` Environment Variable
350
352
  must be set to one of the values from the table below:
351
353
 
352
354
  `WEB_BROWSER` |
@@ -360,6 +362,8 @@ must be set to one of the values from the table below:
360
362
  `iphone6_plus` |
361
363
  `android_phone` |
362
364
  `android_tablet` |
365
+ `windows_phone7` |
366
+ `windows_phone8` |
363
367
 
364
368
  To specify the emulated device's screen orientation, you set the `ORIENTATION` Environment Variable to either `portrait` or `landscape`.
365
369
 
@@ -526,6 +530,8 @@ replace the placeholder text with your user account and authorization code for t
526
530
  iphone6_plus: WEB_BROWSER=iphone6_plus <%= mobile %>
527
531
  android_phone: WEB_BROWSER=android_phone <%= mobile %>
528
532
  android_tablet: WEB_BROWSER=android_tablet <%= mobile %>
533
+ windows_phone7: WEB_BROWSER=windows_phone7 <%= mobile %>
534
+ windows_phone8: WEB_BROWSER=windows_phone8 <%= mobile %>
529
535
 
530
536
 
531
537
  #==============
@@ -34,6 +34,24 @@ module TestCentricity
34
34
  obj.set(state)
35
35
  end
36
36
 
37
+ # Set the check state of a checkbox object.
38
+ #
39
+ # @example
40
+ # remember_me_checkbox.check
41
+ #
42
+ def check
43
+ set_checkbox_state(true)
44
+ end
45
+
46
+ # Uncheck a checkbox object.
47
+ #
48
+ # @example
49
+ # remember_me_checkbox.uncheck
50
+ #
51
+ def uncheck
52
+ set_checkbox_state(false)
53
+ end
54
+
37
55
  def verify_check_state(state, enqueue = false)
38
56
  actual = checked?
39
57
  enqueue ?
@@ -0,0 +1,55 @@
1
+ module TestCentricity
2
+ class Radio < UIElement
3
+
4
+ def initialize(parent, locator, context)
5
+ @parent = parent
6
+ @locator = locator
7
+ @context = context
8
+ @type = :radio
9
+ @alt_locator = nil
10
+ end
11
+
12
+ # Is radio button selected?
13
+ #
14
+ # @return [Boolean]
15
+ # @example
16
+ # accept_terms_radio.selected?
17
+ #
18
+ def selected?
19
+ obj, _ = find_element
20
+ object_not_found_exception(obj, 'Radio')
21
+ obj.checked?
22
+ end
23
+
24
+ # Set the select state of a radio button object.
25
+ #
26
+ # @param state [Boolean] true = selected / false = unselected
27
+ # @example
28
+ # accept_terms_radio.set_selected_state(true)
29
+ #
30
+ def set_selected_state(state)
31
+ obj, _ = find_element
32
+ object_not_found_exception(obj, 'Radio')
33
+ invalid_object_type_exception(obj, 'radio')
34
+ obj.set(state)
35
+ end
36
+
37
+ # Set the selected state of a radio button object.
38
+ #
39
+ # @example
40
+ # accept_terms_radio.select
41
+ #
42
+ def select
43
+ set_selected_state(true)
44
+ end
45
+
46
+ # Unselect a radio button object.
47
+ #
48
+ # @example
49
+ # accept_terms_radio.unselect
50
+ #
51
+ def unselect
52
+ set_selected_state(false)
53
+ end
54
+ end
55
+ end
@@ -67,6 +67,18 @@ module TestCentricity
67
67
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::CheckBox.new(self, "#{locator}", :page);end))
68
68
  end
69
69
 
70
+ # Declare and instantiate a radio button UI Element for this page object.
71
+ #
72
+ # @param element_name [Symbol] name of radio object (as a symbol)
73
+ # @param locator [String] css selector or xpath expression that uniquely identifies object
74
+ # @example
75
+ # radio :accept_terms_radio, "//input[@id='Accept_Terms']"
76
+ # radio :decline_terms_radio, "decline_terms_conditions"
77
+ #
78
+ def self.radio(element_name, locator)
79
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Radio.new(self, "#{locator}", :page);end))
80
+ end
81
+
70
82
  # Declare and instantiate a label UI Element for this page object.
71
83
  #
72
84
  # @param element_name [Symbol] name of label object (as a symbol)
@@ -75,6 +75,18 @@ module TestCentricity
75
75
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::CheckBox.new(self, "#{locator}", :section);end))
76
76
  end
77
77
 
78
+ # Declare and instantiate a radio button UI Element for this page section.
79
+ #
80
+ # @param element_name [Symbol] name of radio object (as a symbol)
81
+ # @param locator [String] css selector or xpath expression that uniquely identifies object
82
+ # @example
83
+ # radio :accept_terms_radio, "//input[@id='Accept_Terms']"
84
+ # radio :decline_terms_radio, "decline_terms_conditions"
85
+ #
86
+ def self.radio(element_name, locator)
87
+ class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Radio.new(self, "#{locator}", :section);end))
88
+ end
89
+
78
90
  # Declare and instantiate a label UI Element for this page section.
79
91
  #
80
92
  # @param element_name [Symbol] name of label object (as a symbol)
@@ -134,7 +146,7 @@ module TestCentricity
134
146
  class_eval(%Q(def #{element_name.to_s};@#{element_name.to_s} ||= TestCentricity::Image.new(self, "#{locator}", :section);end))
135
147
  end
136
148
 
137
- # Declare and instantiate a File Field UI Element for this page object.
149
+ # Declare and instantiate a File Field UI Element for this page section.
138
150
  #
139
151
  # @param element_name [Symbol] name of file field object (as a symbol)
140
152
  # @param locator [String] css selector or xpath expression that uniquely identifies object
@@ -1,3 +1,3 @@
1
1
  module TestCentricityWeb
2
- VERSION = '0.6.7'
2
+ VERSION = '0.6.8'
3
3
  end
@@ -51,7 +51,7 @@ module TestCentricity
51
51
  case browser.downcase.to_sym
52
52
  when :firefox, :chrome, :ie, :safari, :edge
53
53
  Capybara::Selenium::Driver.new(app, :browser => browser.to_sym)
54
- when :iphone, :iphone5, :iphone6, :iphone6_plus, :ipad, :ipad_pro, :android_phone, :android_tablet
54
+ when :iphone, :iphone5, :iphone6, :iphone6_plus, :ipad, :ipad_pro, :android_phone, :android_tablet, :windows_phone7, :windows_phone8
55
55
  Environ.set_platform(:mobile)
56
56
  profile = Selenium::WebDriver::Firefox::Profile.new
57
57
  profile['general.useragent.override'] = Browsers.mobile_device_agent(browser)
@@ -23,6 +23,7 @@ require 'testcentricity_web/elements/file_field'
23
23
  require 'testcentricity_web/elements/image'
24
24
  require 'testcentricity_web/elements/label'
25
25
  require 'testcentricity_web/elements/link'
26
+ require 'testcentricity_web/elements/radio'
26
27
  require 'testcentricity_web/elements/select_list'
27
28
  require 'testcentricity_web/elements/table'
28
29
  require 'testcentricity_web/elements/textfield'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testcentricity_web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - A.J. Mrozinski
@@ -176,6 +176,7 @@ files:
176
176
  - lib/testcentricity_web/elements/image.rb
177
177
  - lib/testcentricity_web/elements/label.rb
178
178
  - lib/testcentricity_web/elements/link.rb
179
+ - lib/testcentricity_web/elements/radio.rb
179
180
  - lib/testcentricity_web/elements/select_list.rb
180
181
  - lib/testcentricity_web/elements/table.rb
181
182
  - lib/testcentricity_web/elements/textfield.rb