watir-webdriver-rails 0.0.2 → 0.0.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/README.md +98 -92
- data/lib/watir-webdriver-rails.rb +11 -17
- data/lib/watir-webdriver-rails/browser.rb +19 -1
- data/lib/watir-webdriver-rails/rails.rb +4 -1
- data/lib/watir-webdriver-rails/version.rb +1 -1
- data/spec/controllers/home_controller_spec.rb +8 -0
- data/spec/rails/config/application.rb +1 -1
- data/spec/rails/script/cucumber +10 -0
- data/spec/rails/script/rails +6 -0
- data/spec/spec_helper.rb +2 -1
- metadata +7 -4
data/README.md
CHANGED
@@ -1,92 +1,98 @@
|
|
1
|
-
watir-webdriver-rails
|
2
|
-
===============
|
3
|
-
|
4
|
-
watir-webdriver-rails provides a dead-simple
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
``
|
18
|
-
|
19
|
-
``
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
browser
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
*
|
73
|
-
*
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
---------
|
92
|
-
|
1
|
+
watir-webdriver-rails
|
2
|
+
===============
|
3
|
+
|
4
|
+
watir-webdriver-rails provides a dead-simple way to use Watir with Rails 3.
|
5
|
+
|
6
|
+
Current version
|
7
|
+
----------------
|
8
|
+
``
|
9
|
+
0.0.2
|
10
|
+
``
|
11
|
+
|
12
|
+
Installation
|
13
|
+
--------
|
14
|
+
|
15
|
+
In your Gemfile, drop the below line
|
16
|
+
|
17
|
+
``
|
18
|
+
gem 'watir-webdriver-rails'
|
19
|
+
``
|
20
|
+
|
21
|
+
and type:
|
22
|
+
|
23
|
+
``
|
24
|
+
bundle install
|
25
|
+
``
|
26
|
+
|
27
|
+
from your command line and Rails's root folder
|
28
|
+
|
29
|
+
How to use
|
30
|
+
-------
|
31
|
+
|
32
|
+
In your spec_helper.rb, please place the below lines:
|
33
|
+
(watir-webdriver-rails uses RSpec as the testing framework)
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
|
37
|
+
require 'rspec/rails'
|
38
|
+
require 'watir-webdriver-rails'
|
39
|
+
|
40
|
+
WatirWebdriverRails.host = "localhost"
|
41
|
+
WatirWebdriverRails.port = 57124
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
In your integration test file, it should look something like this:
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
|
49
|
+
require 'spec_helper'
|
50
|
+
|
51
|
+
describe "Test something" do
|
52
|
+
|
53
|
+
it "should go to some page and fill textbox" do
|
54
|
+
|
55
|
+
browser.goto "/member"
|
56
|
+
|
57
|
+
browser.text_field(:id=>"first_name").set "Tanin"
|
58
|
+
browser.text_field(:id=>"last_name").set "Na Nakorn"
|
59
|
+
|
60
|
+
browser.text_field(:id=>"first_name").value.should == "Tanin"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
```
|
65
|
+
|
66
|
+
browser is of type Watir::Browser. You may interact with it freely.
|
67
|
+
See http://rubydoc.info/gems/watir-webdriver/0.3.2/Watir/Browser
|
68
|
+
|
69
|
+
Dependencies
|
70
|
+
------------
|
71
|
+
|
72
|
+
* watir-webdriver
|
73
|
+
* rspec
|
74
|
+
|
75
|
+
Development
|
76
|
+
-----------------------------
|
77
|
+
|
78
|
+
* Fork the project.
|
79
|
+
* Add features or fix bugs
|
80
|
+
* Add test cases for it
|
81
|
+
* Send me a pull request
|
82
|
+
|
83
|
+
Please try running all the test cases first by going to the root folder and type:
|
84
|
+
|
85
|
+
``
|
86
|
+
bundle exec rspec spec/*
|
87
|
+
``
|
88
|
+
|
89
|
+
|
90
|
+
License
|
91
|
+
---------
|
92
|
+
|
93
|
+
There are parts which are copied from capybara and capybara-firebug gems. Please also be aware of their licenses.
|
94
|
+
Other than that, you can do anything with it.
|
95
|
+
|
96
|
+
Author
|
97
|
+
---------
|
98
|
+
Tanin Na Nakorn
|
@@ -14,23 +14,17 @@ require 'watir-webdriver-rails/rspec'
|
|
14
14
|
# start server
|
15
15
|
RSpec.configure do |config|
|
16
16
|
|
17
|
-
config.include WatirWebdriverRails::RSpec
|
17
|
+
config.include WatirWebdriverRails::RSpec, :example_group=>{:file_path=>/spec[\\\/](requests|integration)/}
|
18
18
|
|
19
|
-
config.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
args[0] = "http://#{WatirWebdriverRails.host}:#{WatirWebdriverRails.port}#{args[0]}"
|
30
|
-
end
|
31
|
-
|
32
|
-
old_goto(*args)
|
33
|
-
end
|
34
|
-
end
|
19
|
+
config.after do
|
20
|
+
if self.class.include?(WatirWebdriverRails::RSpec)
|
21
|
+
browser.clear_cookies
|
22
|
+
end
|
23
|
+
end
|
24
|
+
config.before do
|
25
|
+
if self.class.include?(WatirWebdriverRails::RSpec)
|
26
|
+
WatirWebdriverRails.run_server
|
27
|
+
WatirWebdriverRails.initialize_browser
|
28
|
+
end
|
35
29
|
end
|
36
30
|
end
|
@@ -1,9 +1,27 @@
|
|
1
1
|
module WatirWebdriverRails
|
2
2
|
class << self
|
3
|
-
attr_accessor :browser
|
3
|
+
attr_accessor :browser,:browser_initialized
|
4
4
|
|
5
5
|
def initialize_browser
|
6
|
+
|
7
|
+
return if @browser_initialized == true
|
8
|
+
|
6
9
|
@browser = Watir::Browser.new(WatirWebdriverRails.driver)
|
10
|
+
|
11
|
+
@browser.class_eval do
|
12
|
+
alias_method :old_goto,:goto
|
13
|
+
|
14
|
+
def goto(*args)
|
15
|
+
|
16
|
+
if !args[0].match(/^https?:/)
|
17
|
+
args[0] = "http://#{WatirWebdriverRails.host}:#{WatirWebdriverRails.port}#{args[0]}"
|
18
|
+
end
|
19
|
+
|
20
|
+
old_goto(*args)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
@browser_initialized = true
|
7
25
|
end
|
8
26
|
|
9
27
|
end
|
@@ -19,11 +19,12 @@ module WatirWebdriverRails
|
|
19
19
|
end
|
20
20
|
|
21
21
|
class << self
|
22
|
-
attr_accessor :host, :port, :server_boot_timeout, :app
|
22
|
+
attr_accessor :host, :port, :server_boot_timeout, :app, :server_running
|
23
23
|
|
24
24
|
|
25
25
|
|
26
26
|
def run_server
|
27
|
+
return if @server_running == true
|
27
28
|
|
28
29
|
@app = Rack::Builder.new {
|
29
30
|
map "/" do
|
@@ -55,6 +56,8 @@ module WatirWebdriverRails
|
|
55
56
|
false
|
56
57
|
end
|
57
58
|
end
|
59
|
+
|
60
|
+
@server_running = true
|
58
61
|
end
|
59
62
|
|
60
63
|
|
@@ -5,7 +5,7 @@ require File.expand_path('../boot', __FILE__)
|
|
5
5
|
# require "active_record/railtie"
|
6
6
|
require "action_controller/railtie"
|
7
7
|
#require "action_mailer/railtie"
|
8
|
-
require "active_resource/railtie"
|
8
|
+
#require "active_resource/railtie"
|
9
9
|
#require "rails/test_unit/railtie"
|
10
10
|
|
11
11
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
vendored_cucumber_bin = Dir["#{File.dirname(__FILE__)}/../vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
|
4
|
+
if vendored_cucumber_bin
|
5
|
+
load File.expand_path(vendored_cucumber_bin)
|
6
|
+
else
|
7
|
+
require 'rubygems' unless ENV['NO_RUBYGEMS']
|
8
|
+
require 'cucumber'
|
9
|
+
load Cucumber::BINARY
|
10
|
+
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
#!/usr/bin/env ruby.exe
|
2
|
+
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
|
3
|
+
|
4
|
+
APP_PATH = File.expand_path('../../config/application', __FILE__)
|
5
|
+
require File.expand_path('../../config/boot', __FILE__)
|
6
|
+
require 'rails/commands'
|
data/spec/spec_helper.rb
CHANGED
@@ -6,7 +6,8 @@ ENV["RAILS_ENV"] ||= 'test'
|
|
6
6
|
require File.expand_path("../rails/config/environment", __FILE__)
|
7
7
|
|
8
8
|
require 'rspec/rails'
|
9
|
-
require 'watir-webdriver-rails'
|
9
|
+
#require 'watir-webdriver-rails'
|
10
|
+
File.expand_path("../../watir-webdriver-rails", __FILE__)
|
10
11
|
|
11
12
|
WatirWebdriverRails.host = "localhost"
|
12
13
|
WatirWebdriverRails.port = 57124
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: watir-webdriver-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-09-
|
12
|
+
date: 2011-09-07 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: watir-webdriver
|
16
|
-
requirement: &
|
16
|
+
requirement: &19468908 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 0.3.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *19468908
|
25
25
|
description: WebDriver-backed Watir for Rails
|
26
26
|
email:
|
27
27
|
- tanin47@gmail.com
|
@@ -45,6 +45,7 @@ files:
|
|
45
45
|
- lib/watir-webdriver-rails/rspec.rb
|
46
46
|
- lib/watir-webdriver-rails/util/timeout.rb
|
47
47
|
- lib/watir-webdriver-rails/version.rb
|
48
|
+
- spec/controllers/home_controller_spec.rb
|
48
49
|
- spec/integration/rails_spec.rb
|
49
50
|
- spec/rails/Gemfile
|
50
51
|
- spec/rails/Gemfile.lock
|
@@ -57,6 +58,8 @@ files:
|
|
57
58
|
- spec/rails/config/environment.rb
|
58
59
|
- spec/rails/config/routes.rb
|
59
60
|
- spec/rails/log/test.log
|
61
|
+
- spec/rails/script/cucumber
|
62
|
+
- spec/rails/script/rails
|
60
63
|
- spec/spec_helper.rb
|
61
64
|
- watir-webdriver-rails.gemspec
|
62
65
|
homepage: http://github.com/tanin47/watir-webdriver-rails
|