watir_drops 0.5.7 → 0.5.8
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.
- checksums.yaml +4 -4
 - data/.gitignore +2 -1
 - data/.travis.yml +27 -0
 - data/CHANGES.md +4 -0
 - data/README.md +35 -1
 - data/lib/watir_drops/page_object.rb +16 -9
 - data/watir_drops.gemspec +2 -2
 - metadata +8 -7
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3e1b03e9a9684d4250351bfefb2ab56a2351fc13
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 0c4bc45059018b83d0baa6a09dbfcd4395bbee8b
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 766bd79dd80b375a49ead4dde707d56cc7da14e173021862c492cb834848819b19e9cd6d7ffc7f8f9d28ae9c93f713963436eda78b28a9c4184b638b73f39f2a
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 480979f6e590e8226b862c71d085ccff66308accd1f7b1e56e28ee161d43b53e7aaa67f680751a254a6e2be555aab1c8ad99098c433a0fd5c611f17939076dcd
         
     | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/.travis.yml
    ADDED
    
    | 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            sudo: false
         
     | 
| 
      
 2 
     | 
    
         
            +
            language: ruby
         
     | 
| 
      
 3 
     | 
    
         
            +
            rvm:
         
     | 
| 
      
 4 
     | 
    
         
            +
              - 2.2.5
         
     | 
| 
      
 5 
     | 
    
         
            +
            before_script:
         
     | 
| 
      
 6 
     | 
    
         
            +
              - mkdir travis-drivers
         
     | 
| 
      
 7 
     | 
    
         
            +
              - export PATH=$PWD/travis-drivers:$PATH
         
     | 
| 
      
 8 
     | 
    
         
            +
              - sh -e /etc/init.d/xvfb start
         
     | 
| 
      
 9 
     | 
    
         
            +
            script:
         
     | 
| 
      
 10 
     | 
    
         
            +
              - |
         
     | 
| 
      
 11 
     | 
    
         
            +
                # https://omahaproxy.appspot.com
         
     | 
| 
      
 12 
     | 
    
         
            +
                # https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/
         
     | 
| 
      
 13 
     | 
    
         
            +
                # CHROME_REVISION=`curl -s http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/LAST_CHANGE`
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  CHROME_REVISION=417841
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  curl -L -O "http://commondatastorage.googleapis.com/chromium-browser-snapshots/Linux_x64/${CHROME_REVISION}/chrome-linux.zip"
         
     | 
