mediawiki_selenium 0.3.2 → 0.4.0
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 -0
- data/.yardopts +1 -0
- data/README.md +8 -0
- data/lib/mediawiki_selenium/support/env.rb +6 -2
- data/lib/mediawiki_selenium/support/hooks.rb +6 -4
- data/lib/mediawiki_selenium/support/modules/sauce_helper.rb +13 -0
- data/lib/mediawiki_selenium/support/modules/strict_pending.rb +23 -0
- data/lib/mediawiki_selenium/version.rb +1 -1
- data/mediawiki_selenium.gemspec +3 -0
- metadata +33 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4c692019a252a5d2657b99d2d72d06d542dfe8f
|
4
|
+
data.tar.gz: 628e9a09986b6e4e7e54e39199ec1271492ffdcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 096ba74ed2efcc7ed0616b0242aa72f93fa39021ceeb21ee0c6628245e349433bb21567ff6fc477058cbd6f548785ae0edfb38e4b8125649a610e7f6c1217a3e
|
7
|
+
data.tar.gz: 5f29f41550abac61ca15c3c52804ee7ed3266b8cec19e0de11012f94ce483c50e0efa8b96c319dfb2d00a74e6f5dbf9841958e5cee05be16b910088ab4a9feb9
|
data/.gitignore
CHANGED
data/.yardopts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--title "MediaWiki Selenium"
|
data/README.md
CHANGED
@@ -112,12 +112,15 @@ Repositories that use the gem:
|
|
112
112
|
1. ArticleFeedbackv5: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/ArticleFeedbackv5), [GitHub](https://github.com/wikimedia/mediawiki-extensions-ArticleFeedbackv5), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-ArticleFeedbackv5)
|
113
113
|
1. CirrusSearch: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/CirrusSearch), [GitHub](https://github.com/wikimedia/mediawiki-extensions-CirrusSearch), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-CirrusSearch)
|
114
114
|
1. ContentTranslation: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/ContentTranslation), [GitHub](https://github.com/wikimedia/mediawiki-extensions-ContentTranslation), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-ContentTranslation)
|
115
|
+
1. Echo: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Echo), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Echo), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Echo)
|
115
116
|
1. Flow: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Flow), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Flow), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Flow)
|
117
|
+
1. GettingStarted: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/GettingStarted), [GitHub](https://github.com/wikimedia/mediawiki-extensions-GettingStarted), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-GettingStarted)
|
116
118
|
1. Math: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Math), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Math), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Math)
|
117
119
|
1. mediawiki/core: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/core), [GitHub](https://github.com/wikimedia/mediawiki-core), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-core)
|
118
120
|
1. MobileFrontend: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/MobileFrontend), [GitHub](https://github.com/wikimedia/mediawiki-extensions-MobileFrontend), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-MobileFrontend)
|
119
121
|
1. MultimediaViewer: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/MultimediaViewer), [GitHub](https://github.com/wikimedia/mediawiki-extensions-MultimediaViewer), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-MultimediaViewer)
|
120
122
|
1. PageTriage: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/PageTriage), [GitHub](https://github.com/wikimedia/mediawiki-extensions-PageTriage), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-PageTriage)
|
123
|
+
1. PdfHandler: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/PdfHandler), [GitHub](https://github.com/wikimedia/mediawiki-extensions-PdfHandler), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-PdfHandler)
|
121
124
|
1. Translate: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Translate), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Translate), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Translate)
|
122
125
|
1. TwnMainPage: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/TwnMainPage), [GitHub](https://github.com/wikimedia/mediawiki-extensions-TwnMainPage), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-TwnMainPage)
|
123
126
|
1. UniversalLanguageSelector: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/UniversalLanguageSelector), [GitHub](https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-UniversalLanguageSelector)
|
@@ -139,6 +142,11 @@ See https://www.mediawiki.org/wiki/Gerrit
|
|
139
142
|
|
140
143
|
## Release notes
|
141
144
|
|
145
|
+
### 0.4.0 2014-09-23
|
146
|
+
|
147
|
+
* Stricter pending behavior for falsely passing steps
|
148
|
+
* Fixed interoperability of custom browser settings and Sauce sessions
|
149
|
+
|
142
150
|
### 0.3.2 2014-08-26
|
143
151
|
|
144
152
|
* Bumped runtime dependency for mediawiki_api
|
@@ -17,9 +17,13 @@ require "rest_client"
|
|
17
17
|
require "watir-webdriver"
|
18
18
|
|
19
19
|
require "mediawiki_selenium/support/modules/api_helper"
|
20
|
+
require "mediawiki_selenium/support/modules/sauce_helper"
|
21
|
+
require "mediawiki_selenium/support/modules/strict_pending"
|
20
22
|
|
21
23
|
World(PageObject::PageFactory)
|
22
24
|
World(MediawikiSelenium::ApiHelper)
|
25
|
+
World(MediawikiSelenium::SauceHelper)
|
26
|
+
World(MediawikiSelenium::StrictPending)
|
23
27
|
|
24
28
|
def browser(test_name, configuration = nil)
|
25
29
|
if environment == :saucelabs
|
@@ -76,10 +80,10 @@ def local_browser(configuration)
|
|
76
80
|
set_cookie(browser)
|
77
81
|
browser
|
78
82
|
end
|
79
|
-
def sauce_api(json)
|
83
|
+
def sauce_api(json, session_id)
|
80
84
|
RestClient::Request.execute(
|
81
85
|
:method => :put,
|
82
|
-
:url => "https://saucelabs.com/rest/v1/#{ENV['SAUCE_ONDEMAND_USERNAME']}/jobs/#{
|
86
|
+
:url => "https://saucelabs.com/rest/v1/#{ENV['SAUCE_ONDEMAND_USERNAME']}/jobs/#{session_id}",
|
83
87
|
:user => ENV["SAUCE_ONDEMAND_USERNAME"],
|
84
88
|
:password => ENV["SAUCE_ONDEMAND_ACCESS_KEY"],
|
85
89
|
:headers => {:content_type => "application/json"},
|
@@ -64,8 +64,9 @@ Before do |scenario|
|
|
64
64
|
else
|
65
65
|
@browser = browser(test_name(scenario))
|
66
66
|
$browser = @browser # CirrusSearch and VisualEditor need this
|
67
|
-
$session_id = @browser.driver.instance_variable_get(:@bridge).session_id
|
68
67
|
end
|
68
|
+
|
69
|
+
$session_id = sauce_session_id
|
69
70
|
end
|
70
71
|
|
71
72
|
After do |scenario|
|
@@ -80,9 +81,10 @@ After do |scenario|
|
|
80
81
|
end
|
81
82
|
|
82
83
|
if environment == :saucelabs
|
83
|
-
|
84
|
-
sauce_api(%Q{{"
|
85
|
-
sauce_api(%Q{{"
|
84
|
+
sid = $session_id || sauce_session_id
|
85
|
+
sauce_api(%Q{{"passed": #{scenario.passed?}}}, sid)
|
86
|
+
sauce_api(%Q{{"public": true}}, sid)
|
87
|
+
sauce_api(%Q{{"build": #{ENV["BUILD_NUMBER"]}}}, sid) if ENV["BUILD_NUMBER"]
|
86
88
|
end
|
87
89
|
|
88
90
|
if @browser
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module MediawikiSelenium
|
2
|
+
module SauceHelper
|
3
|
+
# The current Sauce session ID.
|
4
|
+
#
|
5
|
+
# @return [String]
|
6
|
+
#
|
7
|
+
def sauce_session_id
|
8
|
+
@session_id ||= @browser.driver.instance_variable_get(:@bridge).session_id if @browser
|
9
|
+
rescue StandardError
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module MediawikiSelenium
|
2
|
+
# Implements a stricter version of `pending` that fails when a given block
|
3
|
+
# of expectations passes, alerting the user that the step definition should
|
4
|
+
# no longer be pending.
|
5
|
+
#
|
6
|
+
module StrictPending
|
7
|
+
class Pending < StandardError
|
8
|
+
end
|
9
|
+
|
10
|
+
# Delegates to Cucumber's pending but re-raises any `Cucumber::Pending`
|
11
|
+
# exception as a strict failure.
|
12
|
+
#
|
13
|
+
def pending(*args)
|
14
|
+
super
|
15
|
+
rescue Cucumber::Pending => e
|
16
|
+
if block_given?
|
17
|
+
raise Pending, e.message
|
18
|
+
else
|
19
|
+
raise e
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/mediawiki_selenium.gemspec
CHANGED
@@ -25,4 +25,7 @@ makes it easy to update the shared code.}
|
|
25
25
|
spec.add_runtime_dependency "rest-client", "~> 1.6", ">= 1.6.7"
|
26
26
|
spec.add_runtime_dependency "rspec-expectations", "~> 2.14", ">= 2.14.4"
|
27
27
|
spec.add_runtime_dependency "syntax", "~> 1.2", ">= 1.2.0"
|
28
|
+
|
29
|
+
spec.add_development_dependency "redcarpet"
|
30
|
+
spec.add_development_dependency "yard"
|
28
31
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediawiki_selenium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris McMahon
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2014-
|
16
|
+
date: 2014-09-23 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: cucumber
|
@@ -169,6 +169,34 @@ dependencies:
|
|
169
169
|
- - ">="
|
170
170
|
- !ruby/object:Gem::Version
|
171
171
|
version: 1.2.0
|
172
|
+
- !ruby/object:Gem::Dependency
|
173
|
+
name: redcarpet
|
174
|
+
requirement: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ">="
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
type: :development
|
180
|
+
prerelease: false
|
181
|
+
version_requirements: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
- !ruby/object:Gem::Dependency
|
187
|
+
name: yard
|
188
|
+
requirement: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
193
|
+
type: :development
|
194
|
+
prerelease: false
|
195
|
+
version_requirements: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
172
200
|
description: |-
|
173
201
|
Several MediaWiki extensions share code that makes it easy to run Selenium tests. This gem
|
174
202
|
makes it easy to update the shared code.
|
@@ -185,6 +213,7 @@ extra_rdoc_files: []
|
|
185
213
|
files:
|
186
214
|
- ".gitignore"
|
187
215
|
- ".gitreview"
|
216
|
+
- ".yardopts"
|
188
217
|
- CREDITS
|
189
218
|
- Gemfile
|
190
219
|
- LICENSE
|
@@ -198,6 +227,8 @@ files:
|
|
198
227
|
- lib/mediawiki_selenium/support/env.rb
|
199
228
|
- lib/mediawiki_selenium/support/hooks.rb
|
200
229
|
- lib/mediawiki_selenium/support/modules/api_helper.rb
|
230
|
+
- lib/mediawiki_selenium/support/modules/sauce_helper.rb
|
231
|
+
- lib/mediawiki_selenium/support/modules/strict_pending.rb
|
201
232
|
- lib/mediawiki_selenium/support/modules/url_module.rb
|
202
233
|
- lib/mediawiki_selenium/support/pages/api_page.rb
|
203
234
|
- lib/mediawiki_selenium/support/pages/login_page.rb
|