rwebspec 5.0.3 → 5.1.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.
- checksums.yaml +4 -4
- data/CHANGELOG +8 -0
- data/Rakefile +4 -2
- data/lib/rwebspec-common/assert.rb +4 -6
- data/lib/rwebspec-common/core.rb +2 -0
- data/lib/rwebspec-common/web_page.rb +2 -1
- data/lib/rwebspec-webdriver/web_browser.rb +12 -0
- data/lib/rwebspec.rb +6 -1
- metadata +48 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93b6b8fe7fea586a71732d1d5e7f169a2d55d169
|
4
|
+
data.tar.gz: a51ec988649fc537843c19c23a2b219ef8ea9b1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4eddeb039df9ce3309beb7996974f3937de4d0f67d1d11dd06912c0f709ce3f70993f7882b6c960e8f5aaee79380c5be876862a999c944ed4e02c455331a49fd
|
7
|
+
data.tar.gz: 80424f6d8a6e18e2a5a802fdc7484418ac5037b0f7b8e4ba2e9580513ad21a336fed30b972c2bf8de9b58189416062d187fd260c7c6898bf4b2cfe86a0b833e6
|
data/CHANGELOG
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
+
5.1
|
5
|
+
[Feature] Use minitest 4 for assertion
|
6
|
+
[Fixes] Handle assert_text_present in try_for{}
|
7
|
+
[Change] Lock activesupport version 3.2.17
|
8
|
+
|
9
|
+
5.0.4
|
10
|
+
[Enhancement] click_button_with_id, click_link_with_id will focus on the element first (Selenium) to avoid unable to click when the browser window too small.
|
11
|
+
|
4
12
|
5.0.2
|
5
13
|
[Fixes] inconsistency enter_text_with_id() between Watir and Selenium
|
6
14
|
|
data/Rakefile
CHANGED
@@ -77,9 +77,9 @@ end
|
|
77
77
|
spec = Gem::Specification.new do |s|
|
78
78
|
s.platform= Gem::Platform::RUBY
|
79
79
|
s.name = "rwebspec"
|
80
|
-
s.version = "5.0
|
80
|
+
s.version = "5.1.0"
|
81
81
|
s.summary = "Web application functional specification in Ruby"
|
82
|
-
s.description = "Executable functional specification for web applications in RSpec syntax with Watir or Selenium"
|
82
|
+
s.description = "Executable functional specification for web applications in RSpec syntax with Watir or Selenium WebDriver"
|
83
83
|
|
84
84
|
s.author = "Zhimin Zhan"
|
85
85
|
s.email = "zhimin@agileway.com.au"
|
@@ -102,6 +102,8 @@ spec = Gem::Specification.new do |s|
|
|
102
102
|
s.add_dependency(%q<rspec-mocks>, [">= 2.13.0"])
|
103
103
|
s.add_dependency(%q<rspec-expectations>, [">= 2.13"])
|
104
104
|
s.add_dependency("commonwatir", ">= 4.0.0")
|
105
|
+
s.add_dependency("minitest", "~> 4.0")
|
106
|
+
s.add_dependency("activesupport", "~> 3.2.17")
|
105
107
|
|
106
108
|
unless RUBY_PLATFORM =~ /mingw/
|
107
109
|
s.add_dependency("selenium-webdriver")
|
@@ -1,17 +1,12 @@
|
|
1
|
-
require 'test/unit/assertions'
|
2
1
|
|
3
2
|
module RWebSpec
|
4
3
|
module Assert
|
5
|
-
include
|
4
|
+
include ::MiniTest::Assertions
|
6
5
|
|
7
6
|
def assert_not(condition, msg = "")
|
8
7
|
perform_assertion { assert(!condition, msg) }
|
9
8
|
end
|
10
9
|
|
11
|
-
def assert_nil(actual, msg="")
|
12
|
-
perform_assertion { assert(actual.nil?, msg) }
|
13
|
-
end
|
14
|
-
|
15
10
|
def assert_not_nil(actual, msg="")
|
16
11
|
perform_assertion { assert(!actual.nil?, msg) }
|
17
12
|
end
|
@@ -509,6 +504,9 @@ module RWebSpec
|
|
509
504
|
# puts "[DEBUG] Assertion error: #{e}"
|
510
505
|
take_screenshot if $take_screenshot
|
511
506
|
raise e
|
507
|
+
rescue MiniTest::Assertion => e2
|
508
|
+
take_screenshot if $take_screenshot
|
509
|
+
raise e2
|
512
510
|
end
|
513
511
|
end
|
514
512
|
|
data/lib/rwebspec-common/core.rb
CHANGED
@@ -458,12 +458,22 @@ module RWebSpec
|
|
458
458
|
def click_link_with_id(link_id, opts = {})
|
459
459
|
if opts && opts[:index]
|
460
460
|
elements = find_elements(:id, link_id)
|
461
|
+
focus_on_element(elements[opts[:index]-1])
|
461
462
|
elements[opts[:index]-1].click
|
462
463
|
else
|
464
|
+
focus_on_element(find_element(:id, link_id))
|
463
465
|
find_element(:id, link_id).click
|
464
466
|
end
|
465
467
|
end
|
466
468
|
|
469
|
+
def focus_on_element(elem)
|
470
|
+
begin
|
471
|
+
elem.send_keys("")
|
472
|
+
rescue => e
|
473
|
+
# ignore for example, an on hover table might not be ablet to send keys to
|
474
|
+
end
|
475
|
+
end
|
476
|
+
|
467
477
|
##
|
468
478
|
# click_link_with_text("Login")
|
469
479
|
# click_link_with_text("Show", :index => 2)
|
@@ -487,8 +497,10 @@ module RWebSpec
|
|
487
497
|
elements = find_elements(:id, id)
|
488
498
|
the_index = opts[:index].to_i() - 1
|
489
499
|
first_match = elements[the_index]
|
500
|
+
focus_on_element(first_match)
|
490
501
|
first_match.click
|
491
502
|
else
|
503
|
+
focus_on_element(find_element(:id, id))
|
492
504
|
find_element(:id, id).click
|
493
505
|
end
|
494
506
|
|
data/lib/rwebspec.rb
CHANGED
@@ -4,6 +4,11 @@
|
|
4
4
|
#***********************************************************
|
5
5
|
require "rubygems"
|
6
6
|
|
7
|
+
gem "activesupport", "~> 3.2.17"
|
8
|
+
gem "minitest", "~> 4.0" # ver 5 return errors
|
9
|
+
|
10
|
+
require 'minitest/autorun'
|
11
|
+
|
7
12
|
# Load active_support, so that we can use 1.days.ago
|
8
13
|
begin
|
9
14
|
require 'active_support/basic_object'
|
@@ -16,7 +21,7 @@ end
|
|
16
21
|
require 'rspec'
|
17
22
|
|
18
23
|
unless defined? RWEBSPEC_VERSION
|
19
|
-
RWEBSPEC_VERSION = RWEBUNIT_VERSION = "5.0
|
24
|
+
RWEBSPEC_VERSION = RWEBUNIT_VERSION = "5.1.0"
|
20
25
|
end
|
21
26
|
|
22
27
|
$testwise_polling_interval = 1 # seconds
|
metadata
CHANGED
@@ -1,110 +1,138 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rwebspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0
|
4
|
+
version: 5.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zhimin Zhan
|
8
8
|
autorequire: rwebspec
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '2.13'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.13'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec-core
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 2.13.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.13.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec-mocks
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 2.13.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 2.13.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec-expectations
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '2.13'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '2.13'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: commonwatir
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 4.0.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 4.0.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: minitest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '4.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: activesupport
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 3.2.17
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 3.2.17
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: selenium-webdriver
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
|
-
- -
|
115
|
+
- - ">="
|
88
116
|
- !ruby/object:Gem::Version
|
89
117
|
version: '0'
|
90
118
|
type: :runtime
|
91
119
|
prerelease: false
|
92
120
|
version_requirements: !ruby/object:Gem::Requirement
|
93
121
|
requirements:
|
94
|
-
- -
|
122
|
+
- - ">="
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '0'
|
97
125
|
description: Executable functional specification for web applications in RSpec syntax
|
98
|
-
with Watir or Selenium
|
126
|
+
with Watir or Selenium WebDriver
|
99
127
|
email: zhimin@agileway.com.au
|
100
128
|
executables: []
|
101
129
|
extensions: []
|
102
130
|
extra_rdoc_files: []
|
103
131
|
files:
|
104
|
-
- Rakefile
|
105
|
-
- README
|
106
132
|
- CHANGELOG
|
107
133
|
- MIT-LICENSE
|
134
|
+
- README
|
135
|
+
- Rakefile
|
108
136
|
- lib/extensions/rspec_extensions.rb
|
109
137
|
- lib/extensions/watir_extensions.rb
|
110
138
|
- lib/extensions/webdriver_extensions.rb
|
@@ -139,18 +167,18 @@ require_paths:
|
|
139
167
|
- lib
|
140
168
|
required_ruby_version: !ruby/object:Gem::Requirement
|
141
169
|
requirements:
|
142
|
-
- -
|
170
|
+
- - ">="
|
143
171
|
- !ruby/object:Gem::Version
|
144
172
|
version: '0'
|
145
173
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
174
|
requirements:
|
147
|
-
- -
|
175
|
+
- - ">="
|
148
176
|
- !ruby/object:Gem::Version
|
149
177
|
version: '0'
|
150
178
|
requirements:
|
151
179
|
- none
|
152
180
|
rubyforge_project: rwebspec
|
153
|
-
rubygems_version: 2.
|
181
|
+
rubygems_version: 2.2.2
|
154
182
|
signing_key:
|
155
183
|
specification_version: 4
|
156
184
|
summary: Web application functional specification in Ruby
|