bret-watircraft 0.4.4 → 0.4.5

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/History.txt CHANGED
@@ -1,3 +1,26 @@
1
+ === 0.4.5 / 2009-04-07
2
+
3
+ New Features
4
+
5
+ * Will now use the latest version of Rspec and Cucumber. Previously we
6
+ declared dependencies on specific versions of Rspec and Cucumber. Now we
7
+ will install and use the latest version. If you have a specific version
8
+ you want to use, you should install it first. WatirCraft will use it,
9
+ instead of installing its own.
10
+ * When you create a new project, your site.rb file will now contain a
11
+ template initialize_browser method, making it easier to see how to
12
+ customize it.
13
+
14
+ Bug Fixes
15
+
16
+ * Some "should" commands were not working in the script\console.
17
+ (e.g. "browser.text.should include('Google')"
18
+
19
+ Documentation
20
+
21
+ * Fixed incorrect reference to config file in "startup instructions".
22
+ * Moved documentation from project readme to the wiki.
23
+
1
24
  === 0.4.4 / 2009-04-02
2
25
 
3
26
  This release provides a number of new configuration options for managing
data/README.rdoc CHANGED
@@ -1,126 +1,7 @@
1
1
  = WatirCraft
2
2
 
3
- == DESCRIPTION
4
-
5
- WatirCraft is a testing framework that builds on Watir.
6
- It allows tests to be expressed as Rspec or Cucumber tests and provides
7
- a library structure to support maintainable testing. It gives you
8
- a place to put things.
9
-
10
- * http://testobsessed.com/2008/05/31/a-place-to-put-things
11
-
12
- == FEATURES
13
-
14
- * Generates a directory structure for your test suite with one command.
15
- * Provides page adapters you can customize for your application.
16
- * Configure environment URLs and browser type (IE, Firefox) in one location.
17
- * Supports multiple environments; specify which to test at run time.
18
- * Uses templates to create tests and libraries.
19
- * Automatically initializes browser for testing.
20
- * Provides the glue to ensure your tests can find your libraries. Don't
21
- write another "require" statement again.
22
-
23
- == APPROACH
24
-
25
- WatirCraft is an object-oriented testing framework that helps you create
26
- class libraries to support the tests for your application. On their own,
27
- many testers have created procedural libraries for testing because they
28
- understand these and find them easier to create and understand.
29
-
30
- Although object-oriented frameworks like WatirCraft are somewhat more difficult
31
- to understand at first, they are easier to customize and upgrade. As we add
32
- more features to the WatirCraft framework, your test suite will automatically
33
- get the benefit.
34
-
35
- == INSTALL
36
-
37
- Run the following if you haven't already:
38
-
39
- > gem update --system
40
- > gem sources -a http://gems.github.com
41
-
42
- Install the gem:
43
-
44
- > gem install bret-watircraft
45
-
3
+ For documentation, see http://wiki.github.com/bret/watircraft
46
4
  See the History.txt file for detailed notes on the contents of each release.
47
-
48
- == GETTING STARTED
49
-
50
- Use the +watircraft+ command to create your project. Your project will contain
51
- your tests, your libraries, your configuration files, and all the glue code
52
- necessary to allow it all to work together. Let's create a project for
53
- testing Google.
54
-
55
- > watircraft google
56
-
57
- This will create a directory called "google" and populate it with a bunch of
58
- directories and files.
59
-
60
- You'll need to edit the <tt>config\environments.yml</tt> file to point to you base
61
- url of your project.
62
-
63
- test:
64
- url: http://google.com
65
-
66
- By default, your tests will run in the "test" environment, but you can specify
67
- additional environments later. When you run your tests, you can specify which environment
68
- to use on the command line.
69
-
70
- Use the <tt>script\generate</tt> command to populate your project with project files.
71
- This command must be run from the top of your project.
72
-
73
- > cd google
74
-
75
- Create a test. WatirCraft uses the RSpec test harness and therefore calls a
76
- test a "spec".
77
-
78
- > script\generate spec search
79
-
80
- This creates a bare template for a test. Edit the file that was just created
81
- (<tt>test/specs/search_spec.rb</tt>) and add the following
82
- lines.
83
-
84
- browser.text_field(:name, 'q').set 'WatirCraft'
85
- browser.button(:name, 'btnG').click
86
- browser.text.should include('Test automation for web applications')
87
-
88
- The WatirCraft framework will automatically start the browser at the
89
- configured url when you run it.
90
-
91
- After you have added these lines to the template, the complete file will
92
- look like this.
93
-
94
- $LOAD_PATH.unshift File.dirname(__FILE__) unless
95
- $LOAD_PATH.include? File.dirname(__FILE__)
96
- require 'spec_helper'
97
-
98
- describe "Search" do
99
-
100
- it "should find WatirCraft" do
101
- browser.text_field(:name, 'q').set 'WatirCraft'
102
- browser.button(:name, 'btnG').click
103
- browser.text.should include('Test automation for web applications')
104
- end
105
-
106
- end
107
-
108
- Use the +rake+ command to run the tests for your project(only one so far).
109
- This needs to be run from the base of your project.
110
-
111
- > rake spec
112
-
113
- By default, your test runs with Internet Explorer, but you can also run it
114
- with Firefox.
115
-
116
- > rake spec BROWSER=firefox
117
-
118
- You can also just run individual files.
119
-
120
- > ruby test/specs/search_spec.rb
121
-
122
- Note that many editors will do this automatically for you. For example the
123
- Scite editor will do this when you hit "F5".
124
5
 
125
6
  == EXAMPLE
126
7
 
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 4
3
- :patch: 4
3
+ :patch: 5
4
4
  :major: 0
@@ -3,7 +3,7 @@ How to create a WatirCraft Project
3
3
  ==================================
4
4
 
5
5
  1. DONE - Run the WatirCraft command: watircraft projectname
6
- 2. Edit config/config.yml to include the base url of your application.
6
+ 2. Edit config/environments.yml to include the base url of your application.
7
7
  3. CD into your new project directory. All of the following commands assume
8
8
  that your current directory is the base of your project.
9
9
 
@@ -6,5 +6,10 @@ module <%= site.camelize %>
6
6
 
7
7
  class <%= site.camelize %> < ::Taza::Site
8
8
 
9
+ # Sets @browser to be a browser initialized for testing your site.
10
+ def initialize_browser
11
+ super # configure the browser based on the configuration settings
12
+ end
13
+
9
14
  end
10
15
  end
data/lib/taza/site.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'activesupport'
3
3
  require 'taza/settings'
4
+ require 'spec/matchers'
4
5
 
5
6
  module Taza
6
7
  # An abstraction of a website, but more really a container for a sites pages.
@@ -43,6 +44,8 @@ module Taza
43
44
  end
44
45
 
45
46
  end
47
+ include Spec::Matchers
48
+
46
49
 
47
50
  @@before_browser_closes = Proc.new() {}
48
51
  # Use this to do something with the browser before it closes, but note that it is a class method which
@@ -157,6 +160,7 @@ module Taza
157
160
 
158
161
  def initialize_context!(context)
159
162
  context.extend @methods_module
163
+ context.extend Spec::Matchers
160
164
  context.site = @site
161
165
  context.browser = @site.browser
162
166
  context
@@ -1,3 +1,3 @@
1
1
  # This file is autogenerated. Do not edit.
2
2
  # Use 'rake version.rb' to update.
3
- module WatirCraft; VERSION = '0.4.4'; end
3
+ module WatirCraft; VERSION = '0.4.5'; end
data/spec/site_spec.rb CHANGED
@@ -87,6 +87,10 @@ describe do
87
87
  it "should list the site's pages" do
88
88
  @context.pages.should == ["bar_page", "partial_the_reckoning"]
89
89
  end
90
+
91
+ it "should provide Spec::Matchers" do
92
+ @context.instance_eval { [1,2,3].should include(2) }
93
+ end
90
94
  end
91
95
 
92
96
  describe Taza::Site do
@@ -227,6 +231,17 @@ describe do
227
231
  Taza::Settings.expects(:environment_settings).returns({:url => 'http://www.zoro.com'}).at_least_once
228
232
  @site.origin.should == 'http://www.zoro.com'
229
233
  end
234
+
235
+ it "should call the initialize method" do
236
+
237
+ class SubClass < Taza::Site
238
+ def initialize_browser
239
+ @browser = 'provided'
240
+ end
241
+ end
242
+
243
+ SubClass.new.browser.should == 'provided'
244
+ end
230
245
 
231
246
  end
232
247
 
@@ -247,23 +262,4 @@ describe do
247
262
  end
248
263
  end
249
264
 
250
- describe Taza::Site do
251
- it_should_behave_like "an execution context"
252
- before do
253
- @context = @site
254
- end
255
-
256
- it "should call the initialize method" do
257
-
258
- class SubClass < Taza::Site
259
- def initialize_browser
260
- @browser = 'provided'
261
- end
262
- end
263
-
264
- SubClass.new.browser.should == 'provided'
265
- end
266
-
267
-
268
- end
269
265
  end
data/watircraft.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{watircraft}
5
- s.version = "0.4.4"
5
+ s.version = "0.4.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Bret Pettichord", "Jim Matthews", "Charley Baker", "Adam Anderson"]
9
- s.date = %q{2009-04-03}
9
+ s.date = %q{2009-04-07}
10
10
  s.default_executable = %q{watircraft}
