watir-webdriver 0.0.1.dev
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.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/.gitmodules +3 -0
- data/LICENSE +20 -0
- data/README.rdoc +32 -0
- data/Rakefile +107 -0
- data/TODO +15 -0
- data/VERSION +1 -0
- data/lib/watir-webdriver.rb +74 -0
- data/lib/watir-webdriver/base_element.rb +347 -0
- data/lib/watir-webdriver/browser.rb +130 -0
- data/lib/watir-webdriver/browserbot.js +34 -0
- data/lib/watir-webdriver/collections/buttons_collection.rb +13 -0
- data/lib/watir-webdriver/collections/element_collection.rb +45 -0
- data/lib/watir-webdriver/collections/table_rows_collection.rb +14 -0
- data/lib/watir-webdriver/collections/text_fields_collection.rb +13 -0
- data/lib/watir-webdriver/container.rb +24 -0
- data/lib/watir-webdriver/core_ext/string.rb +22 -0
- data/lib/watir-webdriver/elements/button.rb +27 -0
- data/lib/watir-webdriver/elements/checkbox.rb +23 -0
- data/lib/watir-webdriver/elements/file_field.rb +20 -0
- data/lib/watir-webdriver/elements/form.rb +11 -0
- data/lib/watir-webdriver/elements/generated.rb +941 -0
- data/lib/watir-webdriver/elements/headings.rb +48 -0
- data/lib/watir-webdriver/elements/hidden.rb +18 -0
- data/lib/watir-webdriver/elements/image.rb +33 -0
- data/lib/watir-webdriver/elements/input.rb +39 -0
- data/lib/watir-webdriver/elements/link.rb +13 -0
- data/lib/watir-webdriver/elements/option.rb +36 -0
- data/lib/watir-webdriver/elements/radio.rb +23 -0
- data/lib/watir-webdriver/elements/select_list.rb +73 -0
- data/lib/watir-webdriver/elements/shared_radio_checkbox.rb +13 -0
- data/lib/watir-webdriver/elements/table.rb +18 -0
- data/lib/watir-webdriver/elements/table_row.rb +17 -0
- data/lib/watir-webdriver/elements/text_field.rb +60 -0
- data/lib/watir-webdriver/exception.rb +20 -0
- data/lib/watir-webdriver/locators/button_locator.rb +57 -0
- data/lib/watir-webdriver/locators/element_locator.rb +269 -0
- data/lib/watir-webdriver/locators/table_row_locator.rb +25 -0
- data/lib/watir-webdriver/locators/text_field_locator.rb +61 -0
- data/lib/watir-webdriver/xpath_support.rb +23 -0
- data/spec/element_locator_spec.rb +11 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/watirspec/area_spec.rb +78 -0
- data/spec/watirspec/areas_spec.rb +31 -0
- data/spec/watirspec/browser_spec.rb +262 -0
- data/spec/watirspec/button_spec.rb +242 -0
- data/spec/watirspec/buttons_spec.rb +48 -0
- data/spec/watirspec/checkbox_spec.rb +272 -0
- data/spec/watirspec/checkboxes_spec.rb +32 -0
- data/spec/watirspec/dd_spec.rb +136 -0
- data/spec/watirspec/dds_spec.rb +31 -0
- data/spec/watirspec/div_spec.rb +222 -0
- data/spec/watirspec/divs_spec.rb +31 -0
- data/spec/watirspec/dl_spec.rb +136 -0
- data/spec/watirspec/dls_spec.rb +32 -0
- data/spec/watirspec/dt_spec.rb +136 -0
- data/spec/watirspec/dts_spec.rb +31 -0
- data/spec/watirspec/element_spec.rb +87 -0
- data/spec/watirspec/em_spec.rb +110 -0
- data/spec/watirspec/ems_spec.rb +32 -0
- data/spec/watirspec/filefield_spec.rb +119 -0
- data/spec/watirspec/filefields_spec.rb +32 -0
- data/spec/watirspec/form_spec.rb +63 -0
- data/spec/watirspec/forms_spec.rb +33 -0
- data/spec/watirspec/frame_spec.rb +140 -0
- data/spec/watirspec/frames_spec.rb +62 -0
- data/spec/watirspec/hidden_spec.rb +102 -0
- data/spec/watirspec/hiddens_spec.rb +32 -0
- data/spec/watirspec/hn_spec.rb +93 -0
- data/spec/watirspec/hns_spec.rb +38 -0
- data/spec/watirspec/image_spec.rb +207 -0
- data/spec/watirspec/images_spec.rb +31 -0
- data/spec/watirspec/label_spec.rb +75 -0
- data/spec/watirspec/labels_spec.rb +31 -0
- data/spec/watirspec/li_spec.rb +127 -0
- data/spec/watirspec/lib/guards.rb +59 -0
- data/spec/watirspec/lib/server.rb +127 -0
- data/spec/watirspec/lib/spec_helper.rb +79 -0
- data/spec/watirspec/lib/watirspec.rb +72 -0
- data/spec/watirspec/link_spec.rb +165 -0
- data/spec/watirspec/links_spec.rb +35 -0
- data/spec/watirspec/lis_spec.rb +31 -0
- data/spec/watirspec/map_spec.rb +92 -0
- data/spec/watirspec/maps_spec.rb +32 -0
- data/spec/watirspec/meta_spec.rb +22 -0
- data/spec/watirspec/metas_spec.rb +30 -0
- data/spec/watirspec/ol_spec.rb +78 -0
- data/spec/watirspec/ols_spec.rb +31 -0
- data/spec/watirspec/option_spec.rb +173 -0
- data/spec/watirspec/p_spec.rb +143 -0
- data/spec/watirspec/pre_spec.rb +125 -0
- data/spec/watirspec/pres_spec.rb +31 -0
- data/spec/watirspec/ps_spec.rb +31 -0
- data/spec/watirspec/radio_spec.rb +278 -0
- data/spec/watirspec/radios_spec.rb +32 -0
- data/spec/watirspec/select_list_spec.rb +318 -0
- data/spec/watirspec/select_lists_spec.rb +35 -0
- data/spec/watirspec/span_spec.rb +157 -0
- data/spec/watirspec/spans_spec.rb +57 -0
- data/spec/watirspec/spec_helper.rb +17 -0
- data/spec/watirspec/strong_spec.rb +89 -0
- data/spec/watirspec/strongs_spec.rb +32 -0
- data/spec/watirspec/table_bodies_spec.rb +45 -0
- data/spec/watirspec/table_body_spec.rb +98 -0
- data/spec/watirspec/table_cell_spec.rb +68 -0
- data/spec/watirspec/table_cells_spec.rb +47 -0
- data/spec/watirspec/table_footer_spec.rb +85 -0
- data/spec/watirspec/table_footers_spec.rb +47 -0
- data/spec/watirspec/table_header_spec.rb +85 -0
- data/spec/watirspec/table_headers_spec.rb +45 -0
- data/spec/watirspec/table_row_spec.rb +87 -0
- data/spec/watirspec/table_rows_spec.rb +50 -0
- data/spec/watirspec/table_spec.rb +166 -0
- data/spec/watirspec/tables_spec.rb +33 -0
- data/spec/watirspec/text_field_spec.rb +276 -0
- data/spec/watirspec/text_fields_spec.rb +35 -0
- data/spec/watirspec/ul_spec.rb +76 -0
- data/spec/watirspec/uls_spec.rb +33 -0
- data/spec/xpath_builder_spec.rb +49 -0
- data/support/html5/html5.idl +815 -0
- data/support/html5/html5_extras.idl +147 -0
- data/support/html5/idl_extractor.rb +73 -0
- data/support/html5/watir_visitor.rb +169 -0
- metadata +220 -0
@@ -0,0 +1,147 @@
|
|
1
|
+
|
2
|
+
// the-thead-element
|
3
|
+
[TagName=thead]
|
4
|
+
interface HTMLTheadElement : HTMLTableSectionElement {};
|
5
|
+
|
6
|
+
|
7
|
+
// the-dd-element
|
8
|
+
[TagName=dd]
|
9
|
+
interface HTMLDdElement : HTMLElement {};
|
10
|
+
|
11
|
+
// the-address-element
|
12
|
+
[TagName=address]
|
13
|
+
interface HTMLAddressElement : HTMLElement {};
|
14
|
+
|
15
|
+
// the-nav-element
|
16
|
+
[TagName=nav]
|
17
|
+
interface HTMLNavElement : HTMLElement {};
|
18
|
+
|
19
|
+
// the-tfoot-element
|
20
|
+
[TagName=tfoot]
|
21
|
+
interface HTMLTFootElement : HTMLTableSectionElement {};
|
22
|
+
|
23
|
+
// the-sub-and-sup-elements
|
24
|
+
[TagName=sub]
|
25
|
+
interface HTMLSubElement : HTMLElement {};
|
26
|
+
[TagName=sup]
|
27
|
+
interface HTMLSupElement : HTMLElement {};
|
28
|
+
|
29
|
+
// the-bdo-element
|
30
|
+
[TagName=bdo]
|
31
|
+
interface HTMLBdoElement : HTMLElement {};
|
32
|
+
|
33
|
+
// the-rp-element
|
34
|
+
[TagName=rp]
|
35
|
+
interface HTMLRpElement : HTMLElement {};
|
36
|
+
|
37
|
+
// the-rt-element
|
38
|
+
[TagName=rt]
|
39
|
+
interface HTMLRtElement : HTMLElement {};
|
40
|
+
|
41
|
+
// the-mark-element
|
42
|
+
[TagName=mark]
|
43
|
+
interface HTMLMarkElement : HTMLElement {};
|
44
|
+
|
45
|
+
// the-kbd-element
|
46
|
+
[TagName=kbd]
|
47
|
+
interface HTMLKbdElement : HTMLElement {};
|
48
|
+
|
49
|
+
// the-dfn-element
|
50
|
+
[TagName=dfn]
|
51
|
+
interface HTMLDfnElement : HTMLElement {};
|
52
|
+
|
53
|
+
// the-cite-element
|
54
|
+
[TagName=cite]
|
55
|
+
interface HTMLCiteElement : HTMLElement {};
|
56
|
+
|
57
|
+
// the-ins-element
|
58
|
+
[TagName=ins]
|
59
|
+
interface HTMLInsElement : HTMLModElement {};
|
60
|
+
|
61
|
+
// the-b-element
|
62
|
+
[TagName=b]
|
63
|
+
interface HTMLBElement : HTMLElement {};
|
64
|
+
|
65
|
+
// the-noscript-element
|
66
|
+
[TagName=noscript]
|
67
|
+
interface HTMLNoscriptElement : HTMLElement {};
|
68
|
+
|
69
|
+
// the-figure-element
|
70
|
+
[TagName=figure]
|
71
|
+
interface HTMLFigureElement : HTMLElement {};
|
72
|
+
|
73
|
+
// the-code-element
|
74
|
+
[TagName=code]
|
75
|
+
interface HTMLCodeElement : HTMLElement {};
|
76
|
+
|
77
|
+
// the-q-element
|
78
|
+
[TagName=q]
|
79
|
+
interface HTMLQElement : HTMLQuoteElement {};
|
80
|
+
|
81
|
+
// the-strong-element
|
82
|
+
[TagName=strong]
|
83
|
+
interface HTMLStrongElement : HTMLElement {};
|
84
|
+
|
85
|
+
// the-header-element
|
86
|
+
[TagName=header]
|
87
|
+
interface HTMLHeaderElement : HTMLElement {};
|
88
|
+
|
89
|
+
// the-hgroup-element
|
90
|
+
[TagName=hgroup]
|
91
|
+
interface HTMLHgroupElement : HTMLElement {};
|
92
|
+
|
93
|
+
// the-aside-element
|
94
|
+
[TagName=aside]
|
95
|
+
interface HTMLAsideElement : HTMLElement {};
|
96
|
+
|
97
|
+
// the-samp-element
|
98
|
+
[TagName=samp]
|
99
|
+
interface HTMLSampElement : HTMLElement {};
|
100
|
+
|
101
|
+
// the-section-element
|
102
|
+
[TagName=section]
|
103
|
+
interface HTMLSectionElement : HTMLElement {};
|
104
|
+
|
105
|
+
// the-dt-element
|
106
|
+
[TagName=dt]
|
107
|
+
interface HTMLDtElement : HTMLElement {};
|
108
|
+
|
109
|
+
// the-col-element
|
110
|
+
[TagName=col]
|
111
|
+
interface HTMLColElement : HTMLTableColElement {};
|
112
|
+
|
113
|
+
// the-i-element
|
114
|
+
[TagName=i]
|
115
|
+
interface HTMLIElement : HTMLElement {};
|
116
|
+
|
117
|
+
// the-var-element
|
118
|
+
[TagName=var]
|
119
|
+
interface HTMLVarElement : HTMLElement {};
|
120
|
+
|
121
|
+
// the-abbr-element
|
122
|
+
[TagName=abbr]
|
123
|
+
interface HTMLAbbrElement : HTMLElement {};
|
124
|
+
|
125
|
+
// the-small-element
|
126
|
+
[TagName=small]
|
127
|
+
interface HTMLSmallElement : HTMLElement {};
|
128
|
+
|
129
|
+
// the-footer-element
|
130
|
+
[TagName=footer]
|
131
|
+
interface HTMLFooterElement : HTMLElement {};
|
132
|
+
|
133
|
+
// the-ruby-element
|
134
|
+
[TagName=ruby]
|
135
|
+
interface HTMLRubyElement : HTMLElement {};
|
136
|
+
|
137
|
+
// the-article-element
|
138
|
+
[TagName=article]
|
139
|
+
interface HTMLArticleElement : HTMLElement {};
|
140
|
+
|
141
|
+
// the-del-element
|
142
|
+
[TagName=del]
|
143
|
+
interface HTMLDelElement : HTMLModElement {};
|
144
|
+
|
145
|
+
// the-em-element
|
146
|
+
[TagName=em]
|
147
|
+
interface HTMLEmElement : HTMLElement {};
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require "nokogiri"
|
3
|
+
require "open-uri"
|
4
|
+
require "pp"
|
5
|
+
require "ruby-debug"
|
6
|
+
|
7
|
+
class IdlExtractor
|
8
|
+
def initialize(url)
|
9
|
+
@doc = Nokogiri.HTML(open(url))
|
10
|
+
@idls = {}
|
11
|
+
@extras = {}
|
12
|
+
extract
|
13
|
+
end
|
14
|
+
|
15
|
+
def write_idl_to(filepath)
|
16
|
+
File.open(filepath, "w") do |file|
|
17
|
+
@idls.values.each { |idl| file.puts(idl) }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def write_extras_to(filepath)
|
22
|
+
File.open(filepath, "w") do |file|
|
23
|
+
@extras.values.each { |extra| file.puts(extra) }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def extract
|
28
|
+
# get the HTMLElement interface, which doesn't follow the normal structure
|
29
|
+
unless html_header = @doc.search("//h4[@id='elements-in-the-dom']").first
|
30
|
+
raise "could not find header with id 'elements-in-the-dom' (for HTMLElement)"
|
31
|
+
end
|
32
|
+
|
33
|
+
idl = html_header.xpath("following-sibling::pre[@class='idl']").first.text
|
34
|
+
@idls['htmlelement'] = "// HTMLElement\n#{idl}"
|
35
|
+
|
36
|
+
# then get all the others
|
37
|
+
element_headers = @doc.search('//h4').select { |e| e['id'] =~ /the-.+-element/ }
|
38
|
+
raise "no elements found in the spec!" if element_headers.empty?
|
39
|
+
element_headers.map { |e| extract_idl_from(e) }
|
40
|
+
end
|
41
|
+
|
42
|
+
|
43
|
+
def extract_idl_from(node)
|
44
|
+
dl = node.xpath("following-sibling::dl[@class='element' and position()=1]").first
|
45
|
+
unless dl
|
46
|
+
short_id = node['id'][/^the-.+-element/, 0]
|
47
|
+
$stderr.puts "could not find 'DOM interface' section for #{node['id']}"
|
48
|
+
$stderr.puts " already have #{short_id}" if @idls.has_key?(short_id) || @extras.has_key?(short_id)
|
49
|
+
return
|
50
|
+
end
|
51
|
+
|
52
|
+
prefix = "\n\n// #{node['id']}\n" << tag_name_ext_attr_for(node)
|
53
|
+
|
54
|
+
if idl_node = dl.css("pre.idl").first
|
55
|
+
@idls[node['id']] = prefix << idl_node.text
|
56
|
+
else
|
57
|
+
if extra_node = dl.css("dt ~ dd").last
|
58
|
+
@extras[node['id']] = prefix << extra_node.text
|
59
|
+
else
|
60
|
+
raise "could not find IDL section for #{node['id']}"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def tag_name_ext_attr_for(node)
|
66
|
+
if node['id'] =~ /^the-(.+)-element/
|
67
|
+
"[TagName=#{$1}]\n"
|
68
|
+
else
|
69
|
+
raise "not sure what tag name to use for #{node['id']}"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
end # IdlExtractor
|
@@ -0,0 +1,169 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require "rubygems"
|
3
|
+
require "webidl"
|
4
|
+
require "ruby-debug"
|
5
|
+
require "pp"
|
6
|
+
|
7
|
+
Debugger.start
|
8
|
+
Debugger.settings[:autoeval] = true
|
9
|
+
Debugger.settings[:autolist] = 1
|
10
|
+
|
11
|
+
|
12
|
+
class WatirVisitor < WebIDL::RubySexpVisitor
|
13
|
+
|
14
|
+
SPECIALS = {
|
15
|
+
'img' => 'image'
|
16
|
+
}
|
17
|
+
|
18
|
+
def self.generate_from(file)
|
19
|
+
result = []
|
20
|
+
result << "# Autogenerated from the HTML5 specification. Edits may be lost."
|
21
|
+
result << "module Watir"
|
22
|
+
|
23
|
+
gen = WebIDL::Generator.new(new)
|
24
|
+
code = gen.generate(File.read(file))
|
25
|
+
code = " " + code.split("\n").join("\n ")
|
26
|
+
|
27
|
+
result << code
|
28
|
+
result << "end"
|
29
|
+
|
30
|
+
result.join("\n")
|
31
|
+
end
|
32
|
+
|
33
|
+
def visit_interface(interface)
|
34
|
+
name = interface.name
|
35
|
+
parent = interface.inherits.first
|
36
|
+
|
37
|
+
return unless name =~ /^HTML/
|
38
|
+
|
39
|
+
if name == "HTMLElement"
|
40
|
+
parent = 'BaseElement'
|
41
|
+
# elsif !(parent && parent.name =~ /^HTMLElement/)
|
42
|
+
# return
|
43
|
+
else
|
44
|
+
parent = parent.name
|
45
|
+
end
|
46
|
+
|
47
|
+
element_class interface.name,
|
48
|
+
tag_name_from(interface),
|
49
|
+
interface.members.select { |e| e.kind_of?(WebIDL::Ast::Attribute) },
|
50
|
+
parent
|
51
|
+
end
|
52
|
+
|
53
|
+
def visit_module(mod)
|
54
|
+
# ignored
|
55
|
+
end
|
56
|
+
|
57
|
+
def visit_implements_statement(stmt)
|
58
|
+
# ignored
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def tag_name_from(interface)
|
64
|
+
_, tag_name = interface.extended_attributes.find { |k,v| k == "TagName" }
|
65
|
+
tag_name || paramify(interface.name)
|
66
|
+
end
|
67
|
+
|
68
|
+
def element_class(name, tag_name, attributes, parent)
|
69
|
+
[:class, classify(name), [:const, classify(parent)],
|
70
|
+
[:scope, [:block] + [identifier_call(tag_name)]],
|
71
|
+
[:scope, [:block] + [container_call(tag_name)]],
|
72
|
+
[:scope, [:block] + [collection_call(tag_name)]],
|
73
|
+
[:scope, [:block] + [attributes_call(attributes)]]
|
74
|
+
]
|
75
|
+
end
|
76
|
+
|
77
|
+
def classify(name)
|
78
|
+
if name =~ /^HTML(.+)Element$/
|
79
|
+
$1
|
80
|
+
else
|
81
|
+
name
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def paramify(str)
|
86
|
+
if SPECIALS.has_key?(str)
|
87
|
+
SPECIALS[str]
|
88
|
+
else
|
89
|
+
classify(str).snake_case
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def attributes_call(attributes)
|
94
|
+
return if attributes.empty?
|
95
|
+
|
96
|
+
attrs = Hash.new { |hash, key| hash[key] = [] }
|
97
|
+
attributes.each do |a|
|
98
|
+
attrs[ruby_type_for(a.type)] << a.name.snake_case
|
99
|
+
end
|
100
|
+
|
101
|
+
call :attributes, [[:hash] + attrs.map { |type, names| [[:lit, type], literal_array(names)] }.flatten(1)]
|
102
|
+
end
|
103
|
+
|
104
|
+
def identifier_call(tag_name)
|
105
|
+
call :identifier, [literal_hash(:tag_name => tag_name)]
|
106
|
+
end
|
107
|
+
|
108
|
+
def container_call(name)
|
109
|
+
call :container_method, [[:lit, paramify(name).to_sym]]
|
110
|
+
end
|
111
|
+
|
112
|
+
def collection_call(name)
|
113
|
+
call :collection_method, [[:lit, pluralize(paramify(name)).to_sym]]
|
114
|
+
end
|
115
|
+
|
116
|
+
def literal_hash(hash)
|
117
|
+
[:hash] + hash.map { |k, v| [[:lit, k.to_sym], [:lit, v]] }.flatten(1)
|
118
|
+
end
|
119
|
+
|
120
|
+
def literal_array(arr)
|
121
|
+
[:array] + arr.map { |e| [:lit, e.to_sym] }
|
122
|
+
end
|
123
|
+
|
124
|
+
def call(name, args)
|
125
|
+
[:call, nil, name.to_sym, [:arglist] + args]
|
126
|
+
end
|
127
|
+
|
128
|
+
def pluralize(name)
|
129
|
+
name[/s$/] ? name : name + 's'
|
130
|
+
end
|
131
|
+
|
132
|
+
def ruby_type_for(type)
|
133
|
+
case type.name.to_s
|
134
|
+
when 'DOMString', 'any'
|
135
|
+
:string
|
136
|
+
when 'unsigned long', 'long', 'integer', 'short', 'unsigned short'
|
137
|
+
:int
|
138
|
+
when 'float'
|
139
|
+
:float
|
140
|
+
when 'Function'
|
141
|
+
:function
|
142
|
+
when 'boolean'
|
143
|
+
:bool
|
144
|
+
when 'Document'
|
145
|
+
:document
|
146
|
+
when 'DOMTokenList', 'DOMSettableTokenList'
|
147
|
+
:token_list
|
148
|
+
when 'DOMStringMap'
|
149
|
+
:string_map
|
150
|
+
when 'HTMLPropertiesCollection'
|
151
|
+
:properties_collection
|
152
|
+
when /HTML(.*)Element/
|
153
|
+
:html_element
|
154
|
+
when /HTML(.*)Collection/
|
155
|
+
:html_collection
|
156
|
+
when 'CSSStyleDeclaration'
|
157
|
+
:style
|
158
|
+
when /.+List$/
|
159
|
+
:list
|
160
|
+
when 'Date'
|
161
|
+
:date
|
162
|
+
when 'WindowProxy', 'ValidityState', 'MediaError', 'TimeRanges'
|
163
|
+
:string
|
164
|
+
else
|
165
|
+
raise "unknown type: #{type.name}"
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
end
|
metadata
ADDED
@@ -0,0 +1,220 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: watir-webdriver
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.dev
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jari Bakken
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2010-01-12 00:00:00 +01:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: selenium-webdriver
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.10
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: webidl
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: "0"
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: sinatra
|
47
|
+
type: :development
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
54
|
+
version:
|
55
|
+
description: WebDriver-backed Watir
|
56
|
+
email: jari.bakken@gmail.com
|
57
|
+
executables: []
|
58
|
+
|
59
|
+
extensions: []
|
60
|
+
|
61
|
+
extra_rdoc_files:
|
62
|
+
- LICENSE
|
63
|
+
- README.rdoc
|
64
|
+
files:
|
65
|
+
- .document
|
66
|
+
- .gitignore
|
67
|
+
- .gitmodules
|
68
|
+
- LICENSE
|
69
|
+
- README.rdoc
|
70
|
+
- Rakefile
|
71
|
+
- TODO
|
72
|
+
- VERSION
|
73
|
+
- lib/watir-webdriver.rb
|
74
|
+
- lib/watir-webdriver/base_element.rb
|
75
|
+
- lib/watir-webdriver/browser.rb
|
76
|
+
- lib/watir-webdriver/browserbot.js
|
77
|
+
- lib/watir-webdriver/collections/buttons_collection.rb
|
78
|
+
- lib/watir-webdriver/collections/element_collection.rb
|
79
|
+
- lib/watir-webdriver/collections/table_rows_collection.rb
|
80
|
+
- lib/watir-webdriver/collections/text_fields_collection.rb
|
81
|
+
- lib/watir-webdriver/container.rb
|
82
|
+
- lib/watir-webdriver/core_ext/string.rb
|
83
|
+
- lib/watir-webdriver/elements/button.rb
|
84
|
+
- lib/watir-webdriver/elements/checkbox.rb
|
85
|
+
- lib/watir-webdriver/elements/file_field.rb
|
86
|
+
- lib/watir-webdriver/elements/form.rb
|
87
|
+
- lib/watir-webdriver/elements/generated.rb
|
88
|
+
- lib/watir-webdriver/elements/headings.rb
|
89
|
+
- lib/watir-webdriver/elements/hidden.rb
|
90
|
+
- lib/watir-webdriver/elements/image.rb
|
91
|
+
- lib/watir-webdriver/elements/input.rb
|
92
|
+
- lib/watir-webdriver/elements/link.rb
|
93
|
+
- lib/watir-webdriver/elements/option.rb
|
94
|
+
- lib/watir-webdriver/elements/radio.rb
|
95
|
+
- lib/watir-webdriver/elements/select_list.rb
|
96
|
+
- lib/watir-webdriver/elements/shared_radio_checkbox.rb
|
97
|
+
- lib/watir-webdriver/elements/table.rb
|
98
|
+
- lib/watir-webdriver/elements/table_row.rb
|
99
|
+
- lib/watir-webdriver/elements/text_field.rb
|
100
|
+
- lib/watir-webdriver/exception.rb
|
101
|
+
- lib/watir-webdriver/locators/button_locator.rb
|
102
|
+
- lib/watir-webdriver/locators/element_locator.rb
|
103
|
+
- lib/watir-webdriver/locators/table_row_locator.rb
|
104
|
+
- lib/watir-webdriver/locators/text_field_locator.rb
|
105
|
+
- lib/watir-webdriver/xpath_support.rb
|
106
|
+
- spec/element_locator_spec.rb
|
107
|
+
- spec/spec_helper.rb
|
108
|
+
- spec/xpath_builder_spec.rb
|
109
|
+
- support/html5/html5.idl
|
110
|
+
- support/html5/html5_extras.idl
|
111
|
+
- support/html5/idl_extractor.rb
|
112
|
+
- support/html5/watir_visitor.rb
|
113
|
+
has_rdoc: true
|
114
|
+
homepage: http://github.com/jarib/watir-webdriver
|
115
|
+
licenses: []
|
116
|
+
|
117
|
+
post_install_message:
|
118
|
+
rdoc_options:
|
119
|
+
- --charset=UTF-8
|
120
|
+
require_paths:
|
121
|
+
- lib
|
122
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: "0"
|
127
|
+
version:
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - ">"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 1.3.1
|
133
|
+
version:
|
134
|
+
requirements: []
|
135
|
+
|
136
|
+
rubyforge_project:
|
137
|
+
rubygems_version: 1.3.5
|
138
|
+
signing_key:
|
139
|
+
specification_version: 3
|
140
|
+
summary: Watir on WebDriver
|
141
|
+
test_files:
|
142
|
+
- spec/element_locator_spec.rb
|
143
|
+
- spec/spec_helper.rb
|
144
|
+
- spec/watirspec/area_spec.rb
|
145
|
+
- spec/watirspec/areas_spec.rb
|
146
|
+
- spec/watirspec/browser_spec.rb
|
147
|
+
- spec/watirspec/button_spec.rb
|
148
|
+
- spec/watirspec/buttons_spec.rb
|
149
|
+
- spec/watirspec/checkbox_spec.rb
|
150
|
+
- spec/watirspec/checkboxes_spec.rb
|
151
|
+
- spec/watirspec/dd_spec.rb
|
152
|
+
- spec/watirspec/dds_spec.rb
|
153
|
+
- spec/watirspec/div_spec.rb
|
154
|
+
- spec/watirspec/divs_spec.rb
|
155
|
+
- spec/watirspec/dl_spec.rb
|
156
|
+
- spec/watirspec/dls_spec.rb
|
157
|
+
- spec/watirspec/dt_spec.rb
|
158
|
+
- spec/watirspec/dts_spec.rb
|
159
|
+
- spec/watirspec/element_spec.rb
|
160
|
+
- spec/watirspec/em_spec.rb
|
161
|
+
- spec/watirspec/ems_spec.rb
|
162
|
+
- spec/watirspec/filefield_spec.rb
|
163
|
+
- spec/watirspec/filefields_spec.rb
|
164
|
+
- spec/watirspec/form_spec.rb
|
165
|
+
- spec/watirspec/forms_spec.rb
|
166
|
+
- spec/watirspec/frame_spec.rb
|
167
|
+
- spec/watirspec/frames_spec.rb
|
168
|
+
- spec/watirspec/hidden_spec.rb
|
169
|
+
- spec/watirspec/hiddens_spec.rb
|
170
|
+
- spec/watirspec/hn_spec.rb
|
171
|
+
- spec/watirspec/hns_spec.rb
|
172
|
+
- spec/watirspec/image_spec.rb
|
173
|
+
- spec/watirspec/images_spec.rb
|
174
|
+
- spec/watirspec/label_spec.rb
|
175
|
+
- spec/watirspec/labels_spec.rb
|
176
|
+
- spec/watirspec/li_spec.rb
|
177
|
+
- spec/watirspec/lib/guards.rb
|
178
|
+
- spec/watirspec/lib/server.rb
|
179
|
+
- spec/watirspec/lib/spec_helper.rb
|
180
|
+
- spec/watirspec/lib/watirspec.rb
|
181
|
+
- spec/watirspec/link_spec.rb
|
182
|
+
- spec/watirspec/links_spec.rb
|
183
|
+
- spec/watirspec/lis_spec.rb
|
184
|
+
- spec/watirspec/map_spec.rb
|
185
|
+
- spec/watirspec/maps_spec.rb
|
186
|
+
- spec/watirspec/meta_spec.rb
|
187
|
+
- spec/watirspec/metas_spec.rb
|
188
|
+
- spec/watirspec/ol_spec.rb
|
189
|
+
- spec/watirspec/ols_spec.rb
|
190
|
+
- spec/watirspec/option_spec.rb
|
191
|
+
- spec/watirspec/p_spec.rb
|
192
|
+
- spec/watirspec/pre_spec.rb
|
193
|
+
- spec/watirspec/pres_spec.rb
|
194
|
+
- spec/watirspec/ps_spec.rb
|
195
|
+
- spec/watirspec/radio_spec.rb
|
196
|
+
- spec/watirspec/radios_spec.rb
|
197
|
+
- spec/watirspec/select_list_spec.rb
|
198
|
+
- spec/watirspec/select_lists_spec.rb
|
199
|
+
- spec/watirspec/span_spec.rb
|
200
|
+
- spec/watirspec/spans_spec.rb
|
201
|
+
- spec/watirspec/spec_helper.rb
|
202
|
+
- spec/watirspec/strong_spec.rb
|
203
|
+
- spec/watirspec/strongs_spec.rb
|
204
|
+
- spec/watirspec/table_bodies_spec.rb
|
205
|
+
- spec/watirspec/table_body_spec.rb
|
206
|
+
- spec/watirspec/table_cell_spec.rb
|
207
|
+
- spec/watirspec/table_cells_spec.rb
|
208
|
+
- spec/watirspec/table_footer_spec.rb
|
209
|
+
- spec/watirspec/table_footers_spec.rb
|
210
|
+
- spec/watirspec/table_header_spec.rb
|
211
|
+
- spec/watirspec/table_headers_spec.rb
|
212
|
+
- spec/watirspec/table_row_spec.rb
|
213
|
+
- spec/watirspec/table_rows_spec.rb
|
214
|
+
- spec/watirspec/table_spec.rb
|
215
|
+
- spec/watirspec/tables_spec.rb
|
216
|
+
- spec/watirspec/text_field_spec.rb
|
217
|
+
- spec/watirspec/text_fields_spec.rb
|
218
|
+
- spec/watirspec/ul_spec.rb
|
219
|
+
- spec/watirspec/uls_spec.rb
|
220
|
+
- spec/xpath_builder_spec.rb
|