rwebspec 4.3.5 → 5.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/CHANGELOG +6 -0
- data/Rakefile +4 -1
- data/lib/rwebspec-watir/driver.rb +19 -3
- data/lib/rwebspec-watir/web_browser.rb +1 -22
- data/lib/rwebspec.rb +6 -2
- metadata +2 -2
data/CHANGELOG
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
CHANGELOG
|
2
2
|
=========
|
3
3
|
|
4
|
+
5.0
|
5
|
+
[Change] Support Watir 5.0, watir-classic/ie no longer available
|
6
|
+
|
7
|
+
4.4
|
8
|
+
[Enhancement] add enter_text_with_id to support HTML5 elements on IE10 (which fail to identify email field as text field)
|
9
|
+
|
4
10
|
4.3.5
|
5
11
|
[Change] Add licence (MIT) into gemspec
|
6
12
|
[Fixes] check_checkbox not working when there is hidden input with same name as checkbox
|
data/Rakefile
CHANGED
@@ -78,7 +78,7 @@ end
|
|
78
78
|
spec = Gem::Specification.new do |s|
|
79
79
|
s.platform= Gem::Platform::RUBY
|
80
80
|
s.name = "rwebspec"
|
81
|
-
s.version = "
|
81
|
+
s.version = "5.0"
|
82
82
|
s.summary = "Web application functional specification in Ruby"
|
83
83
|
s.description = "Executable functional specification for web applications in RSpec syntax with Watir or Selenium"
|
84
84
|
|
@@ -103,8 +103,11 @@ spec = Gem::Specification.new do |s|
|
|
103
103
|
s.add_dependency(%q<rspec-mocks>, [">= 2.13.0"])
|
104
104
|
s.add_dependency(%q<rspec-expectations>, [">= 2.13"])
|
105
105
|
s.add_dependency("commonwatir", ">= 4.0.0")
|
106
|
+
|
106
107
|
unless RUBY_PLATFORM =~ /mingw/
|
107
108
|
s.add_dependency("selenium-webdriver")
|
109
|
+
else
|
110
|
+
s.add_dependency("watir-classic", ">= 4.0.0")
|
108
111
|
end
|
109
112
|
end
|
110
113
|
|
@@ -299,7 +299,7 @@ module RWebSpec
|
|
299
299
|
# page.check_checkbox('bad_ones', 'Chicken Little')
|
300
300
|
# page.check_checkbox('good_ones', ['Cars', 'Toy Story'])
|
301
301
|
#
|
302
|
-
[:set_form_element, :click_link_with_text, :click_link_with_id, :submit, :click_button_with_id, :click_button_with_name, :click_button_with_caption, :click_button_with_value, :click_radio_option, :clear_radio_option, :check_checkbox, :uncheck_checkbox, :select_option].each do |method|
|
302
|
+
[:set_form_element, :click_link_with_text, :click_link_with_id, :submit, :click_button_with_id, :click_button_with_name, :click_button_with_caption, :click_button_with_value, :click_radio_option, :clear_radio_option, :check_checkbox, :uncheck_checkbox, :select_option, :element].each do |method|
|
303
303
|
define_method method do |* args|
|
304
304
|
perform_operation { @web_browser.send(method, * args) if @web_browser }
|
305
305
|
end
|
@@ -314,8 +314,24 @@ module RWebSpec
|
|
314
314
|
alias clear_radio_button clear_radio_option
|
315
315
|
|
316
316
|
# for text field can be easier to be identified by attribute "id" instead of "name", not recommended though
|
317
|
-
|
318
|
-
|
317
|
+
#
|
318
|
+
# params opts takes :appending => true or false, if true, won't clear the text field.
|
319
|
+
def enter_text_with_id(textfield_id, value, opts = {})
|
320
|
+
# For IE10, it seems unable to identify HTML5 elements
|
321
|
+
#
|
322
|
+
# However for IE10, the '.' is omitted.
|
323
|
+
perform_operation {
|
324
|
+
|
325
|
+
begin
|
326
|
+
text_field(:id, textfield_id).set(value)
|
327
|
+
rescue => e
|
328
|
+
# However, this approach is not reliable with Watir (IE)
|
329
|
+
# for example, for entering email, the dot cannot be entered, try ["a@b", :decimal, "com"]
|
330
|
+
the_elem = element(:xpath, "//input[@id='#{textfield_id}']")
|
331
|
+
the_elem.send_keys(:clear) unless opts[:appending]
|
332
|
+
the_elem.send_keys(value)
|
333
|
+
end
|
334
|
+
}
|
319
335
|
end
|
320
336
|
|
321
337
|
def perform_operation(& block)
|
@@ -3,27 +3,6 @@
|
|
3
3
|
#* Distributed open-source, see full license in MIT-LICENSE
|
4
4
|
#***********************************************************
|
5
5
|
|
6
|
-
=begin
|
7
|
-
|
8
|
-
begin
|
9
|
-
require 'watir'
|
10
|
-
# require 'watir/contrib/enabled_popup'
|
11
|
-
# require 'watir/close_all'
|
12
|
-
# require 'watir/screen_capture'
|
13
|
-
# NO need any more
|
14
|
-
require 'watir-classic/ie'
|
15
|
-
# require 'watir/contrib/visible'
|
16
|
-
$watir_loaded = true
|
17
|
-
rescue LoadError => e
|
18
|
-
puts "!!!Error on loading watir: #{e}"
|
19
|
-
$watir_loaded = false
|
20
|
-
end
|
21
|
-
|
22
|
-
if RUBY_PLATFORM =~ /mingw/
|
23
|
-
raise "You have must at least Watir installed" unless $watir_loaded
|
24
|
-
end
|
25
|
-
|
26
|
-
=end
|
27
6
|
|
28
7
|
module RWebSpec
|
29
8
|
|
@@ -73,7 +52,7 @@ module RWebSpec
|
|
73
52
|
|
74
53
|
def self.reuse(base_url, options)
|
75
54
|
if self.is_windows? && ($TESTWISE_BROWSER != "Firefox" && $TESTWISE_BROWSER != "Firefox")
|
76
|
-
require 'watir-classic
|
55
|
+
require 'watir-classic'
|
77
56
|
# try to avoid
|
78
57
|
# lib/ruby/1.8/dl/win32.rb:11:in `sym': unknown type specifier 'v'
|
79
58
|
Watir::IE.each do |browser_window|
|
data/lib/rwebspec.rb
CHANGED
@@ -16,7 +16,7 @@ end
|
|
16
16
|
require 'rspec'
|
17
17
|
|
18
18
|
unless defined? RWEBSPEC_VERSION
|
19
|
-
RWEBSPEC_VERSION = RWEBUNIT_VERSION = "
|
19
|
+
RWEBSPEC_VERSION = RWEBUNIT_VERSION = "5.0"
|
20
20
|
end
|
21
21
|
|
22
22
|
$testwise_polling_interval = 1 # seconds
|
@@ -66,7 +66,11 @@ module RWebSpec
|
|
66
66
|
def load_watir
|
67
67
|
# puts "Loading Watir"
|
68
68
|
require 'watir'
|
69
|
-
|
69
|
+
|
70
|
+
if RUBY_PLATFORM =~ /mingw/i
|
71
|
+
require 'watir-classic'
|
72
|
+
end
|
73
|
+
|
70
74
|
load(File.dirname(__FILE__) + "/rwebspec-watir/web_browser.rb")
|
71
75
|
load(File.dirname(__FILE__) + "/rwebspec-watir/driver.rb")
|
72
76
|
require File.dirname(__FILE__) + "/extensions/watir_extensions"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rwebspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: '5.0'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire: rwebspec
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-08
|
12
|
+
date: 2013-10-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|