rwebspec 2.1.3 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,10 +1,8 @@
1
1
  CHANGELOG
2
2
  =========
3
- 2.1.3
4
- [Fix] Page object to include Utils module
5
3
 
6
- 2.1.2
7
- [Change] add @browser instance to page objects
4
+ 2.2.0
5
+ [Change] Drop support for firewatir
8
6
 
9
7
  2.1.1
10
8
  [Change] use Global variable for retry settings (instead of class variables)
data/Rakefile CHANGED
@@ -71,7 +71,7 @@ end
71
71
  spec = Gem::Specification.new do |s|
72
72
  s.platform= Gem::Platform::RUBY
73
73
  s.name = "rwebspec"
74
- s.version = "2.1.3"
74
+ s.version = "2.2.0"
75
75
  s.summary = "Web application functional specification in Ruby"
76
76
  s.description = "Executable functional specification for web applications in RSpec syntax and Watir"
77
77
 
@@ -102,11 +102,7 @@ module RWebSpec
102
102
  #
103
103
  def close_all_browsers
104
104
  if @web_browser
105
- if is_firefox?
106
- FireWatir::Firefox.close_all
107
- else
108
- Watir::IE.close_all
109
- end
105
+ Watir::IE.close_all
110
106
  else
111
107
  browser_type = $ITEST2_BROWSER ? $ITEST2_BROWSER.downcase.to_sym : :ie
112
108
  WebBrowser.close_all_browsers(browser_type)
@@ -17,14 +17,6 @@ rescue LoadError => e
17
17
  $watir_loaded = false
18
18
  end
19
19
 
20
- begin
21
- require "rubygems";
22
- require "firewatir";
23
- $firewatir_loaded = true
24
- rescue LoadError => e
25
- puts e
26
- $firewatir_loaded = false
27
- end
28
20
 
29
21
  begin
30
22
  require "rubygems";
@@ -34,7 +26,7 @@ rescue LoadError => e
34
26
  $celerity_loaded = false
35
27
  end
36
28
 
37
- raise "You have must at least Watir or Firewatir installed" unless $watir_loaded || $firewatir_loaded || $celerity_loaded
29
+ raise "You have must at least Watir installed" unless $watir_loaded || $celerity_loaded
38
30
 
39
31
  module RWebSpec
40
32
 
@@ -56,50 +48,16 @@ module RWebSpec
56
48
 
57
49
  case RUBY_PLATFORM
58
50
  when /java/i
59
- # Java, maybe firewatir or celerity
51
+ # Java, maybe celerity
60
52
  puts "Ruby java platform"
61
- raise "Not supported, no FireWatir or Celerity detected" unless $firewatir_loaded || $celerity_loaded
62
- if $firewatir_loaded && $celerity_loaded then
63
- # choose one out of two, :default to celerity
64
- if options[:firefox] then
65
- initialize_firefox_browser(existing_browser, base_url, options)
66
- else
67
- initialize_celerity_browser(base_url, options)
68
- end
69
- elsif $firewatir_loaded
70
- initialize_firefox_browser(existing_browser, base_url, options)
71
- else
53
+ raise "Not supported unless Celerity detected" unless $celerity_loaded
54
+ if $celerity_loaded then
72
55
  initialize_celerity_browser(base_url, options)
73
56
  end
74
-
75
57
  when /mswin|windows|mingw/i
76
- raise "Not supported, no Watir or FireWatir detected" unless $watir_loaded || $firewatir_loaded
77
- if $firewatir_loaded && options[:firefox] then
78
- initialize_firefox_browser(existing_browser, base_url, options)
79
- else
80
- initialize_ie_browser(existing_browser, options)
81
- end
82
- else
83
- raise "Not supported, no FireWatirdetected" unless $firewatir_loaded
84
- initialize_firefox_browser(existing_browser, base_url, options)
85
- end
86
- end
87
-
88
- def initialize_firefox_browser(existing_browser, base_url, options)
89
- if existing_browser then
90
- @browser = existing_browser
91
- return
58
+ raise "Not supported, no Watir detected" unless $watir_loaded
59
+ initialize_ie_browser(existing_browser, options)
92
60
  end
93
- # JSSH is running, 9997
94
- begin
95
- require 'net/telnet'
96
- firefox_jssh = Net::Telnet::new("Host" => "127.0.0.1", "Port" => 9997)
97
- FireWatir::Firefox.firefox_started = true
98
- rescue => e
99
- puts "The firefox brower with JSSH is not available, #{e}"
100
- sleep 1
101
- end
102
- @browser = FireWatir::Firefox.start(base_url)
103
61
  end
104
62
 
105
63
  def initialize_celerity_browser(base_url, options)
@@ -167,15 +125,8 @@ module RWebSpec
167
125
  alias a link
168
126
  alias img image
169
127
 
170
- # Wrapp of Watir's area to support Firefox and Watir
171
- #
172
- # Note: FireWatir does not support area directly, treat it as text_field
173
128
  def area(*args)
174
- if is_firefox?
175
- text_field(*args)
176
- else
177
- @browser.send("area", *args)
178
- end
129
+ @browser.send("area", *args)
179
130
  end