11
11
  s.description = %q{WatirCraft is a framework for testing web apps.}
12
12
  s.email = %q{bret@pettichord.com}
@@ -14,9 +14,10 @@ Gem::Specification.new do |s|
14
14
  s.extra_rdoc_files = ["History.txt", "README.rdoc"]
15
15
  s.files = ["History.txt", "Manifest.txt", "README.rdoc", "VERSION.yml", "watircraft.gemspec", "bin/watircraft", "lib/extensions", "lib/extensions/array.rb", "lib/extensions/hash.rb", "lib/extensions/object.rb", "lib/extensions/string.rb", "lib/extensions/watir.rb", "lib/taza", "lib/taza/browser.rb", "lib/taza/entity.rb", "lib/taza/fixture.rb", "lib/taza/flow.rb", "lib/taza/page.rb", "lib/taza/settings.rb", "lib/taza/site.rb", "lib/taza/tasks.rb", "lib/taza.rb", "lib/watircraft", "lib/watircraft/generator_helper.rb", "lib/watircraft/table.rb", "lib/watircraft/version.rb", "lib/watircraft.rb", "spec/array_spec.rb", "spec/browser_spec.rb", "spec/entity_spec.rb", "spec/fake_table.rb", "spec/fixtures_spec.rb", "spec/fixture_spec.rb", "spec/hash_spec.rb", "spec/object_spec.rb", "spec/page_generator_spec.rb", "spec/page_spec.rb", "spec/project_generator_spec.rb", "spec/sandbox", "spec/sandbox/config", "spec/sandbox/config/config.yml", "spec/sandbox/config/environments.yml", "spec/sandbox/config/simpler.yml", "spec/sandbox/config/simpler_site.yml", "spec/sandbox/config.yml", "spec/sandbox/fixtures", "spec/sandbox/fixtures/examples.yml", "spec/sandbox/fixtures/users.yml", "spec/sandbox/flows", "spec/sandbox/flows/batman.rb", "spec/sandbox/flows/robin.rb", "spec/sandbox/pages", "spec/sandbox/pages/foo", "spec/sandbox/pages/foo/bar_page.rb", "spec/sandbox/pages/foo/partials", "spec/sandbox/pages/foo/partials/partial_the_reckoning.rb", "spec/settings_spec.rb", "spec/site_spec.rb", "spec/spec_generator_helper.rb", "spec/spec_generator_spec.rb", "spec/spec_helper.rb", "spec/steps_generator_spec.rb", "spec/string_spec.rb", "spec/table_spec.rb", "spec/taza_spec.rb", "spec/watircraft_bin_spec.rb", "spec/watir_spec.rb", "app_generators/watircraft", "app_generators/watircraft/templates", "app_generators/watircraft/templates/config.yml.erb", "app_generators/watircraft/templates/environments.yml.erb", "app_generators/watircraft/templates/feature_helper.rb", "app_generators/watircraft/templates/initialize.rb.erb", "app_generators/watircraft/templates/rakefile.rb", "app_generators/watircraft/templates/readme.txt", "app_generators/watircraft/templates/script", "app_generators/watircraft/templates/script/console", "app_generators/watircraft/templates/script/console.cmd", "app_generators/watircraft/templates/site.rb.erb", "app_generators/watircraft/templates/site_start.rb.erb", "app_generators/watircraft/templates/spec_helper.rb", "app_generators/watircraft/templates/spec_initialize.rb", "app_generators/watircraft/templates/world.rb", "app_generators/watircraft/USAGE", "app_generators/watircraft/watircraft_generator.rb", "watircraft_generators/page", "watircraft_generators/page/page_generator.rb", "watircraft_generators/page/templates", "watircraft_generators/page/templates/page.rb.erb", "watircraft_generators/page/USAGE", "watircraft_generators/spec", "watircraft_generators/spec/spec_generator.rb", "watircraft_generators/spec/templates", "watircraft_generators/spec/templates/spec.rb.erb", "watircraft_generators/spec/USAGE", "watircraft_generators/steps", "watircraft_generators/steps/steps_generator.rb", "watircraft_generators/steps/templates", "watircraft_generators/steps/templates/steps.rb.erb", "watircraft_generators/steps/USAGE"]
