mediawiki_selenium 1.6.3 → 1.6.4
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/README.md +10 -29
- data/RELEASES.md +4 -0
- data/UPGRADE.md +4 -2
- data/lib/mediawiki_selenium.rb +1 -0
- data/lib/mediawiki_selenium/cucumber/embed_browser_session.rb +18 -0
- data/lib/mediawiki_selenium/cucumber/env.rb +1 -0
- data/lib/mediawiki_selenium/cucumber/sauce.rb +15 -4
- data/lib/mediawiki_selenium/remote_browser_factory.rb +19 -28
- data/lib/mediawiki_selenium/version.rb +1 -1
- data/mediawiki_selenium.gemspec +1 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ccc71f5c503fa3584924d25edd822abfeeb12f3b
|
4
|
+
data.tar.gz: 31f7478f1fc2748f507c63430a6f2674828726f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7569d7793812924083b35cf74c0dc53c96e620ecd6ee376b1f82049d36cbd4e0acbea561c64161fd1f460d99e861bcedabd9575e1fa185c4a755075b15548db7
|
7
|
+
data.tar.gz: ba8f9c33ed6b3e0a4a25be14dea34ea881fd0353df65096fd80881ccd88b6b89787de9a1a7c65d38d0e3d95a40c9c3fe99efcd440188271db8793a073da4a702
|
data/README.md
CHANGED
@@ -36,8 +36,9 @@ Windows.
|
|
36
36
|
Create a `Gemfile` in the root of your MediaWiki-related project that
|
37
37
|
specifies the version of `mediawiki_selenium` you wish to use (typically the
|
38
38
|
latest version).
|
39
|
+
Replace `x.x.x` with version number from `lib/mediawiki_selenium/version.rb`.
|
39
40
|
|
40
|
-
gem 'mediawiki_selenium', '~>
|
41
|
+
gem 'mediawiki_selenium', '~> x.x.x'
|
41
42
|
|
42
43
|
Install the gem and its dependencies by running `bundle install`. (If
|
43
44
|
[Bundler](http://bundler.io/) is not yet installed, install it with
|
@@ -232,7 +233,7 @@ When you're ready to cut a new release, increase the major/minor/patch version (
|
|
232
233
|
- Bug fixes
|
233
234
|
- Possible incompatibilities
|
234
235
|
|
235
|
-
Update gem version in `
|
236
|
+
Update gem version in `lib/mediawiki_selenium/version.rb`. Add release notes to `RELEASES.md`.
|
236
237
|
|
237
238
|
### Step 2
|
238
239
|
|
@@ -249,35 +250,15 @@ When the commit is merged into master branch, fetch it and verify the commit is
|
|
249
250
|
|
250
251
|
### Step 4
|
251
252
|
|
252
|
-
|
253
|
+
This assumes you have working Ruby, RubyGems, RubyGems.org account and are an owner of the gem at the site.
|
253
254
|
|
254
|
-
|
255
|
-
$ git log --oneline --decorate
|
256
|
-
123abcd (HEAD, origin/master, origin/HEAD, master, T108873) Release minor version 1.5.1
|
257
|
-
...
|
258
|
-
$ git tag 1.5.1 123abcd
|
259
|
-
$ git push --tags
|
260
|
-
|
261
|
-
### Step 5
|
262
|
-
|
263
|
-
Build the gem, for example:
|
264
|
-
|
265
|
-
$ gem build mediawiki_selenium.gemspec
|
266
|
-
Successfully built RubyGem
|
267
|
-
Name: mediawiki_selenium
|
268
|
-
Version: 1.5.1
|
269
|
-
File: mediawiki_selenium-1.5.1.gem
|
270
|
-
|
271
|
-
The above gem assumes you have working Ruby and RubyGems.
|
272
|
-
|
273
|
-
### Step 6
|
274
|
-
|
275
|
-
Push the gem to RubyGems.org, for example:
|
276
|
-
|
277
|
-
$ gem push mediawiki_selenium-1.5.1.gem
|
278
|
-
...
|
255
|
+
Release the gem:
|
279
256
|
|
280
|
-
|
257
|
+
$ bundle exec rake release
|
258
|
+
mediawiki_selenium x.x.x built to pkg/mediawiki_selenium-x.x.x.gem.
|
259
|
+
Tagged vx.x.x.
|
260
|
+
Pushed git commits and tags.
|
261
|
+
Pushed mediawiki_selenium x.x.x to rubygems.org.
|
281
262
|
|
282
263
|
### Step 7
|
283
264
|
|
data/RELEASES.md
CHANGED
data/UPGRADE.md
CHANGED
@@ -9,8 +9,9 @@ in the root directory of your project.
|
|
9
9
|
|
10
10
|
First, update the `Gemfile` in your project's root directory to specify the
|
11
11
|
new version.
|
12
|
+
Replace `x.x.x` with version number from `lib/mediawiki_selenium/version.rb`.
|
12
13
|
|
13
|
-
gem 'mediawiki_selenium', '~>
|
14
|
+
gem 'mediawiki_selenium', '~> x.x.x'
|
14
15
|
|
15
16
|
### Update `require` paths in `env.rb`
|
16
17
|
|
@@ -36,8 +37,9 @@ if they don't apply to your test cases. The only must have is the first
|
|
36
37
|
|
37
38
|
First, update the `Gemfile` in your project's root directory to specify the
|
38
39
|
new version.
|
40
|
+
Replace `x.x.x` with version number from `lib/mediawiki_selenium/version.rb`.
|
39
41
|
|
40
|
-
gem 'mediawiki_selenium', '~>
|
42
|
+
gem 'mediawiki_selenium', '~> x.x.x'
|
41
43
|
|
42
44
|
### Upgrade gems and dependencies
|
43
45
|
|
data/lib/mediawiki_selenium.rb
CHANGED
@@ -4,6 +4,7 @@ module MediawikiSelenium
|
|
4
4
|
autoload :BrowserFactory, 'mediawiki_selenium/browser_factory'
|
5
5
|
autoload :ConfigurationError, 'mediawiki_selenium/configuration_error'
|
6
6
|
autoload :Environment, 'mediawiki_selenium/environment'
|
7
|
+
autoload :EmbedBrowserSession, 'mediawiki_selenium/cucumber/embed_browser_session'
|
7
8
|
autoload :HeadlessHelper, 'mediawiki_selenium/helpers/headless_helper'
|
8
9
|
autoload :Initializer, 'mediawiki_selenium/initializer'
|
9
10
|
autoload :LoginHelper, 'mediawiki_selenium/helpers/login_helper'
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module MediawikiSelenium
|
2
|
+
# Embeds the browser session upon creation into the active Cucumber logger.
|
3
|
+
#
|
4
|
+
module EmbedBrowserSession
|
5
|
+
# Embeds the browser session into the active Cucumber logger(s) as soon as
|
6
|
+
# {Environment} is done creating it. Note that the
|
7
|
+
# 'application/vnd.webdriver-session-id' MIME used for the embedding is
|
8
|
+
# made up for this purpose.
|
9
|
+
#
|
10
|
+
# @see Environment#browser
|
11
|
+
#
|
12
|
+
def browser
|
13
|
+
super.tap do |b|
|
14
|
+
embed(b.driver.session_id, 'application/vnd.webdriver-session-id')
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -1,17 +1,28 @@
|
|
1
1
|
require 'cucumber/formatter/junit'
|
2
2
|
require 'mediawiki_selenium/remote_browser_factory'
|
3
|
+
require 'set'
|
3
4
|
|
4
5
|
module Cucumber::Formatter
|
5
6
|
class Sauce < Junit
|
7
|
+
def before_steps(_steps)
|
8
|
+
@sids = Set.new
|
9
|
+
|
10
|
+
super
|
11
|
+
end
|
12
|
+
|
13
|
+
def embed(session_id, mime, _label)
|
14
|
+
return unless mime == 'application/vnd.webdriver-session-id'
|
15
|
+
|
16
|
+
@sids << session_id
|
17
|
+
end
|
18
|
+
|
6
19
|
private
|
7
20
|
|
8
21
|
def format_exception(exception)
|
9
|
-
sids
|
10
|
-
|
11
|
-
if sids.nil? || sids.empty?
|
22
|
+
if @sids.nil? || @sids.empty?
|
12
23
|
message = 'Uh-oh. Could not find link to Sauce Labs job URL.'
|
13
24
|
else
|
14
|
-
message = sids.map { |sid| "Sauce Labs job URL: http://saucelabs.com/jobs/#{sid}\n" }.join
|
25
|
+
message = @sids.map { |sid| "Sauce Labs job URL: http://saucelabs.com/jobs/#{sid}\n" }.join
|
15
26
|
end
|
16
27
|
|
17
28
|
msgs = [message] + ["#{exception.message} (#{exception.class})"] + exception.backtrace
|
@@ -16,37 +16,32 @@ module MediawikiSelenium
|
|
16
16
|
REQUIRED_CONFIG = [:sauce_ondemand_username, :sauce_ondemand_access_key]
|
17
17
|
URL = 'http://ondemand.saucelabs.com/wd/hub'
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
attr_accessor :last_session_ids
|
19
|
+
def self.extend_object(base)
|
20
|
+
return if base.is_a?(self)
|
22
21
|
|
23
|
-
|
24
|
-
return if base.is_a?(self)
|
22
|
+
super
|
25
23
|
|
26
|
-
|
24
|
+
base.configure(:sauce_ondemand_username, :sauce_ondemand_access_key) do |user, key, options|
|
25
|
+
options[:url] = URI.parse(URL)
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
options[:url].user = user
|
32
|
-
options[:url].password = key
|
33
|
-
end
|
27
|
+
options[:url].user = user
|
28
|
+
options[:url].password = key
|
29
|
+
end
|
34
30
|
|
35
|
-
|
36
|
-
|
37
|
-
|
31
|
+
base.configure(:platform) do |platform, options|
|
32
|
+
options[:desired_capabilities].platform = platform
|
33
|
+
end
|
38
34
|
|
39
|
-
|
40
|
-
|
41
|
-
|
35
|
+
base.configure(:version) do |version, options|
|
36
|
+
options[:desired_capabilities].version = version
|
37
|
+
end
|
42
38
|
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
base.configure(:device_name) do |device_name, options|
|
40
|
+
options[:desired_capabilities]['deviceName'] = device_name
|
41
|
+
end
|
46
42
|
|
47
|
-
|
48
|
-
|
49
|
-
end
|
43
|
+
base.configure(:device_orientation) do |device_orientation, options|
|
44
|
+
options[:desired_capabilities]['deviceOrientation'] = device_orientation
|
50
45
|
end
|
51
46
|
end
|
52
47
|
|
@@ -55,8 +50,6 @@ module MediawikiSelenium
|
|
55
50
|
def teardown(env, status)
|
56
51
|
artifacts = super
|
57
52
|
|
58
|
-
RemoteBrowserFactory.last_session_ids = []
|
59
|
-
|
60
53
|
each do |browser|
|
61
54
|
sid = browser.driver.session_id
|
62
55
|
username = env.lookup(:sauce_ondemand_username)
|
@@ -75,8 +68,6 @@ module MediawikiSelenium
|
|
75
68
|
}.to_json
|
76
69
|
)
|
77
70
|
|
78
|
-
RemoteBrowserFactory.last_session_ids << sid
|
79
|
-
|
80
71
|
artifacts["http://saucelabs.com/jobs/#{sid}"] = 'text/url'
|
81
72
|
end
|
82
73
|
|
data/mediawiki_selenium.gemspec
CHANGED
@@ -38,6 +38,7 @@ Gem::Specification.new do |spec|
|
|
38
38
|
spec.add_runtime_dependency 'syntax', '~> 1.2', '>= 1.2.0'
|
39
39
|
spec.add_runtime_dependency 'thor', '~> 0.19', '>= 0.19.1'
|
40
40
|
|
41
|
+
spec.add_development_dependency 'rake', '~> 10.5'
|
41
42
|
spec.add_development_dependency 'bundler', '~> 1.6', '>= 1.6.3'
|
42
43
|
spec.add_development_dependency 'yard', '~> 0.8', '>= 0.8.7.4'
|
43
44
|
spec.add_development_dependency 'redcarpet', '~> 3.2', '>= 3.2.0'
|
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: 1.6.
|
4
|
+
version: 1.6.4
|
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:
|
16
|
+
date: 2016-01-27 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: cucumber
|
@@ -209,6 +209,20 @@ dependencies:
|
|
209
209
|
- - ">="
|
210
210
|
- !ruby/object:Gem::Version
|
211
211
|
version: 0.19.1
|
212
|
+
- !ruby/object:Gem::Dependency
|
213
|
+
name: rake
|
214
|
+
requirement: !ruby/object:Gem::Requirement
|
215
|
+
requirements:
|
216
|
+
- - "~>"
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: '10.5'
|
219
|
+
type: :development
|
220
|
+
prerelease: false
|
221
|
+
version_requirements: !ruby/object:Gem::Requirement
|
222
|
+
requirements:
|
223
|
+
- - "~>"
|
224
|
+
- !ruby/object:Gem::Version
|
225
|
+
version: '10.5'
|
212
226
|
- !ruby/object:Gem::Dependency
|
213
227
|
name: bundler
|
214
228
|
requirement: !ruby/object:Gem::Requirement
|
@@ -358,6 +372,7 @@ files:
|
|
358
372
|
- lib/mediawiki_selenium/browser_factory/phantomjs.rb
|
359
373
|
- lib/mediawiki_selenium/configuration_error.rb
|
360
374
|
- lib/mediawiki_selenium/cucumber.rb
|
375
|
+
- lib/mediawiki_selenium/cucumber/embed_browser_session.rb
|
361
376
|
- lib/mediawiki_selenium/cucumber/env.rb
|
362
377
|
- lib/mediawiki_selenium/cucumber/hooks.rb
|
363
378
|
- lib/mediawiki_selenium/cucumber/sauce.rb
|