rwebspec-webdriver 0.1.2 → 0.1.3
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/CHANGELOG +4 -0
- data/Rakefile +2 -2
- data/lib/rwebspec-webdriver/web_browser.rb +20 -9
- data/lib/rwebspec-webdriver.rb +1 -1
- metadata +7 -18
data/CHANGELOG
CHANGED
@@ -1,6 +1,10 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
+
== 0.1.3
|
5
|
+
* optimize uncheck checkbox, using clear instead of click
|
6
|
+
* optimize select_option, return after found matching option
|
7
|
+
|
4
8
|
== 0.1.2
|
5
9
|
* Remove assert_link_present_with_exact, add opts[:partial]
|
6
10
|
* Rewrite assert_hidden, assert_enabled...
|
data/Rakefile
CHANGED
@@ -69,7 +69,7 @@ end
|
|
69
69
|
spec = Gem::Specification.new do |s|
|
70
70
|
s.platform= Gem::Platform::RUBY
|
71
71
|
s.name = "rwebspec-webdriver"
|
72
|
-
s.version = "0.1.
|
72
|
+
s.version = "0.1.3"
|
73
73
|
s.summary = "Executable functional specification for web applications in RSpec syntax and Selenium-WebDriver"
|
74
74
|
# s.description = ""
|
75
75
|
|
@@ -89,7 +89,7 @@ spec = Gem::Specification.new do |s|
|
|
89
89
|
s.files = s.files + Dir.glob( "sample/**/*")
|
90
90
|
s.files = s.files + Dir.glob( "docs/**/*" )
|
91
91
|
s.add_dependency(%q<rspec>, ["= 1.1.12"])
|
92
|
-
s.add_dependency("selenium-webdriver", ">= 2.0
|
92
|
+
s.add_dependency("selenium-webdriver", ">= 2.3.0")
|
93
93
|
s.add_dependency("sanitize", ">= 2.0.0")
|
94
94
|
end
|
95
95
|
|
@@ -519,7 +519,10 @@ module RWebSpec
|
|
519
519
|
options = select_box.find_elements(:tag_name, "option")
|
520
520
|
options.each do |opt|
|
521
521
|
# puts opt.methods
|
522
|
-
|
522
|
+
if text == opt.text
|
523
|
+
opt.click
|
524
|
+
break
|
525
|
+
end
|
523
526
|
end
|
524
527
|
# select_list(:name, selectName).select(option)
|
525
528
|
end
|
@@ -546,14 +549,17 @@ module RWebSpec
|
|
546
549
|
values.class == Array ? arys = values : arys = [values]
|
547
550
|
elements = find_elements(:name, checkBoxName)
|
548
551
|
the_checkbox = elements[0] if elements.size == 1
|
549
|
-
if the_checkbox
|
550
|
-
the_checkbox.click
|
552
|
+
if the_checkbox && !the_checkbox.selected?
|
553
|
+
the_checkbox.click
|
551
554
|
return
|
552
555
|
end
|
553
556
|
|
554
557
|
arys.each { |cbx_value|
|
555
558
|
elements.each do |elem|
|
556
|
-
|
559
|
+
if elem.attribute('value') == cbx_value && !the_checkbox.selected?
|
560
|
+
elem.click
|
561
|
+
return
|
562
|
+
end
|
557
563
|
end
|
558
564
|
}
|
559
565
|
else
|
@@ -571,19 +577,24 @@ module RWebSpec
|
|
571
577
|
values.class == Array ? arys = values : arys = [values]
|
572
578
|
elements = find_elements(:name, checkBoxName)
|
573
579
|
the_checkbox = elements[0] if elements.size == 1
|
574
|
-
if the_checkbox
|
575
|
-
the_checkbox.
|
580
|
+
if the_checkbox && the_checkbox.selected?
|
581
|
+
the_checkbox.clear
|
582
|
+
# the_checkbox.click if the_checkbox.selected?
|
576
583
|
return
|
577
584
|
end
|
578
585
|
|
579
586
|
arys.each { |cbx_value|
|
580
587
|
elements.each do |elem|
|
581
|
-
|
588
|
+
if elem.attribute('value') == cbx_value && the_checkbox && the_checkbox.selected?
|
589
|
+
# elem.click
|
590
|
+
elem.clear
|
591
|
+
break
|
592
|
+
end
|
582
593
|
end
|
583
594
|
}
|
584
595
|
else
|
585
596
|
the_checkbox = find_element(:name, checkBoxName)
|
586
|
-
the_checkbox.
|
597
|
+
the_checkbox.clear if the_checkbox.selected?
|
587
598
|
end
|
588
599
|
end
|
589
600
|
|
@@ -623,7 +634,7 @@ module RWebSpec
|
|
623
634
|
def select_file_for_upload(file_field, file_path)
|
624
635
|
is_on_windows = RUBY_PLATFORM.downcase.include?("mingw") || RUBY_PLATFORM.downcase.include?("mswin")
|
625
636
|
normalized_file_path = is_on_windows ? file_path.gsub("/", "\\") : file_path
|
626
|
-
|
637
|
+
find_element(:name, file_field).set_keys(normalized_file_path)
|
627
638
|
end
|
628
639
|
|
629
640
|
def start_window(url = nil)
|
data/lib/rwebspec-webdriver.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rwebspec-webdriver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
8
|
+
- 3
|
9
|
+
version: 0.1.3
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Zhimin Zhan
|
@@ -15,18 +14,16 @@ autorequire: rwebspec-webdriver
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2011-
|
17
|
+
date: 2011-08-11 00:00:00 +10:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
21
|
name: rspec
|
23
22
|
prerelease: false
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
24
|
requirements:
|
27
25
|
- - "="
|
28
26
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 11
|
30
27
|
segments:
|
31
28
|
- 1
|
32
29
|
- 1
|
@@ -38,27 +35,23 @@ dependencies:
|
|
38
35
|
name: selenium-webdriver
|
39
36
|
prerelease: false
|
40
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
39
|
- - ">="
|
44
40
|
- !ruby/object:Gem::Version
|
45
|
-
hash: 13
|
46
41
|
segments:
|
47
42
|
- 2
|
43
|
+
- 3
|
48
44
|
- 0
|
49
|
-
|
50
|
-
version: 2.0.1
|
45
|
+
version: 2.3.0
|
51
46
|
type: :runtime
|
52
47
|
version_requirements: *id002
|
53
48
|
- !ruby/object:Gem::Dependency
|
54
49
|
name: sanitize
|
55
50
|
prerelease: false
|
56
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
52
|
requirements:
|
59
53
|
- - ">="
|
60
54
|
- !ruby/object:Gem::Version
|
61
|
-
hash: 15
|
62
55
|
segments:
|
63
56
|
- 2
|
64
57
|
- 0
|
@@ -110,27 +103,23 @@ rdoc_options: []
|
|
110
103
|
require_paths:
|
111
104
|
- lib
|
112
105
|
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
106
|
requirements:
|
115
107
|
- - ">="
|
116
108
|
- !ruby/object:Gem::Version
|
117
|
-
hash: 3
|
118
109
|
segments:
|
119
110
|
- 0
|
120
111
|
version: "0"
|
121
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
|
-
none: false
|
123
113
|
requirements:
|
124
114
|
- - ">="
|
125
115
|
- !ruby/object:Gem::Version
|
126
|
-
hash: 3
|
127
116
|
segments:
|
128
117
|
- 0
|
129
118
|
version: "0"
|
130
119
|
requirements:
|
131
120
|
- none
|
132
121
|
rubyforge_project: rwebspec-webdriver
|
133
|
-
rubygems_version: 1.
|
122
|
+
rubygems_version: 1.3.6
|
134
123
|
signing_key:
|
135
124
|
specification_version: 3
|
136
125
|
summary: Executable functional specification for web applications in RSpec syntax and Selenium-WebDriver
|