16
16
  s.has_rdoc = true
17
- s.homepage = %q{http://github.com/bret/watircraft/tree/master}
17
+ s.homepage = %q{http://wiki.github.com/bret/watircraft}
18
18
  s.rdoc_options = ["--main", "README.rdoc"]
19
19
  s.require_paths = ["lib"]
20
+ s.requirements = ["watir(ie) and/or firewatir 1.6.2 or newer"]
20
21
  s.rubyforge_project = %q{watir}
21
22
  s.rubygems_version = %q{1.3.1}
22
23
  s.summary = %q{WatirCraft is a framework for testing web apps.}
@@ -30,22 +31,22 @@ Gem::Specification.new do |s|
30
31
  s.add_runtime_dependency(%q<rake>, [">= 0.8.3"])
31
32
  s.add_runtime_dependency(%q<mocha>, [">= 0.9.3"])
32
33
  s.add_runtime_dependency(%q<rubigen>, [">= 1.4.0"])
33
- s.add_runtime_dependency(%q<rspec>, ["= 1.1.12"])
34
- s.add_runtime_dependency(%q<cucumber>, ["= 0.1.16"])
34
+ s.add_runtime_dependency(%q<rspec>, [">= 1.1.12"])
35
+ s.add_runtime_dependency(%q<cucumber>, [">= 0.1.16"])
35
36
  else
36
37
  s.add_dependency(%q<taglob>, [">= 1.1.1"])
37
38
  s.add_dependency(%q<rake>, [">= 0.8.3"])
38
39
  s.add_dependency(%q<mocha>, [">= 0.9.3"])
39
40
  s.add_dependency(%q<rubigen>, [">= 1.4.0"])
40
- s.add_dependency(%q<rspec>, ["= 1.1.12"])
41
- s.add_dependency(%q<cucumber>, ["= 0.1.16"])
41
+ s.add_dependency(%q<rspec>, [">= 1.1.12"])
42
+ s.add_dependency(%q<cucumber>, [">= 0.1.16"])
42
43
  end
43
44
  else
44
45
  s.add_dependency(%q<taglob>, [">= 1.1.1"])
45
46
  s.add_dependency(%q<rake>, [">= 0.8.3"])
46
47
  s.add_dependency(%q<mocha>, [">= 0.9.3"])
47
48
  s.add_dependency(%q<rubigen>, [">= 1.4.0"])
48
- s.add_dependency(%q<rspec>, ["= 1.1.12"])
49
- s.add_dependency(%q<cucumber>, ["= 0.1.16"])
49
+ s.add_dependency(%q<rspec>, [">= 1.1.12"])
50
+ s.add_dependency(%q<cucumber>, [">= 0.1.16"])
50
51
  end
51
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bret-watircraft
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bret Pettichord
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2009-04-03 00:00:00 -07:00
15
+ date: 2009-04-07 00:00:00 -07:00
16
16
  default_executable: watircraft
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
@@ -61,7 +61,7 @@ dependencies:
61
61
  version_requirement:
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - "="
64
+ - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: 1.1.12
67
67
  version:
@@ -71,7 +71,7 @@ dependencies:
71
71
  version_requirement:
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - "="
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: 0.1.16
77
77
  version:
@@ -186,7 +186,7 @@ files:
186
186
  - watircraft_generators/steps/templates/steps.rb.erb
187
187
  - watircraft_generators/steps/USAGE
188
188
  has_rdoc: true
189
- homepage: http://github.com/bret/watircraft/tree/master
189
+ homepage: http://wiki.github.com/bret/watircraft
190
190
  post_install_message:
191
191
  rdoc_options:
192
192
  - --main
@@ -205,8 +205,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
205
  - !ruby/object:Gem::Version
206
206
  version: "0"
207
207
  version:
208
- requirements: []
209
-
208
+ requirements:
209
+ - watir(ie) and/or firewatir 1.6.2 or newer
210
210
  rubyforge_project: watir
211
211
  rubygems_version: 1.2.0
212
212
  signing_key: