page_object 1.1.1
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 +7 -0
- data/.gitignore +7 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +7 -0
- data/ChangeLog +809 -0
- data/Gemfile +14 -0
- data/Guardfile +20 -0
- data/LICENSE +20 -0
- data/README.md +111 -0
- data/Rakefile +35 -0
- data/cucumber.yml +10 -0
- data/features/area.feature +35 -0
- data/features/async.feature +30 -0
- data/features/audio.feature +68 -0
- data/features/bold.feature +21 -0
- data/features/button.feature +98 -0
- data/features/canvas.feature +37 -0
- data/features/check_box.feature +55 -0
- data/features/div.feature +45 -0
- data/features/element.feature +322 -0
- data/features/file_field.feature +40 -0
- data/features/form.feature +43 -0
- data/features/frames.feature +75 -0
- data/features/generic_elements.feature +29 -0
- data/features/gxt_table_extension.feature +24 -0
- data/features/headings.feature +97 -0
- data/features/hidden_field.feature +45 -0
- data/features/html/04-Death_Becomes_Fur.mp4 +0 -0
- data/features/html/04-Death_Becomes_Fur.oga +0 -0
- data/features/html/async.html +36 -0
- data/features/html/double_click.html +13 -0
- data/features/html/failure.html +8 -0
- data/features/html/frame_1.html +18 -0
- data/features/html/frame_2.html +16 -0
- data/features/html/frame_3.html +14 -0
- data/features/html/frames.html +12 -0
- data/features/html/hover.html +12 -0
- data/features/html/iframes.html +12 -0
- data/features/html/images/circle.png +0 -0
- data/features/html/images/img_pulpit.jpg +0 -0
- data/features/html/images/submit.gif +0 -0
- data/features/html/indexed_property.html +55 -0
- data/features/html/modal.html +17 -0
- data/features/html/modal_1.html +38 -0
- data/features/html/modal_2.html +27 -0
- data/features/html/movie.mp4 +0 -0
- data/features/html/movie.ogg +0 -0
- data/features/html/multi_elements.html +144 -0
- data/features/html/nested_elements.html +77 -0
- data/features/html/nested_frame_1.html +1 -0
- data/features/html/nested_frame_2.html +11 -0
- data/features/html/nested_frame_3.html +14 -0
- data/features/html/nested_frames.html +10 -0
- data/features/html/planets.gif +0 -0
- data/features/html/static_elements.html +207 -0
- data/features/html/success.html +8 -0
- data/features/html/sun.gif +0 -0
- data/features/html/sun.html +7 -0
- data/features/image.feature +50 -0
- data/features/indexed_property.feature +117 -0
- data/features/javascript.feature +28 -0
- data/features/label.feature +46 -0
- data/features/link.feature +52 -0
- data/features/list_item.feature +36 -0
- data/features/modal_dialog.feature +15 -0
- data/features/multi_elements.feature +492 -0
- data/features/nested_elements.feature +117 -0
- data/features/ordered_list.feature +56 -0
- data/features/page_level_actions.feature +90 -0
- data/features/paragraph.feature +35 -0
- data/features/radio_button.feature +58 -0
- data/features/radio_button_group.feature +29 -0
- data/features/sample-app/public/jquery-1.3.2.js +4376 -0
- data/features/sample-app/public/jquery.html +30 -0
- data/features/sample-app/public/prototype-1.6.0.3.js +4320 -0
- data/features/sample-app/public/prototype.html +35 -0
- data/features/sample-app/sample_app.rb +35 -0
- data/features/section.feature +132 -0
- data/features/select_list.feature +86 -0
- data/features/span.feature +37 -0
- data/features/step_definitions/accessor_steps.rb +64 -0
- data/features/step_definitions/area_steps.rb +19 -0
- data/features/step_definitions/async_steps.rb +83 -0
- data/features/step_definitions/audio_steps.rb +27 -0
- data/features/step_definitions/bold_steps.rb +12 -0
- data/features/step_definitions/button_steps.rb +48 -0
- data/features/step_definitions/canvas_steps.rb +15 -0
- data/features/step_definitions/check_box_steps.rb +35 -0
- data/features/step_definitions/div_steps.rb +19 -0
- data/features/step_definitions/element_steps.rb +266 -0
- data/features/step_definitions/file_field_steps.rb +19 -0
- data/features/step_definitions/form_steps.rb +19 -0
- data/features/step_definitions/frames_steps.rb +159 -0
- data/features/step_definitions/generic_element_steps.rb +31 -0
- data/features/step_definitions/gxt_table_steps.rb +58 -0
- data/features/step_definitions/headings_steps.rb +12 -0
- data/features/step_definitions/hidden_field_steps.rb +27 -0
- data/features/step_definitions/image_steps.rb +27 -0
- data/features/step_definitions/indexed_property_steps.rb +163 -0
- data/features/step_definitions/javascript_steps.rb +53 -0
- data/features/step_definitions/label_steps.rb +19 -0
- data/features/step_definitions/link_steps.rb +40 -0
- data/features/step_definitions/list_item_steps.rb +19 -0
- data/features/step_definitions/modal_dialog_steps.rb +62 -0
- data/features/step_definitions/multi_elements_steps.rb +541 -0
- data/features/step_definitions/nested_elements_steps.rb +212 -0
- data/features/step_definitions/ordered_list_steps.rb +23 -0
- data/features/step_definitions/page_level_actions_steps.rb +135 -0
- data/features/step_definitions/page_traversal_steps.rb +4 -0
- data/features/step_definitions/paragraph_steps.rb +28 -0
- data/features/step_definitions/radio_button_group_steps.rb +36 -0
- data/features/step_definitions/radio_button_steps.rb +27 -0
- data/features/step_definitions/section_steps.rb +268 -0
- data/features/step_definitions/select_list_steps.rb +65 -0
- data/features/step_definitions/span_steps.rb +19 -0
- data/features/step_definitions/table_cell_steps.rb +15 -0
- data/features/step_definitions/table_row_steps.rb +23 -0
- data/features/step_definitions/table_steps.rb +70 -0
- data/features/step_definitions/text_area_steps.rb +35 -0
- data/features/step_definitions/text_field_steps.rb +35 -0
- data/features/step_definitions/unordered_list_steps.rb +23 -0
- data/features/step_definitions/video_steps.rb +45 -0
- data/features/support/ajax_text_environment.rb +26 -0
- data/features/support/env.rb +8 -0
- data/features/support/hooks.rb +8 -0
- data/features/support/page.rb +382 -0
- data/features/support/persistent_browser.rb +70 -0
- data/features/support/targets/firefox14_osx.rb +6 -0
- data/features/support/targets/firefox14_windows7.rb +6 -0
- data/features/support/url_helper.rb +57 -0
- data/features/table.feature +122 -0
- data/features/table_cell.feature +45 -0
- data/features/table_row.feature +43 -0
- data/features/text_area.feature +51 -0
- data/features/text_field.feature +70 -0
- data/features/unordered_list.feature +56 -0
- data/features/video.feature +73 -0
- data/lib/page-object.rb +421 -0
- data/lib/page-object/accessors.rb +1412 -0
- data/lib/page-object/core_ext/string.rb +5 -0
- data/lib/page-object/element_locators.rb +21 -0
- data/lib/page-object/elements.rb +60 -0
- data/lib/page-object/elements/area.rb +31 -0
- data/lib/page-object/elements/audio.rb +9 -0
- data/lib/page-object/elements/bold.rb +11 -0
- data/lib/page-object/elements/button.rb +35 -0
- data/lib/page-object/elements/canvas.rb +23 -0
- data/lib/page-object/elements/check_box.rb +37 -0
- data/lib/page-object/elements/div.rb +19 -0
- data/lib/page-object/elements/element.rb +226 -0
- data/lib/page-object/elements/file_field.rb +38 -0
- data/lib/page-object/elements/form.rb +36 -0
- data/lib/page-object/elements/heading.rb +15 -0
- data/lib/page-object/elements/hidden_field.rb +22 -0
- data/lib/page-object/elements/image.rb +36 -0
- data/lib/page-object/elements/label.rb +19 -0
- data/lib/page-object/elements/link.rb +46 -0
- data/lib/page-object/elements/list_item.rb +19 -0
- data/lib/page-object/elements/media.rb +45 -0
- data/lib/page-object/elements/option.rb +10 -0
- data/lib/page-object/elements/ordered_list.rb +50 -0
- data/lib/page-object/elements/paragraph.rb +9 -0
- data/lib/page-object/elements/radio_button.rb +37 -0
- data/lib/page-object/elements/select_list.rb +42 -0
- data/lib/page-object/elements/span.rb +19 -0
- data/lib/page-object/elements/table.rb +79 -0
- data/lib/page-object/elements/table_cell.rb +28 -0
- data/lib/page-object/elements/table_row.rb +50 -0
- data/lib/page-object/elements/text_area.rb +38 -0
- data/lib/page-object/elements/text_field.rb +42 -0
- data/lib/page-object/elements/unordered_list.rb +51 -0
- data/lib/page-object/elements/video.rb +18 -0
- data/lib/page-object/indexed_properties.rb +40 -0
- data/lib/page-object/javascript/angularjs.rb +14 -0
- data/lib/page-object/javascript/jquery.rb +14 -0
- data/lib/page-object/javascript/prototype.rb +14 -0
- data/lib/page-object/javascript/yui.rb +19 -0
- data/lib/page-object/javascript_framework_facade.rb +80 -0
- data/lib/page-object/loads_platform.rb +45 -0
- data/lib/page-object/locator_generator.rb +131 -0
- data/lib/page-object/nested_elements.rb +17 -0
- data/lib/page-object/page_factory.rb +108 -0
- data/lib/page-object/page_populator.rb +83 -0
- data/lib/page-object/platforms.rb +18 -0
- data/lib/page-object/platforms/selenium_webdriver.rb +30 -0
- data/lib/page-object/platforms/selenium_webdriver/button.rb +15 -0
- data/lib/page-object/platforms/selenium_webdriver/check_box.rb +29 -0
- data/lib/page-object/platforms/selenium_webdriver/element.rb +291 -0
- data/lib/page-object/platforms/selenium_webdriver/file_field.rb +16 -0
- data/lib/page-object/platforms/selenium_webdriver/form.rb +16 -0
- data/lib/page-object/platforms/selenium_webdriver/image.rb +28 -0
- data/lib/page-object/platforms/selenium_webdriver/link.rb +23 -0
- data/lib/page-object/platforms/selenium_webdriver/ordered_list.rb +39 -0
- data/lib/page-object/platforms/selenium_webdriver/page_object.rb +1237 -0
- data/lib/page-object/platforms/selenium_webdriver/radio_button.rb +22 -0
- data/lib/page-object/platforms/selenium_webdriver/select_list.rb +93 -0
- data/lib/page-object/platforms/selenium_webdriver/surrogate_selenium_element.rb +42 -0
- data/lib/page-object/platforms/selenium_webdriver/table.rb +42 -0
- data/lib/page-object/platforms/selenium_webdriver/table_row.rb +43 -0
- data/lib/page-object/platforms/selenium_webdriver/text_area.rb +17 -0
- data/lib/page-object/platforms/selenium_webdriver/text_field.rb +17 -0
- data/lib/page-object/platforms/selenium_webdriver/unordered_list.rb +39 -0
- data/lib/page-object/platforms/watir_webdriver.rb +30 -0
- data/lib/page-object/platforms/watir_webdriver/check_box.rb +29 -0
- data/lib/page-object/platforms/watir_webdriver/element.rb +249 -0
- data/lib/page-object/platforms/watir_webdriver/file_field.rb +16 -0
- data/lib/page-object/platforms/watir_webdriver/form.rb +16 -0
- data/lib/page-object/platforms/watir_webdriver/image.rb +22 -0
- data/lib/page-object/platforms/watir_webdriver/link.rb +15 -0
- data/lib/page-object/platforms/watir_webdriver/ordered_list.rb +35 -0
- data/lib/page-object/platforms/watir_webdriver/page_object.rb +1082 -0
- data/lib/page-object/platforms/watir_webdriver/radio_button.rb +22 -0
- data/lib/page-object/platforms/watir_webdriver/select_list.rb +74 -0
- data/lib/page-object/platforms/watir_webdriver/table.rb +38 -0
- data/lib/page-object/platforms/watir_webdriver/table_row.rb +37 -0
- data/lib/page-object/platforms/watir_webdriver/text_area.rb +23 -0
- data/lib/page-object/platforms/watir_webdriver/text_field.rb +16 -0
- data/lib/page-object/platforms/watir_webdriver/unordered_list.rb +36 -0
- data/lib/page-object/sections.rb +29 -0
- data/lib/page-object/version.rb +4 -0
- data/lib/page-object/widgets.rb +133 -0
- data/page_object.gemspec +31 -0
- data/pageobject.gems +1 -0
- data/spec/page-object/accessors_spec.rb +40 -0
- data/spec/page-object/element_locators_spec.rb +1122 -0
- data/spec/page-object/elements/area_spec.rb +45 -0
- data/spec/page-object/elements/bold_spec.rb +29 -0
- data/spec/page-object/elements/button_spec.rb +64 -0
- data/spec/page-object/elements/canvas_spec.rb +40 -0
- data/spec/page-object/elements/check_box_spec.rb +49 -0
- data/spec/page-object/elements/div_spec.rb +28 -0
- data/spec/page-object/elements/element_spec.rb +114 -0
- data/spec/page-object/elements/file_field_spec.rb +39 -0
- data/spec/page-object/elements/form_spec.rb +28 -0
- data/spec/page-object/elements/heading_spec.rb +48 -0
- data/spec/page-object/elements/hidden_field_spec.rb +28 -0
- data/spec/page-object/elements/image_spec.rb +66 -0
- data/spec/page-object/elements/label_spec.rb +29 -0
- data/spec/page-object/elements/link_spec.rb +49 -0
- data/spec/page-object/elements/list_item_spec.rb +29 -0
- data/spec/page-object/elements/nested_element_spec.rb +254 -0
- data/spec/page-object/elements/option_spec.rb +11 -0
- data/spec/page-object/elements/ordered_list_spec.rb +94 -0
- data/spec/page-object/elements/paragraph_spec.rb +27 -0
- data/spec/page-object/elements/select_list_spec.rb +142 -0
- data/spec/page-object/elements/selenium/radio_button_spec.rb +44 -0
- data/spec/page-object/elements/selenium/text_field_spec.rb +49 -0
- data/spec/page-object/elements/selenium_element_spec.rb +177 -0
- data/spec/page-object/elements/span_spec.rb +26 -0
- data/spec/page-object/elements/table_cell_spec.rb +21 -0
- data/spec/page-object/elements/table_row_spec.rb +70 -0
- data/spec/page-object/elements/table_spec.rb +98 -0
- data/spec/page-object/elements/text_area_spec.rb +39 -0
- data/spec/page-object/elements/unordered_list_spec.rb +94 -0
- data/spec/page-object/elements/watir_element_spec.rb +145 -0
- data/spec/page-object/javascript_framework_facade_spec.rb +61 -0
- data/spec/page-object/loads_platform_spec.rb +53 -0
- data/spec/page-object/page-object_spec.rb +407 -0
- data/spec/page-object/page_factory_spec.rb +238 -0
- data/spec/page-object/page_populator_spec.rb +122 -0
- data/spec/page-object/page_section_spec.rb +73 -0
- data/spec/page-object/platforms/selenium_webdriver/selenium_page_object_spec.rb +68 -0
- data/spec/page-object/platforms/selenium_webdriver_spec.rb +29 -0
- data/spec/page-object/platforms/watir_webdriver/watir_page_object_spec.rb +29 -0
- data/spec/page-object/platforms/watir_webdriver_spec.rb +9 -0
- data/spec/page-object/selenium_accessors_spec.rb +609 -0
- data/spec/page-object/watir_accessors_spec.rb +1134 -0
- data/spec/page-object/widget_spec.rb +226 -0
- data/spec/spec_helper.rb +47 -0
- metadata +601 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
class JavascriptPage
|
|
2
|
+
include PageObject
|
|
3
|
+
|
|
4
|
+
text_field(:expression, :id => 'calculator-expression')
|
|
5
|
+
text_field(:results, :id => 'calculator-result')
|
|
6
|
+
button(:compute, :value => 'Compute')
|
|
7
|
+
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def build_url(page)
|
|
11
|
+
target = ENV['BROWSER']
|
|
12
|
+
return "http://localhost:4567/#{page}" if target.nil? or target.include? 'local'
|
|
13
|
+
"http://ec2-107-22-131-88.compute-1.amazonaws.com:4567/#{page}"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
Given /^I am on jQuery example page$/ do
|
|
17
|
+
PageObject.javascript_framework = :jquery
|
|
18
|
+
@page = JavascriptPage.new(@browser)
|
|
19
|
+
@page.navigate_to build_url("jquery.html")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Given /^I am on the Prototype example page$/ do
|
|
23
|
+
PageObject.javascript_framework = :prototype
|
|
24
|
+
@page = JavascriptPage.new(@browser)
|
|
25
|
+
@page.navigate_to build_url('prototype.html')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
When /^I ask to compute "([^\"]*)"$/ do |expression|
|
|
29
|
+
@page.expression = expression
|
|
30
|
+
@page.compute
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
Then /^I should be able to wait for the answer "([^\"]*)"$/ do |answer|
|
|
34
|
+
@page.wait_for_ajax
|
|
35
|
+
@page.results.should == answer
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
Given /^I execute the javascript "([^\"]*)"$/ do |script|
|
|
39
|
+
@answer = @page.execute_script script
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
Given /^I execute the javascript "([^\"]*)" with an argument of "([^\"]*)"$/ do |script, arg|
|
|
43
|
+
@answer = @page.execute_script script, arg
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
Given /^I execute the javascript "([^\"]*)" with a text field argument$/ do |script|
|
|
47
|
+
text_field = @page.text_field_element(:id => 'text_field_id')
|
|
48
|
+
@page.execute_script(script, text_field)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
Then /^I should get the answer "([^\"]*)"$/ do |answer|
|
|
52
|
+
@answer.should == answer.to_i
|
|
53
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
When /^I get the text from the label$/ do
|
|
2
|
+
@text = @page.label_id
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
When /^I search for the label by "([^\"]*)"$/ do |how|
|
|
6
|
+
@text = @page.send "label_#{how}".to_sym
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
When /^I search for the label by "(.*)" and "(.*)"$/ do |param1, param2|
|
|
10
|
+
@text = @page.send "label_#{param1}_#{param2}".to_sym
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
When /^I get the text from a label while the script is executing$/ do
|
|
14
|
+
@text = @page.label_element(:id => 'label_id').text
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Then /^I should see that the label exists$/ do
|
|
18
|
+
@page.label_id?.should be true
|
|
19
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
When /^I select the link labeled "([^\"]*)"$/ do |text|
|
|
2
|
+
@page.google_search_id
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
When /^I search for the link by "([^\"]*)"$/ do |how|
|
|
6
|
+
@how = how
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
Then /^I should be able to select the link$/ do
|
|
10
|
+
@page.send "google_search_#{@how}".to_sym
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
When /^I select a link labeled "([^"]*)" and index "([^"]*)"$/ do |label, index|
|
|
14
|
+
@page.send "#{label.downcase}#{index}".to_sym
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
When /^I select a link while the script is executing$/ do
|
|
18
|
+
link = @page.link_element(:id => 'link_id')
|
|
19
|
+
link.click
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Then(/^I should see that the link exists$/) do
|
|
23
|
+
@page.link_id?.should == true
|
|
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
|
|
33
|
+
|
|
34
|
+
When(/^I get the link using the href success$/) do
|
|
35
|
+
@link = @page.link_element(:href => /succ.*html/)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
Then(/^I should be able to click the link$/) do
|
|
39
|
+
@link.click
|
|
40
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
When /^I get the text from the list item$/ do
|
|
2
|
+
@text = @page.li_id
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
When /^I search for the list item by "([^\"]*)"$/ do |how|
|
|
6
|
+
@text = @page.send "li_#{how}"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
When /^I search for the list item by "([^"]*)" and "([^"]*)"$/ do |param1, param2|
|
|
10
|
+
@text = @page.send "li_#{param1}_#{param2}"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
When /^I search for the list item while the script is executing$/ do
|
|
14
|
+
@text = @page.list_item_element(:id => 'li_id').text
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Then /^I should see that the list item exists$/ do
|
|
18
|
+
@page.li_id?.should == true
|
|
19
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
class ModalPage
|
|
2
|
+
include PageObject
|
|
3
|
+
|
|
4
|
+
button(:launch_modal, :id => 'launch_modal_button')
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
class ModalDialog
|
|
8
|
+
include PageObject
|
|
9
|
+
|
|
10
|
+
button(:close_window, :id => 'close_window')
|
|
11
|
+
button(:close_window_with_delay, :id => 'delayed_close')
|
|
12
|
+
button(:launch_another_modal, :id => 'launch_modal_button')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
class AnotherModalDialog
|
|
16
|
+
include PageObject
|
|
17
|
+
|
|
18
|
+
button(:close_window, :id => 'close_window2')
|
|
19
|
+
button(:close_window_with_delay, :id => 'delayed_close2')
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
Given /^I am on the modal page$/ do
|
|
24
|
+
ModalPage.new(@browser).navigate_to(UrlHelper.modal)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
When /^I open a modal dialog$/ do
|
|
28
|
+
page = ModalPage.new(@browser)
|
|
29
|
+
page.modal_dialog do
|
|
30
|
+
page.launch_modal
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
Then /^I should be able to close the modal$/ do
|
|
35
|
+
dialog = ModalDialog.new(@browser)
|
|
36
|
+
dialog.attach_to_window(:title => 'Modal 1') do
|
|
37
|
+
dialog.close_window
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
When /^I open another modal dialog from that one$/ do
|
|
42
|
+
dialog = ModalDialog.new(@browser)
|
|
43
|
+
dialog.attach_to_window(:title => 'Modal 1') #do
|
|
44
|
+
dialog.modal_dialog #do
|
|
45
|
+
# dialog.launch_another_modal
|
|
46
|
+
# end
|
|
47
|
+
dialog.launch_another_modal
|
|
48
|
+
# end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
Then /^I should be able to close both modals$/ do
|
|
52
|
+
pending
|
|
53
|
+
# another = AnotherModalDialog.new(@browser)
|
|
54
|
+
# another.attach_to_window(:title => 'Modal 2') do
|
|
55
|
+
# another.close_window
|
|
56
|
+
# end
|
|
57
|
+
|
|
58
|
+
# dialog = ModalDialog.new(@browser)
|
|
59
|
+
# dialog.attach_to_window(:title => 'Modal 1') do
|
|
60
|
+
# dialog.close_window
|
|
61
|
+
# end
|
|
62
|
+
end
|
|
@@ -0,0 +1,541 @@
|
|
|
1
|
+
class MultiElementsPage
|
|
2
|
+
include PageObject
|
|
3
|
+
|
|
4
|
+
divs(:the_divs, :class => 'div')
|
|
5
|
+
divs(:block_divs) do |page|
|
|
6
|
+
page.div_elements(:class => 'div')
|
|
7
|
+
end
|
|
8
|
+
buttons(:the_buttons, :class => 'button')
|
|
9
|
+
text_fields(:the_text_fields, :class => 'textfield')
|
|
10
|
+
hidden_fields(:the_hidden_fields, :class => 'hiddenfield')
|
|
11
|
+
text_areas(:the_text_areas, :class => 'textarea')
|
|
12
|
+
select_lists(:the_select_lists, :class => 'selectlist')
|
|
13
|
+
links(:the_links, :class => 'link')
|
|
14
|
+
checkboxes(:the_checkboxes, :class => 'checkbox')
|
|
15
|
+
radio_buttons(:the_radio_buttons, :class => 'radio')
|
|
16
|
+
spans(:the_spans, :class => 'span')
|
|
17
|
+
tables(:the_tables, :class => 'table')
|
|
18
|
+
cells(:the_cells, :class => 'td')
|
|
19
|
+
images(:the_images, :class => 'image')
|
|
20
|
+
forms(:the_forms, :class => 'form')
|
|
21
|
+
list_items(:the_list_items, :class => 'li')
|
|
22
|
+
unordered_lists(:the_unordered_lists, :class => 'ul')
|
|
23
|
+
ordered_lists(:the_ordered_lists, :class => 'ol')
|
|
24
|
+
h1s(:the_h1s, :class => 'h1')
|
|
25
|
+
h2s(:the_h2s, :class => 'h2')
|
|
26
|
+
h3s(:the_h3s, :class => 'h3')
|
|
27
|
+
h4s(:the_h4s, :class => 'h4')
|
|
28
|
+
h5s(:the_h5s, :class => 'h5')
|
|
29
|
+
h6s(:the_h6s, :class => 'h6')
|
|
30
|
+
paragraphs(:the_paragraphs, :class => 'p')
|
|
31
|
+
labels(:the_labels, :class => 'label')
|
|
32
|
+
file_fields(:the_file_fields, :class => 'file_field_class')
|
|
33
|
+
elements(:generic_label, :label, :class => 'label')
|
|
34
|
+
b(:bs)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
Given /^I am on the multi elements page$/ do
|
|
39
|
+
@page = MultiElementsPage.new(@browser)
|
|
40
|
+
@page.navigate_to(UrlHelper.multi)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
When /^I select the buttons with class "([^\"]*)"$/ do |class_name|
|
|
44
|
+
@elements = @page.button_elements(:class => class_name)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
Then /^I should have (\d+) buttons$/ do |num_buttons|
|
|
48
|
+
@elements.size.should == num_buttons.to_i
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
Then /^the value of button (\d+) should be "([^\"]*)"$/ do |button_num, value|
|
|
52
|
+
@elements[button_num.to_i - 1].value.should == value
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
When /^I select the text fields with class "([^\"]*)"$/ do |class_name|
|
|
56
|
+
@elements = @page.text_field_elements(:class => class_name)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
Then /^I should have (\d+) text fields$/ do |num_text_fields|
|
|
60
|
+
@elements.size.should == num_text_fields.to_i
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
Then /^the value of text field (\d+) should be "([^\"]*)"$/ do |text_field_num, value|
|
|
64
|
+
@elements[text_field_num.to_i - 1].value.should == value
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
When /^I select the hidden fields with class "([^\"]*)"$/ do |class_name|
|
|
68
|
+
@elements = @page.hidden_field_elements(:class => class_name)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
Then /^I should have (\d+) hidden fields$/ do |num_hidden_fields|
|
|
72
|
+
@elements.size.should == num_hidden_fields.to_i
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
Then /^the value of hidden field (\d+) should be "([^\"]*)"$/ do |hidden_field_num, value|
|
|
76
|
+
@elements[hidden_field_num.to_i - 1].value.should == value
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
When /^I select the text areas with class "([^\"]*)"$/ do |class_name|
|
|
80
|
+
@elements = @page.text_area_elements(:class => class_name)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
Then /^I should have (\d+) text areas$/ do |num_text_areas|
|
|
84
|
+
@elements.size.should == num_text_areas.to_i
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
Then /^the value of text area (\d+) should be "([^\"]*)"$/ do |text_area_num, value|
|
|
88
|
+
@elements[text_area_num.to_i - 1].value.should == value
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
When /^I select the select lists with class "([^\"]*)"$/ do |class_name|
|
|
92
|
+
@elements = @page.select_list_elements(:class => class_name)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
Then /^I should have (\d+) select lists$/ do |num_select_lists|
|
|
96
|
+
@elements.size.should == num_select_lists.to_i
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
Then /^the value of select list (\d+) should be "([^\"]*)"$/ do |select_list_num, value|
|
|
100
|
+
@elements[select_list_num.to_i - 1].value.should == value
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
When /^I select the link with class "([^\"]*)"$/ do |link_class|
|
|
104
|
+
@elements = @page.link_elements(:class => link_class)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
Then /^I should have (\d+) links$/ do |num_links|
|
|
108
|
+
@elements.size.should == num_links.to_i
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
Then /^the text of link (\d+) should be "([^\"]*)"$/ do |link_num, text|
|
|
112
|
+
@elements[link_num.to_i - 1].text.should == text
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
When /^I select the check boxes with class "([^\"]*)"$/ do |class_name|
|
|
116
|
+
@elements = @page.checkbox_elements(:class => class_name)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
Then /^I should have (\d+) checkboxes$/ do |num_checkboxes|
|
|
120
|
+
@elements.size.should == num_checkboxes.to_i
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
Then /^the value of checkbox (\d+) should be "([^\"]*)"$/ do |checkbox_num, value|
|
|
124
|
+
@elements[checkbox_num.to_i - 1].value.should == value
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
When /^I select the radio button with class "([^\"]*)"$/ do |class_name|
|
|
128
|
+
@elements = @page.radio_button_elements(:class => class_name)
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
Then /^I should have (\d+) radio buttons$/ do |num_radio_buttons|
|
|
132
|
+
@elements.size.should == num_radio_buttons.to_i
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
Then /^the value of radio button (\d+) should be "([^\"]*)"$/ do |radio_button_num, value|
|
|
136
|
+
@elements[radio_button_num.to_i - 1].value.should == value
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
When /^I select the div with class "([^\"]*)"$/ do |class_name|
|
|
140
|
+
@elements = @page.div_elements(:class => class_name)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
Then /^I should have (\d+) divs$/ do |num_divs|
|
|
144
|
+
@elements.size.should == num_divs.to_i
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
Then /^the text of div (\d+) should be "([^\"]*)"$/ do |div_num, text|
|
|
148
|
+
@elements[div_num.to_i - 1].text.should == text
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
When /^I select the spans with class "([^\"]*)"$/ do |class_name|
|
|
152
|
+
@elements = @page.span_elements(:class => class_name)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
Then /^I should have (\d+) spans$/ do |num_spans|
|
|
156
|
+
@elements.size.should == num_spans.to_i
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
Then /^the text of span (\d+) should be "([^\"]*)"$/ do |span_num, text|
|
|
160
|
+
@elements[span_num.to_i - 1].text.should == text
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
When /^I select the tables with class "([^\"]*)"$/ do |class_name|
|
|
164
|
+
@elements = @page.table_elements(:class => class_name)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
Then /^I should have (\d+) tables$/ do |num_tables|
|
|
168
|
+
@elements.size.should == num_tables.to_i
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
Then /^the first row first column for table (\d+) should have "([^\"]*)"$/ do |table_num, text|
|
|
172
|
+
@elements[table_num.to_i - 1][0][0].text.should == text
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
When /^I select the cells with class "([^\"]*)"$/ do |cell_class|
|
|
176
|
+
@elements = @page.cell_elements(:class => cell_class)
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
Then /^I should have (\d+) cells$/ do |num_cells|
|
|
180
|
+
@elements.size.should == num_cells.to_i
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
Then /^the text for cell (\d+) should be "([^\"]*)"$/ do |cell_num, text|
|
|
184
|
+
@elements[cell_num.to_i - 1].text.should == text
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
When /^I select the images with class "([^\"]*)"$/ do |class_name|
|
|
188
|
+
@elements = @page.image_elements(:class => class_name)
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
Then /^I should have (\d+) images$/ do |num_images|
|
|
192
|
+
@elements.size.should == num_images.to_i
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
Then /^the alt for image (\d+) should be "([^\"]*)"$/ do |image_num, alt|
|
|
196
|
+
@elements[image_num.to_i - 1].attribute(:alt).should == alt
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
When /^I select the forms with class "([^\"]*)"$/ do |class_name|
|
|
200
|
+
@elements = @page.form_elements(:class => class_name)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
Then /^I should have (\d+) forms$/ do |number|
|
|
204
|
+
@elements.size.should == number.to_i
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
Then /^the action for form (\d+) should be "([^\"]*)"$/ do |form_number, action|
|
|
208
|
+
@elements[form_number.to_i-1].attribute(:action).should match action
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
When /^I select the list items with class "([^\"]*)"$/ do |class_name|
|
|
212
|
+
@elements = @page.list_item_elements(:class => class_name)
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
Then /^I should have (\d+) list items$/ do |num_list_items|
|
|
216
|
+
@elements.size.should == num_list_items.to_i
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
Then /^the text for list item (\d+) should be "([^\"]*)"$/ do |list_item_num, text|
|
|
220
|
+
@elements[list_item_num.to_i - 1].text.should == text
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
When /^I select the unordered list with class "([^\"]*)"$/ do |class_name|
|
|
224
|
+
@elements = @page.unordered_list_elements(:class => class_name)
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
Then /^I should have (\d+) unordered lists$/ do |num_unordered_lists|
|
|
228
|
+
@elements.size.should == num_unordered_lists.to_i
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
Then /^the text for the first item in unordered list (\d+) should be "([^\"]*)"$/ do |ul_num, text|
|
|
232
|
+
@elements[ul_num.to_i - 1][0].text.should == text
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
When /^I select the ordered lists with class "([^\"]*)"$/ do |class_name|
|
|
236
|
+
@elements = @page.ordered_list_elements(:class => class_name)
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
Then /^I should have (\d+) ordered lists$/ do |num_ol|
|
|
240
|
+
@elements.size.should == num_ol.to_i
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
Then /^the text for the first item in ordered list (\d+) should be "([^\"]*)"$/ do |ol_num, text|
|
|
244
|
+
@elements[ol_num.to_i - 1][0].text.should == text
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
When /^I select the h1s with class "([^\"]*)"$/ do |class_name|
|
|
248
|
+
@elements = @page.h1_elements(:class => class_name)
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
Then /^I should have (\d+) h1s$/ do |num_h1s|
|
|
252
|
+
@elements.size.should == num_h1s.to_i
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
Then /^the text for h1 (\d+) should be "([^\"]*)"$/ do |h1_num, text|
|
|
256
|
+
@elements[h1_num.to_i - 1].text.should == text
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
When /^I select the h2s with the class "([^\"]*)"$/ do |class_name|
|
|
260
|
+
@elements = @page.h2_elements(:class => class_name)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
Then /^I should have (\d+) h2s$/ do |num_h2s|
|
|
264
|
+
@elements.size.should == num_h2s.to_i
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
Then /^the text for h2 (\d+) should be "([^\"]*)"$/ do |h2_num, text|
|
|
268
|
+
@elements[h2_num.to_i - 1].text.should == text
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
When /^I select the h3s with the class "([^\"]*)"$/ do |class_name|
|
|
272
|
+
@elements = @page.h3_elements(:class => class_name)
|
|
273
|
+
end
|
|
274
|
+
|
|
275
|
+
Then /^I should have (\d+) h3s$/ do |num_h3s|
|
|
276
|
+
@elements.size.should == num_h3s.to_i
|
|
277
|
+
end
|
|
278
|
+
|
|
279
|
+
Then /^the text for h3 (\d+) should be "([^\"]*)"$/ do |h3_num, text|
|
|
280
|
+
@elements[h3_num.to_i - 1].text.should == text
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
When /^I select the h4s with the class "([^\"]*)"$/ do |class_name|
|
|
284
|
+
@elements = @page.h4_elements(:class => class_name)
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
Then /^I should have (\d+) h4s$/ do |num_h4s|
|
|
288
|
+
@elements.size.should == num_h4s.to_i
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
Then /^the text for H4 (\d+) should be "([^\"]*)"$/ do |h4_num, text|
|
|
292
|
+
@elements[h4_num.to_i - 1].text.should == text
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
When /^I select the h5s with the class "([^\"]*)"$/ do |class_name|
|
|
296
|
+
@elements = @page.h5_elements(:class => class_name)
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
Then /^I should have (\d+) h5s$/ do |num_h5s|
|
|
300
|
+
@elements.size.should == num_h5s.to_i
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
Then /^the text for H5 (\d+) should be "([^\"]*)"$/ do |h5_num, text|
|
|
304
|
+
@elements[h5_num.to_i - 1].text.should == text
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
When /^I select the h6s with the class "([^\"]*)"$/ do |class_name|
|
|
308
|
+
@elements = @page.h6_elements(:class => class_name)
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
Then /^I should have (\d+) h6s$/ do |num_h6s|
|
|
312
|
+
@elements.size.should == num_h6s.to_i
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
Then /^the text for H6 (\d+) should be "([^\"]*)"$/ do |h6_num, text|
|
|
316
|
+
@elements[h6_num.to_i - 1].text.should == text
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
When /^I select the paragraph with class "([^\"]*)"$/ do |class_name|
|
|
320
|
+
@elements = @page.paragraph_elements(:class => class_name)
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
Then /^I should have (\d+) paragraphs$/ do |num_paragraphs|
|
|
324
|
+
@elements.size.should == num_paragraphs.to_i
|
|
325
|
+
end
|
|
326
|
+
|
|
327
|
+
Then /^the text for paragraph (\d+) should be "([^\"]*)"$/ do |para_num, text|
|
|
328
|
+
@elements[para_num.to_i - 1].text.should == text
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
When /^I select all buttons using no identifier$/ do
|
|
332
|
+
@elements = @page.button_elements
|
|
333
|
+
end
|
|
334
|
+
|
|
335
|
+
When /^I select all text fields using no identifier$/ do
|
|
336
|
+
@elements = @page.text_field_elements
|
|
337
|
+
end
|
|
338
|
+
|
|
339
|
+
When /^I select all hidden fields using no identifier$/ do
|
|
340
|
+
@elements = @page.hidden_field_elements
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
When /^I select text areas using no identifier$/ do
|
|
344
|
+
@elements = @page.text_area_elements
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
When /^I select select lists using no identifier$/ do
|
|
348
|
+
@elements = @page.select_list_elements
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
When /^I select links using no identifier$/ do
|
|
352
|
+
@elements = @page.link_elements
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
When /^I select checboxes using no identifier$/ do
|
|
356
|
+
@elements = @page.checkbox_elements
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
When /^I select radio buttons using no identifier$/ do
|
|
360
|
+
@elements = @page.radio_button_elements
|
|
361
|
+
end
|
|
362
|
+
|
|
363
|
+
When /^I select divs using no identifier$/ do
|
|
364
|
+
@elements = @page.div_elements
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
When /^I select spans using no identifier$/ do
|
|
368
|
+
@elements = @page.span_elements
|
|
369
|
+
end
|
|
370
|
+
|
|
371
|
+
When /^I select tables using no identifier$/ do
|
|
372
|
+
@elements = @page.table_elements
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
When /^I select the cells using no identifier$/ do
|
|
376
|
+
@elements = @page.cell_elements
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
When /^I select the images using no identifier$/ do
|
|
380
|
+
@elements = @page.image_elements
|
|
381
|
+
end
|
|
382
|
+
|
|
383
|
+
When /^I select the forms using no identifier$/ do
|
|
384
|
+
@elements = @page.form_elements
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
When /^I select the list items using no identifier$/ do
|
|
388
|
+
@elements = @page.list_item_elements
|
|
389
|
+
end
|
|
390
|
+
|
|
391
|
+
When /^I select the unordered list using no parameter$/ do
|
|
392
|
+
@elements = @page.unordered_list_elements
|
|
393
|
+
end
|
|
394
|
+
|
|
395
|
+
When /^I select the ordered lists using no identifier$/ do
|
|
396
|
+
@elements = @page.ordered_list_elements
|
|
397
|
+
end
|
|
398
|
+
|
|
399
|
+
When /^I select h(\d+)s using no identifier$/ do |num|
|
|
400
|
+
@elements = @page.send "h#{num}_elements"
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
When /^I select paragraphs using no identifier$/ do
|
|
404
|
+
@elements = @page.paragraph_elements
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
When /^I select the labels with class "([^\"]*)"$/ do |class_name|
|
|
408
|
+
@elements = @page.label_elements(:class => class_name)
|
|
409
|
+
end
|
|
410
|
+
|
|
411
|
+
Then /^I should have (\d+) labels$/ do |num_labels|
|
|
412
|
+
@elements.size.should == num_labels.to_i
|
|
413
|
+
end
|
|
414
|
+
|
|
415
|
+
Then /^the text for label (\d+) should be "([^\"]*)"$/ do |label_num, text|
|
|
416
|
+
@elements[label_num.to_i - 1].text.should == text
|
|
417
|
+
end
|
|
418
|
+
|
|
419
|
+
When /^I select labels using no identifier$/ do
|
|
420
|
+
@elements = @page.label_elements
|
|
421
|
+
end
|
|
422
|
+
|
|
423
|
+
When /^I select the file fields with class "([^\"]*)"$/ do |class_name|
|
|
424
|
+
@elements = @page.file_field_elements(:class => class_name)
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
Then /^I should have (\d+) file fields$/ do |num_file_fields|
|
|
428
|
+
@elements.size.should == num_file_fields.to_i
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
Then /^the title for file field (\d+) should be "([^\"]*)"$/ do |file_field_num, title|
|
|
432
|
+
@elements[file_field_num.to_i - 1].attribute('title').should == title
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
When /^I select the file fields using no identifier$/ do
|
|
436
|
+
@elements = @page.file_field_elements
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
When /^I select the divs using the generated method$/ do
|
|
440
|
+
@elements = @page.the_divs_elements
|
|
441
|
+
end
|
|
442
|
+
|
|
443
|
+
When /^I select the buttons using the generated method$/ do
|
|
444
|
+
@elements = @page.the_buttons_elements
|
|
445
|
+
end
|
|
446
|
+
|
|
447
|
+
When /^I select the text fields using the generated method$/ do
|
|
448
|
+
@elements = @page.the_text_fields_elements
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
When /^I select the hidden fields using the generated method$/ do
|
|
452
|
+
@elements = @page.the_hidden_fields_elements
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
When /^I select the text areas using the generated method$/ do
|
|
456
|
+
@elements = @page.the_text_areas_elements
|
|
457
|
+
end
|
|
458
|
+
|
|
459
|
+
When /^I select the select lists using the generated method$/ do
|
|
460
|
+
@elements = @page.the_select_lists_elements
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
When /^I select the link using the generated method$/ do
|
|
464
|
+
@elements = @page.the_links_elements
|
|
465
|
+
end
|
|
466
|
+
|
|
467
|
+
When /^I select the check boxes using the generated method$/ do
|
|
468
|
+
@elements = @page.the_checkboxes_elements
|
|
469
|
+
end
|
|
470
|
+
|
|
471
|
+
When /^I select the radio button using the generated method$/ do
|
|
472
|
+
@elements = @page.the_radio_buttons_elements
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
When /^I select the spans using the generated method$/ do
|
|
476
|
+
@elements = @page.the_spans_elements
|
|
477
|
+
end
|
|
478
|
+
|
|
479
|
+
When /^I select the tables using the generated method$/ do
|
|
480
|
+
@elements = @page.the_tables_elements
|
|
481
|
+
end
|
|
482
|
+
|
|
483
|
+
When /^I select the cells using the generated method$/ do
|
|
484
|
+
@elements = @page.the_cells_elements
|
|
485
|
+
end
|
|
486
|
+
|
|
487
|
+
When /^I select the images using the generated method$/ do
|
|
488
|
+
@elements = @page.the_images_elements
|
|
489
|
+
end
|
|
490
|
+
|
|
491
|
+
When /^I select the forms using the generated method$/ do
|
|
492
|
+
@elements = @page.the_forms_elements
|
|
493
|
+
end
|
|
494
|
+
|
|
495
|
+
When /^I select the list items using the generated method$/ do
|
|
496
|
+
@elements = @page.the_list_items_elements
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
When /^I select the unordered list using the generated method$/ do
|
|
500
|
+
@elements = @page.the_unordered_lists_elements
|
|
501
|
+
end
|
|
502
|
+
|
|
503
|
+
When /^I select the ordered lists using the generated method$/ do
|
|
504
|
+
@elements = @page.the_ordered_lists_elements
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
When /^I select the h(\d+)s using the generated method$/ do |num|
|
|
508
|
+
@elements = @page.send "the_h#{num.to_i}s_elements"
|
|
509
|
+
end
|
|
510
|
+
|
|
511
|
+
When /^I select the paragraph using the generated method$/ do
|
|
512
|
+
@elements = @page.the_paragraphs_elements
|
|
513
|
+
end
|
|
514
|
+
|
|
515
|
+
When /^I select the labels using the generated method$/ do
|
|
516
|
+
@elements = @page.the_labels_elements
|
|
517
|
+
end
|
|
518
|
+
|
|
519
|
+
When /^I select the file fields using the generated method$/ do
|
|
520
|
+
@elements = @page.the_file_fields_elements
|
|
521
|
+
end
|
|
522
|
+
|
|
523
|
+
When /^I select the divs using a block$/ do
|
|
524
|
+
@elements = @page.block_divs_elements
|
|
525
|
+
end
|
|
526
|
+
|
|
527
|
+
When(/^I select the multiple elements with a tag label$/) do
|
|
528
|
+
@elements = @page.generic_label_elements
|
|
529
|
+
end
|
|
530
|
+
|
|
531
|
+
When /^I select the bs$/ do
|
|
532
|
+
@elements = @page.b_elements
|
|
533
|
+
end
|
|
534
|
+
|
|
535
|
+
Then /^I should have (\d+) bs$/ do |num_bs|
|
|
536
|
+
@elements.size.should == num_bs.to_i
|
|
537
|
+
end
|
|
538
|
+
|
|
539
|
+
Then /^the text for b (\d+) should be "([^\"]*)"$/ do |b_num, text|
|
|
540
|
+
@elements[b_num.to_i - 1].text.should == text
|
|
541
|
+
end
|