gridium 0.2.2 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fa53796b32752f73131f570064f809f00b36a88e
4
- data.tar.gz: 34520a57779e259536f90e1e3b24ada51300d910
3
+ metadata.gz: c5b97b15990a724513d715ccb5e84c83078bee0b
4
+ data.tar.gz: e49dc32244857906d0f321a04d254eacc96887d4
5
5
  SHA512:
6
- metadata.gz: 4930494ce2ef104a66f3d7db02ec1c4fe71c7af813a8c9302a9b4c421a9e48209bc07755b9950f26147a901625739446d357dd3835d810b573980e86942894ad
7
- data.tar.gz: e2a3a6dcc023cfb15a0492696f33af1b5a02be824c4e1eba2b7e19fee54c86e24d18fd387deccfbde5317f463d6f6443cbb1a7162c7a48e3e4ab14481f301e5e
6
+ metadata.gz: 23e6df5a7e7e18bf49181af7fcde59a19420c1d75bc96f29b3bff1847c70745d8d9f56fa4b13b3cdeecd0caf69d901f3de37cb3fecc859c0c05c5c03f38f8f38
7
+ data.tar.gz: fdfc5ad5f910a07a4395707db65d4f165fef6667f660894098595869c0d99638f828bd4bd11b1b870fc426587583f3c030ed3d6bc684c3680be9fb48887abdbb
data/README.md CHANGED
@@ -146,7 +146,33 @@ $errors_total = 0
146
146
  Spec_data.load_suite_state
147
147
  Spec_data.load_spec_state
148
148
  ```
149
+ ##Saving screenshots to S3
149
150
 
151
+ S3 support is available for persisting screenshots online. This is especially helpful when running tests in CI and/or Docker environments.
152
+
153
+ #### 1. Setup environment variables
154
+ ```
155
+ export S3_ACCESS_KEY_ID="your access key"
156
+ export S3_SECRET_ACCESS_KEY="your secret access key"
157
+ export S3_DEFAULT_REGION="your region"
158
+ export S3_ROOT_BUCKET="your root bucket"
159
+ ```
160
+ #### 2. Setup spec_helper file
161
+
162
+ ```
163
+ #inside Gridium.configure do |config|
164
+ config.screenshots_to_s3 = true
165
+ config.project_name_for_s3 = 'name the folder below the root bucket'
166
+ config.subdirectory_name_for_s3 = 'name for folder just below that, probably dynamic to mitigate ginormous directories'
167
+
168
+ ```
169
+
170
+ #### 3. Integrate into a test
171
+ ```
172
+ Driver.visit('https://the-internet.herokuapp.com/')
173
+ driver.save_screenshot()
174
+ #based on your needs, choose how to publish this screenshot to your interested parties
175
+ ```
150
176
  ## Page Objects
151
177
 
152
178
  Page objects are required for Gridium. Page objects abstract the functionality of the page away from the test. There's a million reasons why page objects are the way to go. Not the least of all is that it helps you maintain your tests.
data/lib/element.rb CHANGED
@@ -151,6 +151,17 @@ class Element
151
151
  end
152
152
  end
153
153
 
154
+ # Raw webdriver mouse over
155
+ def mouse_over
156
+ Log.debug("Triggering mouse over for (#{self.to_s})...")
157
+ if element.enabled?
158
+ $verification_passes += 1
159
+ ElementExtensions.mouse_over(self)
160
+ else
161
+ Log.error('Cannot mouse over. Element is not present.')
162
+ end
163
+ end
164
+
154
165
  def scroll_into_view
155
166
  if element.enabled?
156
167
  $verification_passes += 1
@@ -160,6 +171,16 @@ class Element
160
171
  end
161
172
  end
162
173
 
174
+ def trigger_onblur
175
+ Log.debug("Triggering onblur for (#{self.to_s})...")
176
+ if element.enabled?
177
+ $verification_passes += 1
178
+ ElementExtensions.trigger_onblur(self)
179
+ else
180
+ Log.error('Cannot trigger onblur. Element is not present.')
181
+ end
182
+ end
183
+
163
184
  def size
164
185
  element.size
165
186
  end
@@ -27,4 +27,12 @@ class Gridium::ElementExtensions
27
27
  Driver.execute_script("var evObj = document.createEvent('MouseEvents'); evObj.initMouseEvent(\"mouseout\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); arguments[0].dispatchEvent(evObj);", element.element)
28
28
  sleep 1
29
29
  end
30
- end
30
+
31
+ def self.mouse_over(element)
32
+ Driver.driver.mouse.move_to(element.element)
33
+ end
34
+
35
+ def self.trigger_onblur(element)
36
+ Driver.execute_script("arguments[0].focus(); arguments[0].blur(); return true", element.element)
37
+ end
38
+ end
@@ -1,3 +1,3 @@
1
1
  module Gridium
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gridium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seth Urban
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-14 00:00:00.000000000 Z
11
+ date: 2016-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler