page-object 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/ChangeLog +7 -0
- data/cucumber.yml +2 -2
- data/features/html/static_elements.html +19 -4
- data/features/link.feature +4 -0
- data/features/radio_button_group.feature +29 -0
- data/features/step_definitions/file_field_steps.rb +1 -1
- data/features/step_definitions/link_steps.rb +10 -2
- data/features/step_definitions/radio_button_group_steps.rb +36 -0
- data/features/step_definitions/table_steps.rb +5 -0
- data/features/support/page.rb +4 -2
- data/features/table.feature +12 -14
- data/lib/page-object/accessors.rb +57 -3
- data/lib/page-object/elements/link.rb +6 -1
- data/lib/page-object/locator_generator.rb +1 -1
- data/lib/page-object/platforms/selenium_webdriver/link.rb +8 -1
- data/lib/page-object/platforms/watir_webdriver/link.rb +15 -0
- data/lib/page-object/platforms/watir_webdriver/select_list.rb +2 -8
- data/lib/page-object/version.rb +1 -1
- data/page-object.gemspec +4 -4
- metadata +16 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b60613a20247f2e26ec7fe5df521f0622035c18
|
4
|
+
data.tar.gz: bc07cf9b7590f3077227ed25750494c527b36892
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c150363a5db1f94851f6b680de80b2f2b2fac5172071ce799b18f2ed1c01280c2ff83837026abf21f1ce31efcb7ebe7a776e1cf49b70f4a54e6bba4a5330d36b
|
7
|
+
data.tar.gz: 2871e1bbe2d0a64441bc722fc45db5e72175e685f691642c04024193b20b0cc9e614aebae9f68becd11048d2e8966fc75471d617909e7b8d8a71525e4a324f5a
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.0.0-
|
1
|
+
ruby-2.0.0-p353
|
data/ChangeLog
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
=== Version 0.9.5 / 2014-1-22
|
2
|
+
* Enhancements
|
3
|
+
* Updated to use the latest selenium-webdriver 2.39.0
|
4
|
+
* Added href method to Link
|
5
|
+
* Added generation of plural version of basic types on class
|
6
|
+
* Added new accessors for radio button group (Thanks Travis Fillmore)
|
7
|
+
|
1
8
|
=== Version 0.9.4 / 2013-11-29
|
2
9
|
* Enhancements
|
3
10
|
* Added ability for execute_scripts to accept arguments (Thanks Justin Ko)
|
data/cucumber.yml
CHANGED
@@ -5,6 +5,6 @@ std_opts = "--no-source --color --format pretty" # Cucumber::Formatter::Fuubar"
|
|
5
5
|
default: DRIVER=WATIR <%= std_opts %> --tags ~@selenium_only
|
6
6
|
watir_webdriver: DRIVER=WATIR <%= std_opts %> --tags ~@selenium_only
|
7
7
|
selenium_webdriver: DRIVER=SELENIUM <%= std_opts %> --tags ~@watir_only
|
8
|
-
|
9
|
-
focus: DRIVER=SELENIUM <%= std_opts %> --tags ~@watir_only --tags @focus
|
8
|
+
focus: DRIVER=WATIR <%= std_opts %> --tags ~@selenium_only --tags @focus
|
9
|
+
#focus: DRIVER=SELENIUM <%= std_opts %> --tags ~@watir_only --tags @focus
|
10
10
|
|
@@ -69,6 +69,13 @@
|
|
69
69
|
<input type="radio" id="milk_id" name="milk_name" class="milk_class" value="Milk"> Milk <br/>
|
70
70
|
<input type="radio" id="butter_id" name="butter_name" class="butter_class" value="Butter">Butter
|
71
71
|
|
72
|
+
<br/>
|
73
|
+
<label>Radio Button Group</label>
|
74
|
+
<input type="radio" name="fav_cheese" value="ched">Cheddar</input>
|
75
|
+
<input type="radio" name="fav_cheese" value="emmen">Emmental</input>
|
76
|
+
<input type="radio" name="fav_cheese" value="muen">Muenster</input>
|
77
|
+
<br/>
|
78
|
+
|
72
79
|
<div id="div_id" name="div_name" class="div_class" title="div_title">
|
73
80
|
page-object rocks!
|
74
81
|
</div>
|
@@ -85,14 +92,22 @@
|
|
85
92
|
</label>
|
86
93
|
|
87
94
|
<table id='table_id' name='table_name' class='table_class' border='1'>
|
95
|
+
<thead>
|
96
|
+
<tr>
|
97
|
+
<th>Table</th>
|
98
|
+
<th>Header</th>
|
99
|
+
</tr>
|
100
|
+
</thead>
|
101
|
+
<tbody>
|
88
102
|
<tr>
|
89
|
-
|
90
|
-
|
103
|
+
<td>Data1</td>
|
104
|
+
<td>Data2</td>
|
91
105
|
</tr>
|
92
106
|
<tr>
|
93
|
-
|
94
|
-
|
107
|
+
<td>Data3</td>
|
108
|
+
<td id='cell_id' name='cell_name' class='cell_class'>Data4</td>
|
95
109
|
</tr>
|
110
|
+
</tbody>
|
96
111
|
</table>
|
97
112
|
|
98
113
|
<table id='table_with_thead_id' border='1'>
|
data/features/link.feature
CHANGED
@@ -42,3 +42,7 @@ Feature: Links
|
|
42
42
|
Scenario: Finding a link dynamically
|
43
43
|
When I select a link while the script is executing
|
44
44
|
And the page should contain the text "Success"
|
45
|
+
|
46
|
+
Scenario: Getting the href for a link
|
47
|
+
When I get the href for the link
|
48
|
+
Then I should know it was "success.html"
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Feature: Radio Button Groups
|
2
|
+
In order to interact with radio button groups
|
3
|
+
Testers will need access and interrogation ability
|
4
|
+
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given I am on the static elements page
|
8
|
+
|
9
|
+
Scenario: Confirm existence of a radio button group
|
10
|
+
Then I should see that the radio button group exists
|
11
|
+
|
12
|
+
Scenario: No radio buttons in the group have been selected
|
13
|
+
When no radio buttons have been selected
|
14
|
+
Then no radio buttons should be selected in the group
|
15
|
+
|
16
|
+
Scenario: Selecting grouped radio buttons by value
|
17
|
+
When I select the "ched" radio button in the group
|
18
|
+
Then the "ched" radio button should be selected in the group
|
19
|
+
Then the "emmen" radio button should not be selected
|
20
|
+
Then the "muen" radio button should not be selected
|
21
|
+
When I select the "muen" radio button in the group
|
22
|
+
Then the "ched" radio button should not be selected
|
23
|
+
Then the "emmen" radio button should not be selected
|
24
|
+
Then the "muen" radio button should be selected in the group
|
25
|
+
|
26
|
+
Scenario: Getting an array of elements for each radio button in the group
|
27
|
+
When I ask for the elements of a radio button group
|
28
|
+
Then I should have an array with elements for each radio button
|
29
|
+
And the radio button element values should be "ched", "emmen", "muen"
|
@@ -3,7 +3,7 @@ When /^I set the file field to the step definition file$/ do
|
|
3
3
|
end
|
4
4
|
|
5
5
|
Then /^its\' value should equal that file$/ do
|
6
|
-
@page.file_field_id_element.value
|
6
|
+
__FILE__.should include @page.file_field_id_element.value
|
7
7
|
end
|
8
8
|
|
9
9
|
When /^I search for the file field by "([^\"]*)"$/ do |how|
|
@@ -19,6 +19,14 @@ When /^I select a link while the script is executing$/ do
|
|
19
19
|
link.click
|
20
20
|
end
|
21
21
|
|
22
|
-
Then
|
22
|
+
Then(/^I should see that the link exists$/) do
|
23
23
|
@page.link_id?.should == true
|
24
|
-
end
|
24
|
+
end
|
25
|
+
|
26
|
+
When(/^I get the href for the link$/) do
|
27
|
+
@href = @page.google_search_id_element.href
|
28
|
+
end
|
29
|
+
|
30
|
+
Then(/^I should know it was "(.*?)"$/) do |href|
|
31
|
+
@href.should include href
|
32
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
When /^no radio buttons have been selected$/ do
|
2
|
+
# nothing to do here
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^no radio buttons should be selected in the group$/ do
|
6
|
+
@page.favorite_cheese_selected?.should == false
|
7
|
+
end
|
8
|
+
|
9
|
+
When /^I select the "([^\"]*)" radio button in the group$/ do |how|
|
10
|
+
@page.select_favorite_cheese("#{how}")
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^the "([^\"]*)" radio button should be selected in the group$/ do |how|
|
14
|
+
@page.favorite_cheese_selected?.should == "#{how}"
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^the "([^\"]*)" radio button should not be selected$/ do |how|
|
18
|
+
@page.favorite_cheese_selected?.should_not == "#{how}"
|
19
|
+
end
|
20
|
+
|
21
|
+
Then /^I should see that the radio button group exists$/ do
|
22
|
+
@page.favorite_cheese?.should == true
|
23
|
+
end
|
24
|
+
|
25
|
+
When /^I ask for the elements of a radio button group$/ do
|
26
|
+
@elems = @page.favorite_cheese_elements
|
27
|
+
end
|
28
|
+
|
29
|
+
Then /^I should have an array with elements for each radio button$/ do
|
30
|
+
@elems.length.should == 3
|
31
|
+
end
|
32
|
+
|
33
|
+
And /^the radio button element values should be "([^\"]*)", "([^\"]*)", "([^\"]*)"$/ do |val1, val2, val3|
|
34
|
+
elem_arr = @elems.collect { |elem| elem.value }
|
35
|
+
elem_arr.should == [val1, val2, val3]
|
36
|
+
end
|
@@ -31,6 +31,11 @@ Then /^the data for the first row should be "([^\"]*)" and "([^\"]*)"$/ do |col1
|
|
31
31
|
@element.first_row[1].text.should == col2
|
32
32
|
end
|
33
33
|
|
34
|
+
Then /^the data for the second row should be "([^\"]*)" and "([^\"]*)"$/ do |col1, col2|
|
35
|
+
@element[1][0].text.should == col1
|
36
|
+
@element[1][1].text.should == col2
|
37
|
+
end
|
38
|
+
|
34
39
|
Then /^the data for the last row should be "([^\"]*)" and "([^\"]*)"$/ do |col1, col2|
|
35
40
|
@element.last_row[0].text.should == col1
|
36
41
|
@element.last_row[1].text.should == col2
|
data/features/support/page.rb
CHANGED
@@ -100,6 +100,8 @@ class Page
|
|
100
100
|
|
101
101
|
radio_button(:butter_id, :id => 'butter_id')
|
102
102
|
|
103
|
+
radio_button_group(:favorite_cheese, name: 'fav_cheese')
|
104
|
+
|
103
105
|
div(:div_id, :id => 'div_id')
|
104
106
|
div(:div_name, :name => 'div_name')
|
105
107
|
div(:div_class, :class => 'div_class')
|
@@ -309,8 +311,8 @@ class Page
|
|
309
311
|
label(:label_class, :class => 'label_class')
|
310
312
|
label(:label_css, :css => '.label_class')
|
311
313
|
label(:label_text, :text => 'page-object is the best!')
|
312
|
-
label(:label_index, :index =>
|
313
|
-
label(:label_xpath, :xpath => '//label[
|
314
|
+
label(:label_index, :index => 6)
|
315
|
+
label(:label_xpath, :xpath => '//label[7]')
|
314
316
|
label(:label_class_index, :class => "label_class", :index => 0)
|
315
317
|
label(:label_name_index, :name => "label_name", :index => 0)
|
316
318
|
|
data/features/table.feature
CHANGED
@@ -17,13 +17,11 @@ Feature: Table
|
|
17
17
|
|
18
18
|
Scenario: Retrieve the data from a table
|
19
19
|
When I retrieve a table element
|
20
|
-
Then the data for row "
|
21
|
-
And the data for row "
|
22
|
-
And the table should have "
|
23
|
-
And
|
24
|
-
And row "
|
25
|
-
And each column should contain "Data"
|
26
|
-
And the data for the first row should be "Data1" and "Data2"
|
20
|
+
Then the data for row "2" should be "Data1" and "Data2"
|
21
|
+
And the data for row "3" should be "Data3" and "Data4"
|
22
|
+
And the table should have "3" rows
|
23
|
+
And row "2" should have "2" columns
|
24
|
+
And the data for the second row should be "Data1" and "Data2"
|
27
25
|
And the data for the last row should be "Data3" and "Data4"
|
28
26
|
|
29
27
|
Scenario: Retrieve data from a table using a row header
|
@@ -44,7 +42,7 @@ Feature: Table
|
|
44
42
|
|
45
43
|
Scenario: Retrieve data from a table using a column header
|
46
44
|
When I retrieve a table element
|
47
|
-
Then the data for column "
|
45
|
+
Then the data for column "Header" and row "3" should be "Data4"
|
48
46
|
|
49
47
|
Scenario: Retrieve data from a table with a thead using a column header
|
50
48
|
When I retrieve a table with thead element
|
@@ -56,11 +54,11 @@ Feature: Table
|
|
56
54
|
|
57
55
|
Scenario: Retrieve data from a table using a partial column header
|
58
56
|
When I retrieve a table element
|
59
|
-
Then the data for column "
|
57
|
+
Then the data for column "eader" and row "3" should be "Data4"
|
60
58
|
|
61
59
|
Scenario: Retrieve data from a table using both headers
|
62
60
|
When I retrieve a table element
|
63
|
-
Then the data for row "Data3" and column "
|
61
|
+
Then the data for row "Data3" and column "eader" should be "Data4"
|
64
62
|
|
65
63
|
Scenario: Retrieve data from a table with an incorrect row header
|
66
64
|
When I retrieve a table element
|
@@ -76,7 +74,7 @@ Feature: Table
|
|
76
74
|
|
77
75
|
Scenario Outline: Locating table cells on the Page
|
78
76
|
When I retrieve a table element by "<search_by>"
|
79
|
-
Then the data for row "
|
77
|
+
Then the data for row "2" should be "Data1" and "Data2"
|
80
78
|
|
81
79
|
Scenarios:
|
82
80
|
| search_by |
|
@@ -89,7 +87,7 @@ Feature: Table
|
|
89
87
|
@selenium_only
|
90
88
|
Scenario Outline: Locating table cells on the Page
|
91
89
|
When I retrieve a table element by "<search_by>"
|
92
|
-
Then the data for row "
|
90
|
+
Then the data for row "2" should be "Data1" and "Data2"
|
93
91
|
|
94
92
|
Scenarios:
|
95
93
|
| search_by |
|
@@ -97,7 +95,7 @@ Feature: Table
|
|
97
95
|
|
98
96
|
Scenario Outline: Locating table using multiple parameters
|
99
97
|
When I retrieve a table element by "<param1>" and "<param2>"
|
100
|
-
Then the data for row "
|
98
|
+
Then the data for row "2" should be "Data1" and "Data2"
|
101
99
|
|
102
100
|
Scenarios:
|
103
101
|
| param1 | param2 |
|
@@ -106,7 +104,7 @@ Feature: Table
|
|
106
104
|
|
107
105
|
Scenario: Finding a table dynamically
|
108
106
|
When I retrieve a table element while the script is executing
|
109
|
-
And the data for row "
|
107
|
+
And the data for row "2" should be "Data1" and "Data2"
|
110
108
|
|
111
109
|
@watir_only
|
112
110
|
Scenario: Finding an existing table
|
@@ -419,6 +419,56 @@ module PageObject
|
|
419
419
|
end
|
420
420
|
alias_method :radio, :radio_button
|
421
421
|
|
422
|
+
#
|
423
|
+
# adds five methods to help interact with a radio button group -
|
424
|
+
# a method to select a radio button in the group by given value/text,
|
425
|
+
# a method to return the values of all radio buttins in the group, a method
|
426
|
+
# to return if a radio button in the group is selected (will return
|
427
|
+
# the text of the selected radio button, if true), a method to return
|
428
|
+
# an array of PageObject::Elements::RadioButton objects representing
|
429
|
+
# the radio button group, and finally a method to check the existence
|
430
|
+
# of the radio button group.
|
431
|
+
#
|
432
|
+
# @example
|
433
|
+
# radio_button_group(:color, :name => "preferred_color")
|
434
|
+
# will generate 'select_color', 'color_values', 'color_selected?',
|
435
|
+
# 'color_elements', and 'color?' methods
|
436
|
+
#
|
437
|
+
# @param [Symbol] the name used for the generated methods
|
438
|
+
# @param [Hash] shared identifier for the radio button group. Typically, a 'name' attribute.
|
439
|
+
# The valid keys are:
|
440
|
+
# * :name => Watir and Selenium
|
441
|
+
#
|
442
|
+
def radio_button_group(name, identifier)
|
443
|
+
define_method("select_#{name}") do |value|
|
444
|
+
platform.radio_buttons_for(identifier.clone).each do |radio_elem|
|
445
|
+
if radio_elem.value == value
|
446
|
+
return radio_elem.select
|
447
|
+
end
|
448
|
+
end
|
449
|
+
end
|
450
|
+
define_method("#{name}_values") do
|
451
|
+
result = []
|
452
|
+
platform.radio_buttons_for(identifier.clone).each do |radio_elem|
|
453
|
+
result << radio_elem.value
|
454
|
+
end
|
455
|
+
return result
|
456
|
+
end
|
457
|
+
define_method("#{name}_selected?") do
|
458
|
+
platform.radio_buttons_for(identifier.clone).each do |radio_elem|
|
459
|
+
return radio_elem.value if radio_elem.selected?
|
460
|
+
end
|
461
|
+
return false
|
462
|
+
end
|
463
|
+
define_method("#{name}_elements") do
|
464
|
+
return platform.radio_buttons_for(identifier.clone)
|
465
|
+
end
|
466
|
+
define_method("#{name}?") do
|
467
|
+
return platform.radio_buttons_for(identifier.clone).any?
|
468
|
+
end
|
469
|
+
end
|
470
|
+
alias_method :radio_group, :radio_button_group
|
471
|
+
|
422
472
|
#
|
423
473
|
# adds three methods - one to click a button, another to
|
424
474
|
# return the button element, and another to check the button's existence.
|
@@ -1155,11 +1205,15 @@ module PageObject
|
|
1155
1205
|
# * :xpath => Watir and Selenium
|
1156
1206
|
# @param optional block to be invoked when element method is called
|
1157
1207
|
#
|
1158
|
-
LocatorGenerator::BASIC_ELEMENTS.each do |
|
1159
|
-
define_method(
|
1208
|
+
LocatorGenerator::BASIC_ELEMENTS.each do |tag|
|
1209
|
+
define_method(tag) do |name, *identifier, &block|
|
1160
1210
|
identifier = identifier[0] ? identifier[0] : {:index => 0}
|
1161
|
-
element(name,
|
1211
|
+
element(name, tag, identifier, &block)
|
1162
1212
|
end
|
1213
|
+
define_method("#{tag}s") do |name, *identifier, &block|
|
1214
|
+
identifier = identifier[0] ? identifier[0] : {:index => 0}
|
1215
|
+
elements(name, tag, identifier, &block)
|
1216
|
+
end unless tag == :param
|
1163
1217
|
end
|
1164
1218
|
|
1165
1219
|
def standard_methods(name, identifier, method, &block)
|
@@ -28,9 +28,14 @@ module PageObject
|
|
28
28
|
|
29
29
|
def include_platform_for platform
|
30
30
|
super
|
31
|
-
if platform[:platform] == :
|
31
|
+
if platform[:platform] == :watir_webdriver
|
32
|
+
require 'page-object/platforms/watir_webdriver/link'
|
33
|
+
self.class.send :include, PageObject::Platforms::WatirWebDriver::Link
|
34
|
+
elsif platform[:platform] == :selenium_webdriver
|
32
35
|
require 'page-object/platforms/selenium_webdriver/link'
|
33
36
|
self.class.send :include, PageObject::Platforms::SeleniumWebDriver::Link
|
37
|
+
else
|
38
|
+
raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver"
|
34
39
|
end
|
35
40
|
end
|
36
41
|
end
|
@@ -104,7 +104,7 @@ module PageObject
|
|
104
104
|
:svg]
|
105
105
|
|
106
106
|
def self.generate_locators(target)
|
107
|
-
|
107
|
+
ADVANCED_ELEMENTS.each do |tag|
|
108
108
|
target.send(:define_method, "#{tag.to_s}_element") do |*identifier|
|
109
109
|
@platform.send "#{tag.to_s}_for", locator(identifier)
|
110
110
|
end
|
@@ -10,7 +10,7 @@ module PageObject
|
|
10
10
|
# @return [PageObject::Elements::Option]
|
11
11
|
#
|
12
12
|
def [](idx)
|
13
|
-
|
13
|
+
options[idx]
|
14
14
|
end
|
15
15
|
|
16
16
|
#
|
@@ -34,12 +34,7 @@ module PageObject
|
|
34
34
|
# @return [array of PageObject::Elements::Option]
|
35
35
|
#
|
36
36
|
def options
|
37
|
-
|
38
|
-
options = element.wd.find_elements(:xpath, child_xpath)
|
39
|
-
options.each do |opt|
|
40
|
-
elements << Object::PageObject::Elements::Option.new(opt, :platform => :watir_webdriver)
|
41
|
-
end
|
42
|
-
elements
|
37
|
+
element.options.map { |e| ::PageObject::Elements::Option.new(e, :platform => :watir_webdriver) }
|
43
38
|
end
|
44
39
|
|
45
40
|
#
|
@@ -56,7 +51,6 @@ module PageObject
|
|
56
51
|
element.selected_options.map { |e| e.value }.compact
|
57
52
|
end
|
58
53
|
|
59
|
-
|
60
54
|
#
|
61
55
|
# Returns true if the select list has one or more options where text or label matches the given value.
|
62
56
|
#
|
data/lib/page-object/version.rb
CHANGED
data/page-object.gemspec
CHANGED
@@ -21,11 +21,11 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.require_paths = ["lib"]
|
22
22
|
|
23
23
|
s.add_dependency 'watir-webdriver', '>= 0.6.4'
|
24
|
-
s.add_dependency 'selenium-webdriver', '>= 2.
|
25
|
-
s.add_dependency 'page_navigation', '>= 0.
|
24
|
+
s.add_dependency 'selenium-webdriver', '>= 2.39.0'
|
25
|
+
s.add_dependency 'page_navigation', '>= 0.9'
|
26
26
|
|
27
|
-
s.add_development_dependency 'rspec', '>= 2.
|
28
|
-
s.add_development_dependency 'cucumber', '>= 1.
|
27
|
+
s.add_development_dependency 'rspec', '>= 2.14.0'
|
28
|
+
s.add_development_dependency 'cucumber', '>= 1.3.0'
|
29
29
|
s.add_development_dependency 'yard', '>= 0.7.2'
|
30
30
|
s.add_development_dependency 'rack', '>= 1.0'
|
31
31
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: page-object
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Morgan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: watir-webdriver
|
@@ -30,56 +30,56 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.
|
33
|
+
version: 2.39.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.
|
40
|
+
version: 2.39.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: page_navigation
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
47
|
+
version: '0.9'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
54
|
+
version: '0.9'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 2.
|
61
|
+
version: 2.14.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.
|
68
|
+
version: 2.14.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cucumber
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
75
|
+
version: 1.3.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
82
|
+
version: 1.3.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: yard
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -186,6 +186,7 @@ files:
|
|
186
186
|
- features/page_level_actions.feature
|
187
187
|
- features/paragraph.feature
|
188
188
|
- features/radio_button.feature
|
189
|
+
- features/radio_button_group.feature
|
189
190
|
- features/sample-app/public/jquery-1.3.2.js
|
190
191
|
- features/sample-app/public/jquery.html
|
191
192
|
- features/sample-app/public/prototype-1.6.0.3.js
|
@@ -222,6 +223,7 @@ files:
|
|
222
223
|
- features/step_definitions/page_level_actions_steps.rb
|
223
224
|
- features/step_definitions/page_traversal_steps.rb
|
224
225
|
- features/step_definitions/paragraph_steps.rb
|
226
|
+
- features/step_definitions/radio_button_group_steps.rb
|
225
227
|
- features/step_definitions/radio_button_steps.rb
|
226
228
|
- features/step_definitions/select_list_steps.rb
|
227
229
|
- features/step_definitions/span_steps.rb
|
@@ -314,6 +316,7 @@ files:
|
|
314
316
|
- lib/page-object/platforms/watir_webdriver/file_field.rb
|
315
317
|
- lib/page-object/platforms/watir_webdriver/form.rb
|
316
318
|
- lib/page-object/platforms/watir_webdriver/image.rb
|
319
|
+
- lib/page-object/platforms/watir_webdriver/link.rb
|
317
320
|
- lib/page-object/platforms/watir_webdriver/ordered_list.rb
|
318
321
|
- lib/page-object/platforms/watir_webdriver/page_object.rb
|
319
322
|
- lib/page-object/platforms/watir_webdriver/radio_button.rb
|
@@ -390,7 +393,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
390
393
|
version: '0'
|
391
394
|
requirements: []
|
392
395
|
rubyforge_project: page-object
|
393
|
-
rubygems_version: 2.0.
|
396
|
+
rubygems_version: 2.0.14
|
394
397
|
signing_key:
|
395
398
|
specification_version: 4
|
396
399
|
summary: Page Object DSL for browser testing
|
@@ -454,6 +457,7 @@ test_files:
|
|
454
457
|
- features/page_level_actions.feature
|
455
458
|
- features/paragraph.feature
|
456
459
|
- features/radio_button.feature
|
460
|
+
- features/radio_button_group.feature
|
457
461
|
- features/sample-app/public/jquery-1.3.2.js
|
458
462
|
- features/sample-app/public/jquery.html
|
459
463
|
- features/sample-app/public/prototype-1.6.0.3.js
|
@@ -490,6 +494,7 @@ test_files:
|
|
490
494
|
- features/step_definitions/page_level_actions_steps.rb
|
491
495
|
- features/step_definitions/page_traversal_steps.rb
|
492
496
|
- features/step_definitions/paragraph_steps.rb
|
497
|
+
- features/step_definitions/radio_button_group_steps.rb
|
493
498
|
- features/step_definitions/radio_button_steps.rb
|
494
499
|
- features/step_definitions/select_list_steps.rb
|
495
500
|
- features/step_definitions/span_steps.rb
|