180
131
 
181
132
  def modal_dialog(how=nil, what=nil)
@@ -270,8 +221,6 @@ module RWebSpec
270
221
 
271
222
  def page_title
272
223
  case @browser.class.to_s
273
- when "FireWatir::Firefox"
274
- @browser.title
275
224
  when "Watir::IE"
276
225
  @browser.document.title
277
226
  else
@@ -303,20 +252,13 @@ module RWebSpec
303
252
  end
304
253
 
305
254
  def is_firefox?
306
- return false unless $firewatir_loaded
307
- begin
308
- @browser.class == FireWatir::Firefox
309
- rescue => e
310
- return false
311
- end
255
+ return false
312
256
  end
313
257
 
314
258
  # Close the browser window. Useful for automated test suites to reduce
315
259
  # test interaction.
316
260
  def close_browser
317
261
  case @browser.class.to_s
318
- when "FireWatir::Firefox"
319
- @browser.close
320
262
  when "Watir::IE"
321
263
  @browser.getIE.quit
322
264
  else
@@ -329,9 +271,6 @@ module RWebSpec
329
271
  def self.close_all_browsers(browser_type = :ie)
330
272
  if browser_type == :ie
331
273
  Watir::IE.close_all
332
- elsif browser_type == :firefox
333
- # raise "not supported in FireFox yet."
334
- FireWatir::Firefox.new.close_all
335
274
  end
336
275
  end
337
276
 
@@ -615,12 +554,7 @@ module RWebSpec
615
554
  default_options = {:browser => "IE"}
616
555
  options = default_options.merge(options)
617
556
  site_context = Context.new(options[:base_url]) if options[:base_url]
618
- if (options[:browser] == "Firefox")
619
- ff = FireWatir::Firefox.attach(how, what)
620
- return WebBrowser.new_from_existing(ff, site_context)
621
- else
622
- return WebBrowser.new_from_existing(Watir::IE.attach(how, what), site_context)
623
- end
557
+ return WebBrowser.new_from_existing(Watir::IE.attach(how, what), site_context)
624
558
  end
625
559
 
626
560
  # Attach a Watir::IE instance to a popup window.
@@ -24,14 +24,14 @@ module RWebSpec
24
24
 
25
25
  include RWebSpec::Assert
26
26
  include RWebSpec::Driver
27
- include RWebSpec::Utils
28
27
 
29
28
  # browser: passed to do assertion within the page
30
29
  # page_text: text used to identify the page, title will be the first candidate
31
30
  attr_accessor :page_specific_text
32
31
 
33
32
  def initialize(the_browser, page_specific_text = nil)
34
- @web_browser = @browser = @web_tester = the_browser
33
+ @web_browser = the_browser
34
+ @web_tester = the_browser
35
35
  @page_specific_text = page_specific_text
36
36
  begin
37
37
  snapshot if $TESTWISE_DUMP_PAGE || $ITEST2_DUMP_PAGE
data/lib/rwebspec.rb CHANGED
@@ -4,20 +4,6 @@
4
4
  #***********************************************************
5
5
  require "rubygems"
6
6
 
7
- # From 2.0, no default support for FireWatir.
8
- #
9
- if $ENABLE_FIREFOX
10
- # Try load firewatir first, which depends on ActiveSupport
11
- puts "Deprecated: Please use watir-webdriver or selenium-webdriver to run tests in Firefox"
12
- begin
13
- require "firewatir";
14
- $firewatir_loaded = true
15
- rescue LoadError => e
16
- puts e
17
- $firewatir_loaded = false
18
- end
19
- end
20
-
21
7
  # Load active_support, so that we can use 1.days.ago
22
8
  begin
23
9
  require 'active_support/basic_object'
@@ -30,7 +16,7 @@ end
30
16
  require 'spec'
31
17
 
32
18
  unless defined? RWEBSPEC_VERSION
33
- RWEBSPEC_VERSION = RWEBUNIT_VERSION = "2.1.3"
19
+ RWEBSPEC_VERSION = RWEBUNIT_VERSION = "2.2.0"
34
20
  end
35
21
 
36
22
  $testwise_polling_interval = 1 # seconds
@@ -63,7 +49,6 @@ require File.dirname(__FILE__) + "/rwebspec/load_test_helper"
63
49
  require File.dirname(__FILE__) + "/rwebspec/matchers/contains_text"
64
50
  require File.dirname(__FILE__) + "/extensions/rspec_extensions"
65
51
 
66
- require File.dirname(__FILE__) + "/extensions/firewatir_extensions" if $ENABLE_FIREFOX
67
52
  if RUBY_PLATFORM =~ /mswin/ or RUBY_PLATFORM =~ /mingw/
68
53
  require File.dirname(__FILE__) + "/extensions/watir_extensions"
69
54
  require File.dirname(__FILE__) + "/extensions/window_script_extensions.rb"
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rwebspec
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 7
5
+ prerelease:
5
6
  segments:
6
7
  - 2
