test-factory 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- test-factory (0.0.5)
4
+ test-factory (0.0.6)
5
5
  watir-webdriver (>= 0.6.1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -8,6 +8,12 @@ This gem contains the basic framework for [dryly](http://en.wikipedia.org/wiki/D
8
8
 
9
9
  Use it to abstract away from the underlying [Watir](http://www.watir.com) code and create your own [DSL](http://en.wikipedia.org/wiki/Domain_specific_language).
10
10
 
11
+ With TestFactory you have the ability to...
12
+
13
+ 1. Easily instantiate pages in a consistent manner
14
+ 2. Concisely describe elements on a page, keeping it DRY by avoiding repetition of element identifiers
15
+ 3. Provide higher-level methods that use the elements to perform user-0oriented functions
16
+
11
17
  Tremendous thanks is due to [Alister Scott](http://watirmelon.com), whose [custom page object code](https://github.com/alisterscott/wmf-custom-page-object) for the Wikimedia Foundation provided the inspiration for this gem.
12
18
 
13
19
  How to Start
@@ -135,7 +141,6 @@ on MyPage do |page|
135
141
  # Very contrived example. You should be using your favorite verification framework here:
136
142
  page.description==@my_thing.description ? puts "Passed" : puts "Failed"
137
143
  end
138
-
139
144
  ```
140
145
 
141
146
  Notice
@@ -41,6 +41,9 @@ class PageFactory
41
41
 
42
42
  # The basic building block of the page object classes.
43
43
  # Use in conjunction with Watir to define all elements on a given page that are important to validate.
44
+ #
45
+ # @example
46
+ # element(:title) { |b| b.frm.text_field(:id=>"title-id") }
44
47
  def element element_name
45
48
  raise "#{element_name} is being defined twice in #{self}!" if self.instance_methods.include?(element_name.to_sym)
46
49
  define_method element_name.to_s do
@@ -50,6 +53,15 @@ class PageFactory
50
53
  alias :value :element
51
54
 
52
55
  # The basic building block for interacting with elements on a page, such as links and buttons.
56
+ #
57
+ # @example
58
+ # action(:continue) { |b| b.frm.button(:value=>"Continue").click }
59
+ #
60
+ # This can also be used to create methods that take parameters. Like so...
61
+ #
62
+ # @example
63
+ # action(:select_style) { |stylename, b| b.div(:text=>/#{Regexp.escape(stylename)}/).link(:text=>"Select").click }
64
+ #
53
65
  def action method_name, &block
54
66
  define_method method_name.to_s do |*thing|
55
67
  Proc.new(&block).call *thing, self
data/test-factory.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'test-factory'
3
- s.version = '0.0.5'
3
+ s.version = '0.0.6'
4
4
  s.summary = %q{rSmart's framework for creating automated testing scripts}
5
5
  s.description = %q{This gem provides a set of modules and methods to help quickly and DRYly create a test automation framework using Ruby and Watir (or watir-webdriver).}
6
6
  s.files = Dir.glob("**/**/**")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-13 00:00:00.000000000 Z
12
+ date: 2012-11-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: watir-webdriver