selenium-webdriver-element-decorators 0.1.0 → 0.2.0
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/lib/selenium/webdriver/elements.rb +2 -0
- data/lib/selenium/webdriver/elements/button.rb +15 -0
- data/lib/selenium/webdriver/elements/checkbox.rb +31 -0
- data/lib/selenium/webdriver/elements/element.rb +10 -19
- data/lib/selenium/webdriver/elements/file_chooser.rb +6 -0
- data/lib/selenium/webdriver/elements/form.rb +11 -1
- data/lib/selenium/webdriver/elements/select.rb +48 -14
- data/lib/selenium/webdriver/elements/textbox.rb +6 -0
- data/spec/browser_spec.rb +1 -1
- data/spec/form_populate_spec.rb +45 -0
- data/spec/form_spec.rb +26 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/textbox_spec.rb +50 -0
- metadata +113 -86
@@ -2,5 +2,7 @@ require 'selenium/webdriver/elements/element'
|
|
2
2
|
require 'selenium/webdriver/elements/browser'
|
3
3
|
require 'selenium/webdriver/elements/form'
|
4
4
|
require 'selenium/webdriver/elements/textbox'
|
5
|
+
require 'selenium/webdriver/elements/checkbox'
|
6
|
+
require 'selenium/webdriver/elements/button'
|
5
7
|
require 'selenium/webdriver/elements/select'
|
6
8
|
require 'selenium/webdriver/elements/file_chooser'
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/element'
|
2
|
+
|
3
|
+
module Selenium
|
4
|
+
module WebDriver
|
5
|
+
module Elements
|
6
|
+
|
7
|
+
class Checkbox < Element
|
8
|
+
|
9
|
+
def check state = 'on'
|
10
|
+
if @element.selected? != state
|
11
|
+
@element.toggle
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def uncheck
|
16
|
+
check 'off'
|
17
|
+
end
|
18
|
+
|
19
|
+
def populate data
|
20
|
+
if data != nil
|
21
|
+
check data
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
@@ -23,9 +23,15 @@ module Selenium
|
|
23
23
|
case element.tag_name
|
24
24
|
when 'form' then Form.new element, browser
|
25
25
|
when 'input' then
|
26
|
-
|
26
|
+
type = element['type']
|
27
|
+
case element['type']
|
28
|
+
when 'text', 'password' then Textbox.new element, browser
|
29
|
+
when 'submit', 'reset', 'button', 'image' then Button.new element, browser
|
30
|
+
when 'checkbox' then Checkbox.new element, browser
|
27
31
|
when 'file' then FileChooser.new element, browser
|
28
|
-
|
32
|
+
# TODO: implement radio buttons
|
33
|
+
#when 'radio' then Element.new element, browser
|
34
|
+
else Element.new element, browser
|
29
35
|
end
|
30
36
|
when 'textarea' then Textbox.new element, browser
|
31
37
|
when 'select' then Select.new element, browser
|
@@ -43,29 +49,13 @@ module Selenium
|
|
43
49
|
end
|
44
50
|
|
45
51
|
def find_elements *args
|
46
|
-
@element.find_elements(*args).collect { |el|
|
52
|
+
@element.find_elements(*args).collect { |el| create_element el, @browser }
|
47
53
|
end
|
48
54
|
|
49
55
|
def element_present? *args
|
50
56
|
find_element(*args) != nil
|
51
57
|
end
|
52
58
|
|
53
|
-
def find_select *args
|
54
|
-
begin
|
55
|
-
Select.new(@element.find_element *args)
|
56
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
57
|
-
nil
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def find_file_chooser *args
|
62
|
-
begin
|
63
|
-
FileChooser.new(@element.find_element *args)
|
64
|
-
rescue Selenium::WebDriver::Error::NoSuchElementError
|
65
|
-
nil
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
59
|
end
|
70
60
|
|
71
61
|
def send_keys *args
|
@@ -76,5 +66,6 @@ module Selenium
|
|
76
66
|
end
|
77
67
|
|
78
68
|
end
|
69
|
+
|
79
70
|
end
|
80
71
|
end
|
@@ -13,8 +13,18 @@ module Selenium
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def populate
|
16
|
+
def populate data
|
17
|
+
inputs = []
|
18
|
+
find_elements(:tag_name => 'input').each do |input|
|
19
|
+
inputs << input if input.is_a? Textbox or input.is_a? Checkbox or input.is_a? FileChooser
|
20
|
+
end
|
21
|
+
inputs += find_elements :tag_name => 'textarea'
|
22
|
+
inputs += find_elements :tag_name => 'select'
|
17
23
|
|
24
|
+
inputs.each do |input|
|
25
|
+
input.populate data[input['name']]
|
26
|
+
end
|
27
|
+
self
|
18
28
|
end
|
19
29
|
|
20
30
|
end
|
@@ -13,28 +13,62 @@ module Selenium
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def select_by_value
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
opt.select()
|
21
|
-
break
|
16
|
+
def select_by_value selection
|
17
|
+
if selection.is_a?(Array)
|
18
|
+
unless @element['multiple']
|
19
|
+
raise "Attempt to select multiple values in a listbox with single selection mode"
|
22
20
|
end
|
23
|
-
|
21
|
+
options = @element.find_elements :tag_name => 'option'
|
22
|
+
options.each do |opt|
|
23
|
+
if (selection.include? opt.value)
|
24
|
+
opt.select unless opt.selected?
|
25
|
+
else
|
26
|
+
opt.toggle if opt.selected?
|
27
|
+
end
|
28
|
+
end
|
29
|
+
else
|
30
|
+
options = @element.find_elements :tag_name => 'option'
|
31
|
+
options.each do |opt|
|
32
|
+
if (opt.value == selection)
|
33
|
+
opt.select
|
34
|
+
break
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
24
38
|
end
|
25
39
|
|
26
|
-
def select_by_text
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
40
|
+
def select_by_text selection
|
41
|
+
if selection.is_a?(Array)
|
42
|
+
unless @element['multiple']
|
43
|
+
raise "Attempt to select multiple values in a listbox with single selection mode"
|
44
|
+
end
|
45
|
+
options = @element.find_elements :tag_name => 'option'
|
46
|
+
options.each do |opt|
|
47
|
+
if (selection.include? opt.text)
|
48
|
+
opt.select unless opt.selected?
|
49
|
+
else
|
50
|
+
opt.toggle if opt.selected?
|
51
|
+
end
|
52
|
+
end
|
53
|
+
else
|
54
|
+
options = @element.find_elements :tag_name => 'option'
|
55
|
+
options.each do |opt|
|
56
|
+
if (opt.text == selection)
|
57
|
+
opt.select
|
58
|
+
break
|
59
|
+
end
|
32
60
|
end
|
33
|
-
|
61
|
+
end
|
34
62
|
end
|
35
63
|
|
36
64
|
end
|
37
65
|
|
66
|
+
def populate data
|
67
|
+
if data != nil
|
68
|
+
select_by_value data
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
38
72
|
end
|
39
73
|
end
|
40
74
|
end
|
data/spec/browser_spec.rb
CHANGED
@@ -0,0 +1,45 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper.rb')
|
2
|
+
|
3
|
+
include Selenium::WebDriver::Elements
|
4
|
+
|
5
|
+
describe "Form" do
|
6
|
+
|
7
|
+
include Aux
|
8
|
+
|
9
|
+
it "should populate textbox" do
|
10
|
+
populate_and_check 'http://www.htmlcodetutorial.com/forms/index_famsupp_1.html', 1, {'color' => 'red'}
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should populate multiple textboxes" do
|
14
|
+
populate_and_check 'http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_PASSWORD.html', 1, {'realname' => 'John Smith', 'mypassword' => 'qwerty'}
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should populate checkboxes" do
|
18
|
+
populate_and_check 'http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_CHECKBOX.html', 2, {'mushrooms' => true, 'greenpeppers' => false, 'olives' => true, 'onions' => false}
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should populate textarea" do
|
22
|
+
populate_and_check 'http://www.htmlcodetutorial.com/forms/_TEXTAREA.html', 1, { 'comments' => 'bla bla bla'}
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should populate select" do
|
26
|
+
populate_and_check 'http://www.htmlcodetutorial.com/forms/_SELECT_onFocus.html', 1, { 'size' => 'm', 'phone' => '+0 123 4567890' }
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should populate multiple select" do
|
30
|
+
populate_and_check 'http://www.htmlcodetutorial.com/forms/_SELECT_MULTIPLE.html', 1, { 'toppings' => ['greenpeppers', 'tomatoes'] }
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should populate mixed fields" do
|
34
|
+
populate_and_check 'http://www.htmlcodetutorial.com/forms/_SELECT_TABINDEX.html', 1, \
|
35
|
+
{ 'realname' => 'John Smith', 'email' => 'smith@example.com', 'dep' => 'dev', }
|
36
|
+
end
|
37
|
+
|
38
|
+
def populate_and_check url, form_no, data
|
39
|
+
@browser.navigate.to url
|
40
|
+
form = @browser.find_elements(:tag_name => 'form')[form_no]
|
41
|
+
form.populate(data).submit
|
42
|
+
expect_result data
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
data/spec/form_spec.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper.rb')
|
2
|
+
|
3
|
+
include Selenium::WebDriver::Elements
|
4
|
+
|
5
|
+
describe "Form" do
|
6
|
+
|
7
|
+
include Aux
|
8
|
+
|
9
|
+
before(:each) do
|
10
|
+
@browser.navigate.to 'http://www.htmlcodetutorial.com/forms/index_famsupp_1.html'
|
11
|
+
end
|
12
|
+
|
13
|
+
def form
|
14
|
+
@browser.find_elements(:tag_name => 'form')[1]
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should recognize forms" do
|
18
|
+
form.should be_kind_of Form
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should submit form" do
|
22
|
+
form.submit
|
23
|
+
expect_result( {'color' => ''} )
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -19,3 +19,35 @@ RSpec.configure do |c|
|
|
19
19
|
end
|
20
20
|
|
21
21
|
end
|
22
|
+
|
23
|
+
module Aux
|
24
|
+
|
25
|
+
def expect_result params
|
26
|
+
params.keys.each do |key|
|
27
|
+
params[key] = 'on' if params[key] == true
|
28
|
+
params.delete(key) if params[key] == false
|
29
|
+
end
|
30
|
+
params.should eq results
|
31
|
+
end
|
32
|
+
|
33
|
+
def results
|
34
|
+
res = {}
|
35
|
+
table = @browser.find_elements(:tag_name => 'table')[1]
|
36
|
+
rows = table.find_elements :tag_name => 'tr'
|
37
|
+
name = nil
|
38
|
+
rows.each do |r|
|
39
|
+
name_cell = r.find_element(:tag_name => 'th')
|
40
|
+
name = name_cell.text unless name_cell == nil
|
41
|
+
if res[name] == nil
|
42
|
+
res[name] = r.find_element(:tag_name => 'td').text
|
43
|
+
else
|
44
|
+
unless res[name].is_a? Array
|
45
|
+
res[name] = [ res[name] ]
|
46
|
+
end
|
47
|
+
res[name] << r.find_element(:tag_name => 'td').text
|
48
|
+
end
|
49
|
+
end
|
50
|
+
res
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'spec_helper.rb')
|
2
|
+
|
3
|
+
include Selenium::WebDriver::Elements
|
4
|
+
|
5
|
+
describe "Form" do
|
6
|
+
|
7
|
+
include Aux
|
8
|
+
|
9
|
+
before(:each) do
|
10
|
+
@browser.navigate.to 'http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_TEXT.html'
|
11
|
+
end
|
12
|
+
|
13
|
+
def form
|
14
|
+
@browser.find_elements(:tag_name => 'form')[1]
|
15
|
+
end
|
16
|
+
|
17
|
+
def textbox
|
18
|
+
form.find_element(:name => 'realname')
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should recognize textboxes" do
|
22
|
+
textbox.should be_kind_of Textbox
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should type into textbox" do
|
26
|
+
textbox.type 'foo'
|
27
|
+
textbox.value.should eq 'foo'
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should clear textbox when typing" do
|
31
|
+
textbox.type 'foo'
|
32
|
+
textbox.value.should eq 'foo'
|
33
|
+
textbox.type 'bar'
|
34
|
+
textbox.value.should eq 'bar'
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should not clear textbox when appending" do
|
38
|
+
textbox.type 'foo'
|
39
|
+
textbox.value.should eq 'foo'
|
40
|
+
textbox.append 'bar'
|
41
|
+
textbox.value.should eq 'foobar'
|
42
|
+
end
|
43
|
+
|
44
|
+
it "should submit textbox value" do
|
45
|
+
textbox.type 'foo'
|
46
|
+
form.submit
|
47
|
+
expect_result( {'realname' => 'foo'} )
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
metadata
CHANGED
@@ -1,135 +1,154 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: selenium-webdriver-element-decorators
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
6
|
- 0
|
7
|
-
-
|
7
|
+
- 2
|
8
8
|
- 0
|
9
|
-
|
9
|
+
version: 0.2.0
|
10
10
|
platform: ruby
|
11
|
-
authors:
|
11
|
+
authors:
|
12
12
|
- Alexei Barantsev
|
13
|
-
autorequire:
|
13
|
+
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
|
17
|
+
date: 2011-02-17 00:00:00 +03:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
20
21
|
name: rspec
|
21
|
-
requirement: &
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
22
23
|
none: false
|
23
|
-
requirements:
|
24
|
+
requirements:
|
24
25
|
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
|
27
|
-
segments:
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
28
|
- 2
|
29
29
|
- 5
|
30
30
|
- 0
|
31
|
+
version: 2.5.0
|
31
32
|
type: :development
|
32
33
|
prerelease: false
|
33
|
-
version_requirements: *
|
34
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
35
36
|
name: bundler
|
36
|
-
requirement: &
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
37
38
|
none: false
|
38
|
-
requirements:
|
39
|
-
- -
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
segments:
|
39
|
+
requirements:
|
40
|
+
- - "="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
43
|
- 1
|
44
44
|
- 0
|
45
|
-
-
|
45
|
+
- 9
|
46
|
+
version: 1.0.9
|
46
47
|
type: :development
|
47
48
|
prerelease: false
|
48
|
-
version_requirements: *
|
49
|
-
- !ruby/object:Gem::Dependency
|
49
|
+
version_requirements: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
50
51
|
name: jeweler
|
51
|
-
requirement: &
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
53
|
none: false
|
53
|
-
requirements:
|
54
|
+
requirements:
|
54
55
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
segments:
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
segments:
|
58
58
|
- 1
|
59
59
|
- 5
|
60
60
|
- 2
|
61
|
+
version: 1.5.2
|
61
62
|
type: :development
|
62
63
|
prerelease: false
|
63
|
-
version_requirements: *
|
64
|
-
- !ruby/object:Gem::Dependency
|
64
|
+
version_requirements: *id003
|
65
|
+
- !ruby/object:Gem::Dependency
|
65
66
|
name: rcov
|
66
|
-
requirement: &
|
67
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
67
68
|
none: false
|
68
|
-
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
segments:
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
segments:
|
73
73
|
- 0
|
74
|
+
version: "0"
|
74
75
|
type: :development
|
75
76
|
prerelease: false
|
76
|
-
version_requirements: *
|
77
|
-
- !ruby/object:Gem::Dependency
|
77
|
+
version_requirements: *id004
|
78
|
+
- !ruby/object:Gem::Dependency
|
78
79
|
name: selenium-webdriver
|
79
|
-
requirement: &
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
80
81
|
none: false
|
81
|
-
requirements:
|
82
|
+
requirements:
|
82
83
|
- - ~>
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
segments:
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
segments:
|
86
86
|
- 0
|
87
87
|
- 1
|
88
88
|
- 3
|
89
|
+
version: 0.1.3
|
89
90
|
type: :development
|
90
91
|
prerelease: false
|
91
|
-
version_requirements: *
|
92
|
-
- !ruby/object:Gem::Dependency
|
92
|
+
version_requirements: *id005
|
93
|
+
- !ruby/object:Gem::Dependency
|
93
94
|
name: au3
|
94
|
-
requirement: &
|
95
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
95
96
|
none: false
|
96
|
-
requirements:
|
97
|
+
requirements:
|
97
98
|
- - ~>
|
98
|
-
- !ruby/object:Gem::Version
|
99
|
-
|
100
|
-
segments:
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
segments:
|
101
101
|
- 0
|
102
102
|
- 1
|
103
103
|
- 2
|
104
|
+
version: 0.1.2
|
104
105
|
type: :development
|
105
106
|
prerelease: false
|
106
|
-
version_requirements: *
|
107
|
-
- !ruby/object:Gem::Dependency
|
107
|
+
version_requirements: *id006
|
108
|
+
- !ruby/object:Gem::Dependency
|
109
|
+
name: selenium-webdriver
|
110
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ~>
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
segments:
|
116
|
+
- 0
|
117
|
+
- 1
|
118
|
+
- 3
|
119
|
+
version: 0.1.3
|
120
|
+
type: :runtime
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: *id007
|
123
|
+
- !ruby/object:Gem::Dependency
|
108
124
|
name: au3
|
109
|
-
requirement: &
|
125
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
110
126
|
none: false
|
111
|
-
requirements:
|
127
|
+
requirements:
|
112
128
|
- - ~>
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
|
115
|
-
segments:
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
segments:
|
116
131
|
- 0
|
117
132
|
- 1
|
118
133
|
- 2
|
134
|
+
version: 0.1.2
|
119
135
|
type: :runtime
|
120
136
|
prerelease: false
|
121
|
-
version_requirements: *
|
122
|
-
description: Selenium 2.0 (WebDriver) decorators for web-elements that provide specific
|
123
|
-
methods fot each web-element
|
137
|
+
version_requirements: *id008
|
138
|
+
description: Selenium 2.0 (WebDriver) decorators for web-elements that provide specific methods fot each web-element
|
124
139
|
email: barancev@gmail.com
|
125
140
|
executables: []
|
141
|
+
|
126
142
|
extensions: []
|
127
|
-
|
143
|
+
|
144
|
+
extra_rdoc_files:
|
128
145
|
- LICENSE.txt
|
129
146
|
- README.rdoc
|
130
|
-
files:
|
147
|
+
files:
|
131
148
|
- lib/selenium/webdriver/elements.rb
|
132
149
|
- lib/selenium/webdriver/elements/browser.rb
|
150
|
+
- lib/selenium/webdriver/elements/button.rb
|
151
|
+
- lib/selenium/webdriver/elements/checkbox.rb
|
133
152
|
- lib/selenium/webdriver/elements/element.rb
|
134
153
|
- lib/selenium/webdriver/elements/file_chooser.rb
|
135
154
|
- lib/selenium/webdriver/elements/form.rb
|
@@ -138,38 +157,46 @@ files:
|
|
138
157
|
- LICENSE.txt
|
139
158
|
- README.rdoc
|
140
159
|
- spec/browser_spec.rb
|
160
|
+
- spec/form_populate_spec.rb
|
161
|
+
- spec/form_spec.rb
|
141
162
|
- spec/spec_helper.rb
|
163
|
+
- spec/textbox_spec.rb
|
142
164
|
has_rdoc: true
|
143
165
|
homepage: http://github.com/barancev/selenium-webdriver-element-decorators
|
144
|
-
licenses:
|
166
|
+
licenses:
|
145
167
|
- MIT
|
146
|
-
post_install_message:
|
168
|
+
post_install_message:
|
147
169
|
rdoc_options: []
|
148
|
-
|
170
|
+
|
171
|
+
require_paths:
|
149
172
|
- lib
|
150
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
173
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
151
174
|
none: false
|
152
|
-
requirements:
|
153
|
-
- -
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
|
156
|
-
segments:
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
hash: 910147891
|
179
|
+
segments:
|
157
180
|
- 0
|
158
|
-
|
159
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
|
+
version: "0"
|
182
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
183
|
none: false
|
161
|
-
requirements:
|
162
|
-
- -
|
163
|
-
- !ruby/object:Gem::Version
|
164
|
-
|
165
|
-
segments:
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
segments:
|
166
188
|
- 0
|
189
|
+
version: "0"
|
167
190
|
requirements: []
|
168
|
-
|
191
|
+
|
192
|
+
rubyforge_project:
|
169
193
|
rubygems_version: 1.3.7
|
170
|
-
signing_key:
|
194
|
+
signing_key:
|
171
195
|
specification_version: 3
|
172
196
|
summary: Selenium 2.0 (WebDriver) decorators for web-elements
|
173
|
-
test_files:
|
197
|
+
test_files:
|
174
198
|
- spec/browser_spec.rb
|
199
|
+
- spec/form_populate_spec.rb
|
200
|
+
- spec/form_spec.rb
|
175
201
|
- spec/spec_helper.rb
|
202
|
+
- spec/textbox_spec.rb
|