7
- - 1
8
- - 3
9
- version: 2.1.3
8
+ - 2
9
+ - 0
10
+ version: 2.2.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Zhimin Zhan
@@ -14,16 +15,17 @@ autorequire: rwebspec
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2012-01-23 00:00:00 +10:00
18
- default_executable:
18
+ date: 2012-03-11 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: rspec
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
24
25
  requirements:
25
26
  - - "="
26
27
  - !ruby/object:Gem::Version
28
+ hash: 11
27
29
  segments:
28
30
  - 1
29
31
  - 1
@@ -35,9 +37,11 @@ dependencies:
35
37
  name: commonwatir
36
38
  prerelease: false
37
39
  requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
38
41
  requirements:
39
42
  - - ">="
40
43
  - !ruby/object:Gem::Version
44
+ hash: 3
41
45
  segments:
42
46
  - 2
43
47
  - 0
@@ -57,7 +61,6 @@ files:
57
61
  - README
58
62
  - CHANGELOG
59
63
  - MIT-LICENSE
60
- - lib/extensions/firewatir_extensions.rb
61
64
  - lib/extensions/rspec_extensions.rb
62
65
  - lib/extensions/watir_extensions.rb
63
66
  - lib/extensions/window_script_extensions.rb
@@ -78,7 +81,6 @@ files:
78
81
  - lib/rwebspec/web_page.rb
79
82
  - lib/rwebspec/web_testcase.rb
80
83
  - lib/rwebspec.rb
81
- has_rdoc: true
82
84
  homepage: http://github.com/zhimin/rwebspec/tree/master
83
85
  licenses: []
84
86
 
@@ -88,23 +90,27 @@ rdoc_options: []
88
90
  require_paths:
89
91
  - lib
90
92
  required_ruby_version: !ruby/object:Gem::Requirement
93
+ none: false
91
94
  requirements:
92
95
  - - ">="
93
96
  - !ruby/object:Gem::Version
97
+ hash: 3
94
98
  segments:
95
99
  - 0
96
100
  version: "0"
97
101
  required_rubygems_version: !ruby/object:Gem::Requirement
102
+ none: false
98
103
  requirements:
99
104
  - - ">="
100
105
  - !ruby/object:Gem::Version
106
+ hash: 3
101
107
  segments:
102
108
  - 0
103
109
  version: "0"
104
110
  requirements:
105
111
  - none
106
112
  rubyforge_project: rwebspec
107
- rubygems_version: 1.3.6
113
+ rubygems_version: 1.8.15
108
114
  signing_key:
109
115
  specification_version: 3
110
116
  summary: Web application functional specification in Ruby
@@ -1,74 +0,0 @@
1
- module FireWatir
2
- class Firefox
3
-
4
- @@firefox_started = false
5
-
6
- def initialize(options = {})
7
- if(options.kind_of?(Integer))
8
- options = {:waitTime => options}
9
- end
10
-
11
- if(options[:profile])
12
- profile_opt = "-no-remote -P #{options[:profile]}"
13
- else
14
- profile_opt = ""
15
- end
16
-
17
- waitTime = options[:waitTime] || 2
18
-
19
- os = RUBY_PLATFORM
20
- if RUBY_PLATFORM =~ /java/ then
21
- require 'rbconfig'
22
- os = Config::CONFIG['host_os']
23
- end
24
-
25
- case os
26
- when /mswin/ || /mingw/
27
- begin
28
- # Get the path to Firefox.exe using Registry.
29
- require 'win32/registry.rb'
30
- path_to_bin = ""
31
- Win32::Registry::HKEY_LOCAL_MACHINE.open('SOFTWARE\Mozilla\Mozilla Firefox') do |reg|
32
- keys = reg.keys
33
- reg1 = Win32::Registry::HKEY_LOCAL_MACHINE.open("SOFTWARE\\Mozilla\\Mozilla Firefox\\#{keys[0]}\\Main")
34
- reg1.each do |subkey, type, data|
35
- if(subkey =~ /pathtoexe/i)
36
- path_to_bin = data
37
- end
38
- end
39
- end
40
- rescue LoadError => e
41
- path_to_bin = '"C:\Program Files\Mozilla Firefox\firefox.exe"'
42
- end
43
-
44
- when /linux/i
45
- path_to_bin = `which firefox`.strip
46
- when /darwin/i
47
- path_to_bin = '/Applications/Firefox.app/Contents/MacOS/firefox'
48
- when /java/
49
- raise "Error, should have set using rbconfig: #{os}"
50
- end
51
-
52
- @t = Thread.new { system("#{path_to_bin} -jssh #{profile_opt}")} unless @@firefox_started
53
-
54
- sleep waitTime
55
- begin
56
- set_defaults()
57
- rescue Watir::Exception::UnableToStartJSShException
58
- if !@t # no new thread starting browser, try again
59
- puts "Firefox with JSSH not detected after you indicated @@firefox_started"
60
- @t = Thread.new { system("#{path_to_bin} -jssh #{profile_opt}")}
61
- sleep waitTime
62
- set_defaults
63
- end
64
- end
65
- get_window_number()
66
- set_browser_document()
67
- end
68
-
69
- def self.firefox_started=(value)
70
- @@firefox_started = value
71
- end
72
-
73
- end
74
- end