| 
      
 18 
     | 
    
         
            +
                  unzip chrome-linux.zip
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  CHROMEDRIVER_VERSION=$(curl -s http://chromedriver.storage.googleapis.com/LATEST_RELEASE)
         
     | 
| 
      
 21 
     | 
    
         
            +
                  curl -L -O "http://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip"
         
     | 
| 
      
 22 
     | 
    
         
            +
                  unzip chromedriver_linux64.zip
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                  mv chromedriver travis-drivers/chromedriver
         
     | 
| 
      
 25 
     | 
    
         
            +
                  chmod +x travis-drivers/chromedriver
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                  bundle exec rake
         
     | 
    
        data/CHANGES.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -1,5 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # WatirDrops
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
            [](http://badge.fury.io/rb/watir_drops)
         
     | 
| 
      
 4 
     | 
    
         
            +
            [](https://travis-ci.org/titusfortner/watir_drops)
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       3 
6 
     | 
    
         
             
            This gem leverages the Watir test framework to allow for easy modeling of specific web application information, 
         
     | 
| 
       4 
7 
     | 
    
         
             
            allowing it to be decoupled from the tests.
         
     | 
| 
       5 
8 
     | 
    
         
             
            The intention is to provide a solution that is easy to use and maintain, while still providing power and flexibility.
         
     | 
| 
         @@ -8,6 +11,38 @@ The intention is to provide a solution that is easy to use and maintain, while s 
     | 
|
| 
       8 
11 
     | 
    
         | 
| 
       9 
12 
     | 
    
         
             
            Create a class that represents a unique page or modal on your site and have it inherit WatirDrops.
         
     | 
| 
       10 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
            Please see [spec/test_page.rb](spec/test_page.rb) for an example.
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            Once you have created the representation of the page, your automated test can manipluate the page object.
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            Please see [spec/watir_drops_spec.rb](spec/watir_drops_spec.rb) for examples.
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            WatirDrops is written to accept several different ways to model test data. 
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            Please see [spec/form_filling_spec.rb](spec/form_filling_spec.rb) for examples.
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            Add this line to your application's Gemfile:
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 29 
     | 
    
         
            +
            gem 'watir_drops'
         
     | 
| 
      
 30 
     | 
    
         
            +
            ```
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
            And then execute:
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                $ bundle
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            Or install it yourself as:
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                $ gem install watir_drops
         
     | 
| 
      
 39 
     | 
    
         
            +
                
         
     | 
| 
      
 40 
     | 
    
         
            +
            To use this library:
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 43 
     | 
    
         
            +
            require 'watir_drops'
         
     | 
| 
      
 44 
     | 
    
         
            +
            ```
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
       11 
46 
     | 
    
         | 
| 
       12 
47 
     | 
    
         
             
            ## Contributing
         
     | 
| 
       13 
48 
     | 
    
         | 
| 
         @@ -17,4 +52,3 @@ Bug reports and pull requests are welcome on [GitHub](https://github.com/titusfo 
     | 
|
| 
       17 
52 
     | 
    
         
             
            ## License
         
     | 
| 
       18 
53 
     | 
    
         | 
| 
       19 
54 
     | 
    
         
             
            The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
         @@ -2,6 +2,7 @@ require 'active_support/inflector' 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            module WatirDrops
         
     | 
| 
       4 
4 
     | 
    
         
             
              class PageObject
         
     | 
| 
      
 5 
     | 
    
         
            +
                include Watir::Waitable
         
     | 
| 
       5 
6 
     | 
    
         | 
| 
       6 
7 
     | 
    
         
             
                class << self
         
     | 
| 
       7 
8 
     | 
    
         | 
| 
         @@ -40,7 +41,6 @@ module WatirDrops 
     | 
|
| 
       40 
41 
     | 
    
         | 
| 
       41 
42 
     | 
    
         
             
                    define_method("#{name}=") do |val|
         
     | 
| 
       42 
43 
     | 
    
         
             
                      watir_element = self.instance_exec &block
         
     | 
| 
       43 
     | 
    
         
            -
                      watir_element.wait_until_present
         
     | 
| 
       44 
44 
     | 
    
         
             
                      case watir_element
         
     | 
| 
       45 
45 
     | 
    
         
             
                      when Watir::Radio
         
     | 
| 
       46 
46 
     | 
    
         
             
                        watir_element.set if val
         
     | 
| 
         @@ -50,10 +50,8 @@ module WatirDrops 
     | 
|
| 
       50 
50 
     | 
    
         
             
                        watir_element.select val
         
     | 
| 
       51 
51 
     | 
    
         
             
                      when Watir::Button
         
     | 
| 
       52 
52 
     | 
    
         
             
                        watir_element.click
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
                        watir_element.wd.clear
         
     | 
| 
       56 
     | 
    
         
            -
                        watir_element.send_keys val
         
     | 
| 
      
 53 
     | 
    
         
            +
                      when Watir::TextField, Watir::TextArea
         
     | 
| 
      
 54 
     | 
    
         
            +
                        watir_element.set val if val
         
     | 
| 
       57 
55 
     | 
    
         
             
                      else
         
     | 
| 
       58 
56 
     | 
    
         
             
                        watir_element.click if val
         
     | 
| 
       59 
57 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -103,12 +101,21 @@ module WatirDrops 
     | 
|
| 
       103 
101 
     | 
    
         
             
                  end
         
     | 
| 
       104 
102 
     | 
    
         
             
                end
         
     | 
| 
       105 
103 
     | 
    
         | 
| 
       106 
     | 
    
         
            -
                def  
     | 
| 
       107 
     | 
    
         
            -
                   
     | 
| 
      
 104 
     | 
    
         
            +
                def inspect
         
     | 
| 
      
 105 
     | 
    
         
            +
                  '#<%s url=%s title=%s>' % [self.class, url.inspect, title.inspect]
         
     | 
| 
       108 
106 
     | 
    
         
             
                end
         
     | 
| 
      
 107 
     | 
    
         
            +
                alias selector_string inspect
         
     | 
| 
       109 
108 
     | 
    
         | 
| 
       110 
     | 
    
         
            -
                def  
     | 
| 
       111 
     | 
    
         
            -
                  browser. 
     | 
| 
      
 109 
     | 
    
         
            +
                def method_missing(method, *args, &block)
         
     | 
| 
      
 110 
     | 
    
         
            +
                  if @browser.respond_to?(method)
         
     | 
| 
      
 111 
     | 
    
         
            +
                    @browser.send(method, *args, &block)
         
     | 
| 
      
 112 
     | 
    
         
            +
                  else
         
     | 
| 
      
 113 
     | 
    
         
            +
                    super
         
     | 
| 
      
 114 
     | 
    
         
            +
                  end
         
     | 
| 
      
 115 
     | 
    
         
            +
                end
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
                def respond_to_missing?(method, _include_all = false)
         
     | 
| 
      
 118 
     | 
    
         
            +
                  @browser.respond_to?(method) || super
         
     | 
| 
       112 
119 
     | 
    
         
             
                end
         
     | 
| 
       113 
120 
     | 
    
         | 
| 
       114 
121 
     | 
    
         
             
              end
         
     | 
    
        data/watir_drops.gemspec
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            Gem::Specification.new do |spec|
         
     | 
| 
       4 
4 
     | 
    
         
             
              spec.name          = 'watir_drops'
         
     | 
| 
       5 
     | 
    
         
            -
              spec.version       = '0.5. 
     | 
| 
      
 5 
     | 
    
         
            +
              spec.version       = '0.5.8'
         
     | 
| 
       6 
6 
     | 
    
         
             
              spec.authors       = ['Titus Fortner']
         
     | 
| 
       7 
7 
     | 
    
         
             
              spec.email         = ['titusfortner@gmail.com']
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
         @@ -16,7 +16,7 @@ application information, allowing it to be decoupled from the tests} 
     | 
|
| 
       16 
16 
     | 
    
         
             
              spec.require_paths = ['lib']
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
              spec.add_runtime_dependency 'activesupport'
         
     | 
| 
       19 
     | 
    
         
            -
              spec.add_runtime_dependency 'watir'
         
     | 
| 
      
 19 
     | 
    
         
            +
              spec.add_runtime_dependency 'watir', '~> 6.0.0'
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              spec.add_development_dependency 'bundler', '~> 1.10'
         
     | 
| 
       22 
22 
     | 
    
         
             
              spec.add_development_dependency 'rake', '~> 10.0'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: watir_drops
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.5. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.5.8
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Titus Fortner
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2016- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2016-12-31 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: activesupport
         
     | 
| 
         @@ -28,16 +28,16 @@ dependencies: 
     | 
|
| 
       28 
28 
     | 
    
         
             
              name: watir
         
     | 
| 
       29 
29 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
     | 
    
         
            -
                - - " 
     | 
| 
      
 31 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version:  
     | 
| 
      
 33 
     | 
    
         
            +
                    version: 6.0.0
         
     | 
| 
       34 
34 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       35 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       38 
     | 
    
         
            -
                - - " 
     | 
| 
      
 38 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version:  
     | 
| 
      
 40 
     | 
    
         
            +
                    version: 6.0.0
         
     | 
| 
       41 
41 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       42 
42 
     | 
    
         
             
              name: bundler
         
     | 
| 
       43 
43 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -132,6 +132,7 @@ extensions: [] 
     | 
|
| 
       132 
132 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       133 
133 
     | 
    
         
             
            files:
         
     | 
| 
       134 
134 
     | 
    
         
             
            - ".gitignore"
         
     | 
| 
      
 135 
     | 
    
         
            +
            - ".travis.yml"
         
     | 
| 
       135 
136 
     | 
    
         
             
            - CHANGES.md
         
     | 
| 
       136 
137 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       137 
138 
     | 
    
         
             
            - LICENSE.txt
         
     | 
| 
         @@ -161,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       161 
162 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       162 
163 
     | 
    
         
             
            requirements: []
         
     | 
| 
       163 
164 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       164 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 165 
     | 
    
         
            +
            rubygems_version: 2.6.8
         
     | 
| 
       165 
166 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       166 
167 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       167 
168 
     | 
    
         
             
            summary: Page Object Framework for use with Watir
         
     |