@@ -226,37 +226,23 @@ Reset after each test and when done report the result to Sauce after quiting the
226
226
``` ruby
227
227
require ' rest_client' # https://github.com/archiloque/rest-client
228
228
require ' json' # for .to_json
229
-
230
- $passed = true
229
+ require ' sauce_whisk'
231
230
232
231
After do |scenario |
233
232
# Reset scenario unless the feature was tagged @keep
234
- $driver .execute_script ' mobile: reset' unless scenario.feature.source_tag_names.include? ' @keep'
233
+ $driver .reset unless scenario.feature.source_tag_names.include? ' @keep'
235
234
236
- if $passed
237
- $passed = false if scenario.failed?
238
- end
235
+ $passed = ! scenario.failed?
239
236
end
240
237
241
238
at_exit do
242
- # selenium-webdriver (2.32.1) or better can use
243
- # $driver.driver.session_id
244
- ID = $driver .driver.send(:bridge ).session_id
239
+ # end the test session, ignoring any exceptions.
240
+ ignore { $driver .driver_quit }
245
241
246
- # end the test session. move on after 10 seconds.
247
- ignore { wait(10 ) { $driver .x } }
248
-
249
- if ! SAUCE_USERNAME .nil? && ! SAUCE_ACCESS_KEY .nil?
250
- URL = " https://#{ SAUCE_USERNAME } :#{ SAUCE_ACCESS_KEY } @saucelabs.com/rest/v1/#{ SAUCE_USERNAME } /jobs/#{ ID } "
251
-
252
- # Keep trying until passed is set correctly. Give up after 30 seconds.
253
- wait_true do
254
- response = RestClient .put URL , { ' passed' => $passed }.to_json, :content_type => :json , :accept => :json
255
- response = JSON .parse(response)
256
-
257
- # Check that the server responded with the right value.
258
- response[' passed' ] == $passed
259
- end
242
+ user = ENV [' SAUCE_USERNAME' ]
243
+ key = ENV [' SAUCE_ACCESS_KEY' ]
244
+ if user && ! user.empty? && key && ! key.empty?
245
+ SauceWhisk ::Jobs .change_status $driver .driver.session_id, $passed
260
246
end
261
247
end
262
248
```
0 commit comments