druid-ts 0.0.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 +2 -0
- data/.travis.yml +8 -0
- data/Gemfile +7 -0
- data/README.md +11 -0
- data/Rakefile +33 -0
- data/cucumber.yml +2 -0
- data/features/button.feature +38 -0
- data/features/checkbox.feature +39 -0
- data/features/div.feature +38 -0
- data/features/element.feature +114 -0
- data/features/form.feature +29 -0
- data/features/hidden_field.feature +33 -0
- data/features/html/images/circle.png +0 -0
- data/features/html/static_elements.html +89 -0
- data/features/html/success.html +8 -0
- data/features/image.feature +33 -0
- data/features/link.feature +39 -0
- data/features/list_item.feature +31 -0
- data/features/ordered_list.feature +35 -0
- data/features/page_level_actions.feature +31 -0
- data/features/radio_button.feature +42 -0
- data/features/select_list.feature +48 -0
- data/features/span.feature +36 -0
- data/features/step_definations/button_steps.rb +24 -0
- data/features/step_definations/checkbox_steps.rb +31 -0
- data/features/step_definations/div_steps.rb +19 -0
- data/features/step_definations/element_steps.rb +29 -0
- data/features/step_definations/form_steps.rb +11 -0
- data/features/step_definations/hidden_field_steps.rb +19 -0
- data/features/step_definations/image_steps.rb +19 -0
- data/features/step_definations/link_steps.rb +29 -0
- data/features/step_definations/list_item_steps.rb +12 -0
- data/features/step_definations/ordered_list_steps.rb +33 -0
- data/features/step_definations/page_level_actions_steps.rb +48 -0
- data/features/step_definations/page_traversal_steps.rb +4 -0
- data/features/step_definations/radio_button_steps.rb +23 -0
- data/features/step_definations/select_list_steps.rb +42 -0
- data/features/step_definations/span_steps.rb +15 -0
- data/features/step_definations/table_cell_steps.rb +19 -0
- data/features/step_definations/table_steps.rb +38 -0
- data/features/step_definations/text_area_steps.rb +19 -0
- data/features/step_definations/text_field_steps.rb +23 -0
- data/features/step_definations/unordered_list_steps.rb +11 -0
- data/features/support/env.rb +17 -0
- data/features/support/page.rb +163 -0
- data/features/support/url_helper.rb +16 -0
- data/features/table.feature +43 -0
- data/features/table_cell.feature +36 -0
- data/features/text_area.feature +32 -0
- data/features/text_field.feature +42 -0
- data/features/unordered_list.feature +36 -0
- data/lib/druid.rb +80 -0
- data/lib/druid/accessors.rb +506 -0
- data/lib/druid/elements.rb +19 -0
- data/lib/druid/elements/button.rb +11 -0
- data/lib/druid/elements/check_box.rb +7 -0
- data/lib/druid/elements/div.rb +10 -0
- data/lib/druid/elements/element.rb +129 -0
- data/lib/druid/elements/form.rb +7 -0
- data/lib/druid/elements/hidden_field.rb +11 -0
- data/lib/druid/elements/image.rb +7 -0
- data/lib/druid/elements/link.rb +16 -0
- data/lib/druid/elements/list_item.rb +7 -0
- data/lib/druid/elements/ordered_list.rb +30 -0
- data/lib/druid/elements/radio_button.rb +7 -0
- data/lib/druid/elements/select_list.rb +18 -0
- data/lib/druid/elements/span.rb +11 -0
- data/lib/druid/elements/table.rb +30 -0
- data/lib/druid/elements/table_cell.rb +7 -0
- data/lib/druid/elements/table_row.rb +22 -0
- data/lib/druid/elements/text_area.rb +11 -0
- data/lib/druid/elements/text_field.rb +11 -0
- data/lib/druid/elements/unordered_list.rb +28 -0
- data/lib/druid/page_factory.rb +58 -0
- data/spec/druid/druid_spec.rb +38 -0
- data/spec/spec_helper.rb +7 -0
- metadata +224 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
When(/^I get the image element$/) do
|
2
|
+
@element = @page.image_id_image
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the image should be "(.*?)" pixels wide$/) do |width|
|
6
|
+
expect(@element.width.to_s).to eql width
|
7
|
+
end
|
8
|
+
|
9
|
+
Then(/^the image should be "(.*?)" pixels tall$/) do |height|
|
10
|
+
expect(@element.height.to_s).to eql height
|
11
|
+
end
|
12
|
+
|
13
|
+
When(/^I get the image element by "(.*?)"$/) do |how|
|
14
|
+
@element = @page.send "image_#{how}_image".to_sym
|
15
|
+
end
|
16
|
+
|
17
|
+
When /^I get the image element bys "([^"]*)" and "([^"]*)"$/ do |param1, param2|
|
18
|
+
@element = @page.send "image_#{param1}_#{param2}_image"
|
19
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
When(/^I select the link labeled "(.*?)"$/) do |text|
|
2
|
+
@page.google_search_id_link
|
3
|
+
@page.google_search_id
|
4
|
+
end
|
5
|
+
|
6
|
+
When(/^I locate the link by "(.*?)"$/) do |how|
|
7
|
+
@how = how
|
8
|
+
end
|
9
|
+
|
10
|
+
Then(/^I should be able to select the link$/) do
|
11
|
+
@page.send "google_search_#{@how}_link".to_sym
|
12
|
+
@page.send "google_search_#{@how}".to_sym
|
13
|
+
end
|
14
|
+
|
15
|
+
When(/^I retrieve a link element$/) do
|
16
|
+
@element = @page.google_search_id_link
|
17
|
+
end
|
18
|
+
|
19
|
+
Then(/^I should know it exists$/) do
|
20
|
+
expect(@element.exist?).to be true
|
21
|
+
end
|
22
|
+
|
23
|
+
Then(/^I should know it is visible$/) do
|
24
|
+
expect(@element.visible?).to be true
|
25
|
+
end
|
26
|
+
|
27
|
+
When(/^I select a link labeled "(.*?)" and index "(.*?)"$/) do |label, index|
|
28
|
+
@page.send "#{label.downcase}#{index}".to_sym
|
29
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
When(/^I get the text from the list item$/) do
|
2
|
+
@text = @page.li_id
|
3
|
+
end
|
4
|
+
|
5
|
+
When(/^I locate the list item by "(.*?)"$/) do |how|
|
6
|
+
@element = @page.send "li_#{how}_list_item".to_sym
|
7
|
+
@text = @element.text
|
8
|
+
end
|
9
|
+
|
10
|
+
When(/^I search for the list item by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
11
|
+
@text = @page.send "li_#{param1}_#{param2}"
|
12
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
When(/^I get the first item from the ordered list$/) do
|
2
|
+
@element = @page.ol_id_ordered_list[0]
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the list item's text should be "(.*?)"$/) do |text|
|
6
|
+
expect(@element.text).to eql text
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I locate the ordered list by "(.*?)"$/) do |how|
|
10
|
+
@list = @page.send "ol_#{how}_ordered_list"
|
11
|
+
end
|
12
|
+
|
13
|
+
When(/^I get the first item from the list$/) do
|
14
|
+
@element = @list[0]
|
15
|
+
end
|
16
|
+
|
17
|
+
Then(/^the list should contain (\d+) items$/) do |items|
|
18
|
+
expect(@list.items).to eql items.to_i
|
19
|
+
end
|
20
|
+
|
21
|
+
Then(/^each item should contain "(.*?)"$/) do |text|
|
22
|
+
@list.each do |item|
|
23
|
+
expect(item.text).to include text
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
When(/^I search for the ordered list by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
28
|
+
@list = @page.send "ol_#{param1}_#{param2}_ordered_list"
|
29
|
+
end
|
30
|
+
|
31
|
+
Then(/^the list items text should be "(.*?)"$/) do |expected_text|
|
32
|
+
expect(@element.text).to eql expected_text
|
33
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
Then(/^the page should contain the text "(.*?)"$/) do |text|
|
2
|
+
expect(@page.text).to include text
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the page should contain the html "(.*?)"$/) do |html|
|
6
|
+
expect(@page.html).to include html
|
7
|
+
end
|
8
|
+
|
9
|
+
Then(/^the page should have the title "(.*?)"$/) do |title|
|
10
|
+
expect(@page.title).to include title
|
11
|
+
end
|
12
|
+
|
13
|
+
Then(/^I am able to go to baidu\.com$/) do
|
14
|
+
@page.goto
|
15
|
+
end
|
16
|
+
|
17
|
+
Given(/^I can goto baidu\.com by default$/) do
|
18
|
+
@page = Page.new(@driver)
|
19
|
+
@page.goto
|
20
|
+
end
|
21
|
+
|
22
|
+
Given(/^I can goto baidu\.com using visit_page without block$/) do
|
23
|
+
visit_page(Page)
|
24
|
+
# @page = visit_page Page
|
25
|
+
end
|
26
|
+
|
27
|
+
Then(/^the page should have the title "(.*?)" using on_page without block$/) do |text|
|
28
|
+
expect(on_page(Page).title).to include text
|
29
|
+
# expect(on_page(@page).title).to include text
|
30
|
+
end
|
31
|
+
|
32
|
+
Given(/^I can goto baidu\.com using visit_page with block$/) do
|
33
|
+
visit_page(Page) do |page|
|
34
|
+
expect(page.title).to include "百度"
|
35
|
+
end
|
36
|
+
# @page = visit_page Page do |page|
|
37
|
+
# expect(page.title).to include "百度"
|
38
|
+
# end
|
39
|
+
end
|
40
|
+
|
41
|
+
Then(/^the page should have the title "(.*?)" using on_page with block$/) do |text|
|
42
|
+
on_page(Page) do |page|
|
43
|
+
expect(page.title).to include text
|
44
|
+
end
|
45
|
+
# on_page(@page) do |page|
|
46
|
+
# expect(page.title).to include text
|
47
|
+
# end
|
48
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
When(/^I select the "(.*?)" radio button$/) do |name|
|
2
|
+
@page.send "select_#{name.downcase}_id".to_sym
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the "(.*?)" radio button should be selected$/) do |name|
|
6
|
+
expect(@page.send "#{name.downcase}_id_selected?".to_sym).to be true
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I locate the radio button by "(.*?)"$/) do |how|
|
10
|
+
@how = how
|
11
|
+
end
|
12
|
+
|
13
|
+
When(/^I select the radio button$/) do
|
14
|
+
@page.send "select_milk_#{@how}".to_sym
|
15
|
+
end
|
16
|
+
|
17
|
+
When(/^I retrieve a radio button$/) do
|
18
|
+
@element = @page.milk_id_radio_button
|
19
|
+
end
|
20
|
+
|
21
|
+
When(/^I search for the radio button by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
22
|
+
@how = "#{param1}_#{param2}"
|
23
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
When(/^I select "(.*?)" from the select list$/) do |item|
|
2
|
+
@page.select_list_id = item
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the current item should be "(.*?)"$/) do |expected_item|
|
6
|
+
expect(@page.select_list_id).to eql expected_item
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I locate the select list by "(.*?)"$/) do |how|
|
10
|
+
@how = how
|
11
|
+
end
|
12
|
+
|
13
|
+
Then(/^I should be able to select "(.*?)"$/) do |item|
|
14
|
+
@page.send "select_list_#{@how}=".to_sym, item
|
15
|
+
end
|
16
|
+
|
17
|
+
Then(/^the value for the selected item should be "(.*?)"$/) do |expected_item|
|
18
|
+
expect(@page.send "select_list_#{@how}".to_sym).to eql expected_item
|
19
|
+
end
|
20
|
+
|
21
|
+
When(/^I retrieve a select list$/) do
|
22
|
+
@element = @page.select_list_id_select_list
|
23
|
+
end
|
24
|
+
|
25
|
+
When(/^I search for the select list by "(.*?)"$/) do |how|
|
26
|
+
@how = how
|
27
|
+
end
|
28
|
+
|
29
|
+
Then(/^option "(.*?)" should contain "(.*?)"$/) do |opt_num, text|
|
30
|
+
@element = @page.send "select_list_#{@how}_select_list".to_sym
|
31
|
+
expect(@element[opt_num.to_i - 1].text).to eql text
|
32
|
+
end
|
33
|
+
|
34
|
+
Then(/^each option should contain "(.*?)"$/) do |text|
|
35
|
+
@element.options.each do |option|
|
36
|
+
expect(option.text).to include text
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
When(/^I search for the select list bys "(.*?)" and "(.*?)"$/) do |param1, param2|
|
41
|
+
@how = "#{param1}_#{param2}"
|
42
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
When(/^I get the text from the span$/) do
|
2
|
+
@text = @page.span_id
|
3
|
+
end
|
4
|
+
|
5
|
+
When(/^I locate the span by "(.*?)"$/) do |how|
|
6
|
+
@text = @page.send "span_#{how}".to_sym
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I retrieve a span element$/) do
|
10
|
+
@element = @page.span_id_span
|
11
|
+
end
|
12
|
+
|
13
|
+
When(/^I search for the span by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
14
|
+
@text = @page.send "span_#{param1}_#{param2}".to_sym
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
When(/^I retrieve the data from the table cell$/) do
|
2
|
+
@cell_text = @page.cell_id
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the cell data should be '(.*?)'$/) do |expected_text|
|
6
|
+
expect(@cell_text).to eql expected_text
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I locate the table cell by "(.*?)"$/) do |how|
|
10
|
+
@cell_text = @page.send "cell_#{how}".to_sym
|
11
|
+
end
|
12
|
+
|
13
|
+
When(/^I retrieve table cell$/) do
|
14
|
+
@element = @page.cell_id_cell
|
15
|
+
end
|
16
|
+
|
17
|
+
When(/^I retrieve a table cell element by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
18
|
+
@cell_text = @page.send "cell_#{param1}_#{param2}".to_sym
|
19
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
When(/^I retrieve a table element$/) do
|
2
|
+
@element = @page.table_id_table
|
3
|
+
end
|
4
|
+
|
5
|
+
When(/^I retrieve a table element by "(.*?)"$/) do |how|
|
6
|
+
@element = @page.send "table_#{how}_table".to_sym
|
7
|
+
end
|
8
|
+
|
9
|
+
Then(/^the data for row "(.*?)" should be "(.*?)" and "(.*?)"$/) do |row, col1, col2|
|
10
|
+
row = @element[row.to_i - 1]
|
11
|
+
expect(row[0].text).to eql col1
|
12
|
+
expect(row[1].text).to eql col2
|
13
|
+
end
|
14
|
+
|
15
|
+
Then(/^the table should have "(.*?)" rows$/) do |number|
|
16
|
+
expect(@element.rows).to eql number.to_i
|
17
|
+
end
|
18
|
+
|
19
|
+
Then(/^each row should contain "(.*?)"$/) do |text|
|
20
|
+
@element.each do |row|
|
21
|
+
expect(row.text).to include text
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
Then(/^row "(.*?)" should have "(.*?)" columns$/) do |row, cols|
|
26
|
+
expect(@element[row.to_i - 1].columns).to eql cols.to_i
|
27
|
+
end
|
28
|
+
|
29
|
+
Then(/^each column should contain "(.*?)"$/) do |text|
|
30
|
+
row = @element[0]
|
31
|
+
row.each do |column|
|
32
|
+
expect(column.text).to include text
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
When(/^I retrieve a table element bys "(.*?)" and "(.*?)"$/) do |param1, param2|
|
37
|
+
@element = @page.send "table_#{param1}_#{param2}_table".to_sym
|
38
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
When(/^I type "(.*?)" into the text area$/) do |text|
|
2
|
+
@page.text_area_id = text
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the text area should contain "(.*?)"$/) do |text|
|
6
|
+
expect(@page.text_area_id).to eql text
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I locate the text area by "(.*?)"$/) do |how|
|
10
|
+
@element = @page.send "text_area_#{how}_text_area".to_sym
|
11
|
+
end
|
12
|
+
|
13
|
+
Then(/^I should be able to type "(.*?)" into the area$/) do |text|
|
14
|
+
@element.send_keys text
|
15
|
+
end
|
16
|
+
|
17
|
+
When(/^I search for the text area by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
18
|
+
@element = @page.send "text_area_#{param1}_#{param2}_text_area".to_sym
|
19
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
When(/^I type "(.*?)" into the text field$/) do |text|
|
2
|
+
@page.text_field_id = text
|
3
|
+
end
|
4
|
+
|
5
|
+
Then(/^the text field should contain "(.*?)"$/) do |expected_text|
|
6
|
+
expect(@page.text_field_id).to include expected_text
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I locate the text field by "(.*?)"$/) do |how|
|
10
|
+
@how = how
|
11
|
+
end
|
12
|
+
|
13
|
+
Then(/^I should be able to type "(.*?)" into the field$/) do |value|
|
14
|
+
@page.send "text_field_#{@how}=".to_sym, value
|
15
|
+
end
|
16
|
+
|
17
|
+
When(/^I retrieve a text field$/) do
|
18
|
+
@element = @page.text_field_id_text_field
|
19
|
+
end
|
20
|
+
|
21
|
+
When(/^I search for the text field by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
22
|
+
@how = "#{param1}_#{param2}"
|
23
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
When(/^I get the first item from the unordered list$/) do
|
2
|
+
@element = @page.ul_id_unordered_list[0]
|
3
|
+
end
|
4
|
+
|
5
|
+
When(/^I locate the unordered list by "(.*?)"$/) do |how|
|
6
|
+
@list = @page.send "ul_#{how}_unordered_list".to_sym
|
7
|
+
end
|
8
|
+
|
9
|
+
When(/^I search for the unordered list by "(.*?)" and "(.*?)"$/) do |param1, param2|
|
10
|
+
@list = @page.send "ul_#{param1}_#{param2}_unordered_list".to_sym
|
11
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
SimpleCov.start if ENV["COVERAGE"]
|
3
|
+
|
4
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../', 'lib'))
|
5
|
+
|
6
|
+
require 'watir-webdriver'
|
7
|
+
require 'druid'
|
8
|
+
|
9
|
+
World(Druid::PageFactory)
|
10
|
+
|
11
|
+
Before do
|
12
|
+
@driver = Watir::Browser.new :firefox if ENV['DRIVER'] == 'WATIR'
|
13
|
+
end
|
14
|
+
|
15
|
+
After do |s|
|
16
|
+
@driver.close
|
17
|
+
end
|
@@ -0,0 +1,163 @@
|
|
1
|
+
class Page
|
2
|
+
include Druid
|
3
|
+
page_url("http://www.baidu.com")
|
4
|
+
|
5
|
+
link(:google_search_id, :id => "link_id")
|
6
|
+
link(:google_search_name, :name => "link_name")
|
7
|
+
link(:google_search_class, :class => "link_class")
|
8
|
+
link(:google_search_xpath, :xpath => "//a[text()='Google Search']")
|
9
|
+
link(:google_search_href, :href => "success.html")
|
10
|
+
link(:google_search_text, :text => "Google Search")
|
11
|
+
link(:google_search_index, :index => 0)
|
12
|
+
link(:google_search_link, :link => "Google Search")
|
13
|
+
link(:google_search_link_text, :link_text => "Google Search")
|
14
|
+
link(:hello0, {:text => "Hello", :index => 0})
|
15
|
+
link(:hello1, {:text => "Hello", :index => 1})
|
16
|
+
link(:hello2, {:text => "Hello", :index => 2})
|
17
|
+
|
18
|
+
text_field(:text_field_id, :id => "text_field_id")
|
19
|
+
text_field(:text_field_class, :class => "text_field_class")
|
20
|
+
text_field(:text_field_name, :name => "text_field_name")
|
21
|
+
text_field(:text_field_xpath, :xpath => "//input[@type='text']")
|
22
|
+
text_field(:text_field_css, :css => "input[type='text']")
|
23
|
+
text_field(:text_field_tag_name, :tag_name => "input[type='text']")
|
24
|
+
text_field(:text_field_index, :index => 0)
|
25
|
+
text_field(:text_field_text, :text => "")
|
26
|
+
text_field(:text_field_value, :value => "")
|
27
|
+
text_field(:text_field_class_index, :class => "text_field_class", :index => 0)
|
28
|
+
text_field(:text_field_name_index, :name => "text_field_name", :index => 0)
|
29
|
+
|
30
|
+
checkbox(:cb_id, :id => "cb_id")
|
31
|
+
checkbox(:cb_name, :name => 'cb_name')
|
32
|
+
checkbox(:cb_class, :class => 'cb_class')
|
33
|
+
checkbox(:cb_index, :index => 0)
|
34
|
+
checkbox(:cb_xpath, :xpath => "//input[@type='checkbox']")
|
35
|
+
checkbox(:cb_class_index, :class => "cb_class", :index => 0)
|
36
|
+
checkbox(:cb_name_index, :name => "cb_name", :index => 0)
|
37
|
+
|
38
|
+
select_list(:select_list_id, :id => "sel_list_id")
|
39
|
+
select_list(:select_list_class, :class => "sel_list_class")
|
40
|
+
select_list(:select_list_index, :index => 0)
|
41
|
+
select_list(:select_list_name, :name => "sel_list_name")
|
42
|
+
select_list(:select_list_xpath, :xpath => "//select")
|
43
|
+
select_list(:select_list_text, :text => "Test 1")
|
44
|
+
select_list(:select_list_value, :value => "option1")
|
45
|
+
select_list(:select_list_class_index, :class => "sel_list_class", :index => 0)
|
46
|
+
select_list(:select_list_name_index, :name => "sel_list_name", :index => 0)
|
47
|
+
|
48
|
+
radio_button(:milk_id, :id => 'milk_id')
|
49
|
+
radio_button(:butter_id, :id => 'butter_id')
|
50
|
+
radio_button(:milk_name, :name => 'milk_name')
|
51
|
+
radio_button(:milk_class, :class => 'milk_class')
|
52
|
+
radio_button(:milk_index, :index => 0)
|
53
|
+
radio_button(:milk_xpath, :xpath => "//input[@type='radio']")
|
54
|
+
radio_button(:milk_class_index, :class => "milk_class", :index => 0)
|
55
|
+
radio_button(:milk_name_index, :name => "milk_name", :index => 0)
|
56
|
+
|
57
|
+
button(:button_id, :id => 'button_id')
|
58
|
+
button(:button_name, :name => 'button_name')
|
59
|
+
button(:button_class, :class => 'button_class')
|
60
|
+
button(:button_index, :index => 0)
|
61
|
+
button(:button_xpath, :xpath=> "//input[@type='submit']")
|
62
|
+
button(:button_text, :text => 'Click Me')
|
63
|
+
button(:button_class_index, :class => "button_class", :index => 0)
|
64
|
+
button(:button_name_index, :name => "button_name", :index => 0)
|
65
|
+
|
66
|
+
div(:div_id, :id => "div_id")
|
67
|
+
div(:div_name, :name => "div_name")
|
68
|
+
div(:div_class, :class => 'div_class')
|
69
|
+
div(:div_index, :index => 0)
|
70
|
+
div(:div_xpath, :xpath => '//div')
|
71
|
+
div(:div_class_index, :class => "div_class", :index => 0)
|
72
|
+
div(:div_name_index, :name => "div_name", :index => 0)
|
73
|
+
|
74
|
+
table(:table_id, :id => "table_id")
|
75
|
+
table(:table_class, :class => 'table_class')
|
76
|
+
table(:table_index, :index => 0)
|
77
|
+
table(:table_xpath, :xpath => '//table')
|
78
|
+
table(:table_name, :name => 'table_name')
|
79
|
+
table(:table_class_index, :class => "table_class", :index => 0)
|
80
|
+
table(:table_name_index, :name => "table_name", :index => 0)
|
81
|
+
|
82
|
+
cell(:cell_id, :id => 'cell_id')
|
83
|
+
cell(:cell_class, :class => 'cell_class')
|
84
|
+
cell(:cell_index, :index => 3)
|
85
|
+
cell(:cell_xpath, :xpath => '//table//tr[2]//td[2]')
|
86
|
+
cell(:cell_name, :name => 'cell_name')
|
87
|
+
cell(:cell_class_index, :class => "cell_class", :index => 0)
|
88
|
+
cell(:cell_name_index, :name => "cell_name", :index => 0)
|
89
|
+
|
90
|
+
span(:span_id, :id => "span_id")
|
91
|
+
span(:span_class, :class => 'span_class')
|
92
|
+
span(:span_index, :index => 0)
|
93
|
+
span(:span_xpath, :xpath => '//span')
|
94
|
+
span(:span_name, :name => 'span_name')
|
95
|
+
span(:span_class_index, :class => "span_class", :index => 0)
|
96
|
+
span(:span_name_index, :name => "span_name", :index => 0)
|
97
|
+
|
98
|
+
image(:image_id, :id => "image_id")
|
99
|
+
image(:image_name, :name => 'image_name')
|
100
|
+
image(:image_class, :class => 'image_class')
|
101
|
+
image(:image_index, :index => 0)
|
102
|
+
image(:image_xpath, :xpath => '//img')
|
103
|
+
image(:image_class_index, :class => "image_class", :index => 0)
|
104
|
+
image(:image_name_index, :name => "image_name", :index => 0)
|
105
|
+
|
106
|
+
form(:form_id, :id => 'form_id')
|
107
|
+
form(:form_name, :id => 'form_name')
|
108
|
+
form(:form_class, :class => 'form_class')
|
109
|
+
form(:form_index, :index => 0)
|
110
|
+
form(:form_xpath, :xpath => '//form')
|
111
|
+
form(:form_class_index, :class => "form_class", :index => 0)
|
112
|
+
form(:form_name_index, :name => "form_name", :index => 0)
|
113
|
+
|
114
|
+
hidden_field(:hidden_field_id, :id => "hidden_field_id")
|
115
|
+
hidden_field(:hidden_field_class, :class => "hidden_field_class")
|
116
|
+
hidden_field(:hidden_field_name, :name => "hidden_field_name")
|
117
|
+
hidden_field(:hidden_field_xpath, :xpath => "//input[@type='hidden']")
|
118
|
+
hidden_field(:hidden_field_css, :css => "input[type='hidden']")
|
119
|
+
hidden_field(:hidden_field_tag_name, :tag_name => "input[type='hidden']")
|
120
|
+
hidden_field(:hidden_field_index, :index => 0)
|
121
|
+
hidden_field(:hidden_field_text, :text => "")
|
122
|
+
hidden_field(:hidden_field_value, :value => "")
|
123
|
+
hidden_field(:hidden_field_class_index, :class => "hidden_field_class", :index => 0)
|
124
|
+
hidden_field(:hidden_field_name_index, :name => "hidden_field_name", :index => 0)
|
125
|
+
|
126
|
+
list_item(:li_id, :id => 'li_id')
|
127
|
+
list_item(:li_class, :class => 'li_class')
|
128
|
+
list_item(:li_name, :name => 'li_name')
|
129
|
+
list_item(:li_index, :index => 0)
|
130
|
+
list_item(:li_xpath, :xpath => '//li[1]')
|
131
|
+
list_item(:li_class_index, :class => "li_class", :index => 0)
|
132
|
+
list_item(:li_name_index, :name => "li_name", :index => 0)
|
133
|
+
|
134
|
+
ordered_list(:ol_id, :id => 'ol_id')
|
135
|
+
ordered_list(:ol_class, :class => 'ol_class')
|
136
|
+
ordered_list(:ol_index, :index => 0)
|
137
|
+
ordered_list(:ol_xpath, :xpath => '//ol')
|
138
|
+
ordered_list(:ol_name, :name => 'ol_name')
|
139
|
+
ordered_list(:ol_class_index, :class => "ol_class", :index => 0)
|
140
|
+
ordered_list(:ol_name_index, :name => "ol_name", :index => 0)
|
141
|
+
|
142
|
+
text_area(:text_area_id, :id => "text_area_id")
|
143
|
+
text_area(:text_area_class, :class => "text_area_class")
|
144
|
+
text_area(:text_area_name, :name => "text_area_name")
|
145
|
+
text_area(:text_area_xpath, :xpath => "//textarea")
|
146
|
+
text_area(:text_area_css, :css => "textarea")
|
147
|
+
text_area(:text_area_tag_name, :tag_name => "textarea")
|
148
|
+
text_area(:text_area_index, :index => 0)
|
149
|
+
text_area(:text_area_text, :text => "")
|
150
|
+
text_area(:text_area_value, :value => "")
|
151
|
+
text_area(:text_area_class_index, :class => "text_area_class", :index => 0)
|
152
|
+
text_area(:text_area_name_index, :name => "text_area_name", :index => 0)
|
153
|
+
|
154
|
+
unordered_list(:ul_id, :id => 'ul_id')
|
155
|
+
unordered_list(:ul_class, :class => 'ul_class')
|
156
|
+
unordered_list(:ul_index, :index => 0)
|
157
|
+
unordered_list(:ul_xpath, :xpath => '//ul')
|
158
|
+
unordered_list(:ul_name, :name => 'ul_name')
|
159
|
+
unordered_list(:ul_class_index, :class => "ul_class", :index => 0)
|
160
|
+
unordered_list(:ul_name_index, :name => "ul_name", :index => 0)
|
161
|
+
unordered_list(:ul_class_name, :class => "ul_class", :name => "ul_name")
|
162
|
+
|
163
|
+
end
|