mediawiki_selenium 0.2.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.
@@ -0,0 +1,38 @@
1
+ =begin
2
+ This file is subject to the license terms in the LICENSE file found in the
3
+ mediawiki-selenium top-level directory and at
4
+ https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/LICENSE. No part of
5
+ mediawiki-selenium, including this file, may be copied, modified, propagated, or
6
+ distributed except according to the terms contained in the LICENSE file.
7
+ Copyright 2013 by the Mediawiki developers. See the CREDITS file in the
8
+ mediawiki-selenium top-level directory and at
9
+ https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/CREDITS.
10
+ =end
11
+
12
+ Before("@login") do
13
+ ENV["MEDIAWIKI_PASSWORD"] = ENV[ENV["MEDIAWIKI_PASSWORD_VARIABLE"]] if ENV["MEDIAWIKI_PASSWORD_VARIABLE"]
14
+ puts "MEDIAWIKI_USER environment variable is not defined! Please export a value for that variable before proceeding." unless ENV["MEDIAWIKI_USER"]
15
+ puts "MEDIAWIKI_PASSWORD environment variable is not defined! Please export a value for that variable before proceeding." unless ENV["MEDIAWIKI_PASSWORD"]
16
+ end
17
+
18
+ Before do |scenario|
19
+ @random_string = Random.new.rand.to_s
20
+ if ENV["REUSE_BROWSER"] == "true" and $browser # CirrusSearch and VisualEditor need this
21
+ @browser = $browser
22
+ else
23
+ unless @language or @user_agent # only UniversalLanguageSelector needs @language, only MobileFrontend needs @user_agent
24
+ @browser = browser(environment, test_name(scenario), "default")
25
+ $browser = @browser # CirrusSearch and VisualEditor need this
26
+ $session_id = @browser.driver.instance_variable_get(:@bridge).session_id
27
+ end
28
+ end
29
+ end
30
+
31
+ After do |scenario|
32
+ if environment == :saucelabs
33
+ sauce_api(%Q{{"passed": #{scenario.passed?}}})
34
+ sauce_api(%Q{{"public": true}})
35
+ sauce_api(%Q{{"build": #{ENV["BUILD_NUMBER"]}}}) if ENV["BUILD_NUMBER"]
36
+ end
37
+ @browser.close unless ENV["KEEP_BROWSER_OPEN"] == "true" or ENV["REUSE_BROWSER"] == "true" # CirrusSearch and VisualEditor need this
38
+ end
@@ -0,0 +1,28 @@
1
+ =begin
2
+ This file is subject to the license terms in the LICENSE file found in the
3
+ mediawiki-selenium top-level directory and at
4
+ https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/LICENSE. No part of
5
+ mediawiki-selenium, including this file, may be copied, modified, propagated, or
6
+ distributed except according to the terms contained in the LICENSE file.
7
+ Copyright 2013 by the Mediawiki developers. See the CREDITS file in the
8
+ mediawiki-selenium top-level directory and at
9
+ https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/CREDITS.
10
+ =end
11
+
12
+ require "cucumber/formatter/junit"
13
+
14
+ module Cucumber::Formatter
15
+ class Sauce < Junit
16
+
17
+ private
18
+
19
+ def format_exception(exception)
20
+ if $session_id
21
+ sauce_job_page = "Sauce Labs job URL: http://saucelabs.com/jobs/#{$session_id}\n"
22
+ else
23
+ sauce_job_page = "Uh-oh. Could not find link to Sauce Labs job URL."
24
+ end
25
+ ([sauce_job_page] + ["#{exception.message} (#{exception.class})"] + exception.backtrace).join("\n")
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,14 @@
1
+ =begin
2
+ This file is subject to the license terms in the LICENSE file found in the
3
+ mediawiki-selenium top-level directory and at
4
+ https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/LICENSE. No part of
5
+ mediawiki-selenium, including this file, may be copied, modified, propagated, or
6
+ distributed except according to the terms contained in the LICENSE file.
7
+ Copyright 2013 by the Mediawiki developers. See the CREDITS file in the
8
+ mediawiki-selenium top-level directory and at
9
+ https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/CREDITS.
10
+ =end
11
+
12
+ module MediawikiSelenium
13
+ VERSION = "0.2.0"
14
+ end
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'mediawiki_selenium/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "mediawiki_selenium"
8
+ spec.version = MediawikiSelenium::VERSION
9
+ spec.authors = ["Chris McMahon", "Jeff Hall", "Nikolas Everett", "Tobias Gritschacher", "Željko Filipin"]
10
+ spec.email = ["cmcmahon@wikimedia.org", "jhall@wikimedia.org", "neverett@wikimedia.org", "tobias.gritschacher@wikimedia.de", "zeljko.filipin@gmail.com"]
11
+ spec.description = %q{Several MediaWiki extensions share code that makes it easy to run Selenium tests. This gem
12
+ makes it easy to update the shared code.}
13
+ spec.summary = %q{An easy way to run MediaWiki Selenium tests.}
14
+ spec.homepage = "https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/selenium"
15
+ spec.license = "GPL-2"
16
+
17
+ spec.files = `git ls-files`.split($/)
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_runtime_dependency "cucumber", "~> 1.3.10"
21
+ spec.add_runtime_dependency "headless", "~> 1.0.1"
22
+ spec.add_runtime_dependency "json", "~> 1.8.1"
23
+ spec.add_runtime_dependency "net-http-persistent", "~> 2.9.1"
24
+ spec.add_runtime_dependency "page-object", "~> 0.9.5"
25
+ spec.add_runtime_dependency "rest-client", "~> 1.6.7"
26
+ spec.add_runtime_dependency "rspec-expectations", "~> 2.14.4"
27
+ spec.add_runtime_dependency "syntax", "~> 1.2.0"
28
+ end
metadata ADDED
@@ -0,0 +1,183 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mediawiki_selenium
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Chris McMahon
8
+ - Jeff Hall
9
+ - Nikolas Everett
10
+ - Tobias Gritschacher
11
+ - "Željko Filipin"
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+ date: 2014-02-07 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: cucumber
19
+ requirement: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "~>"
22
+ - !ruby/object:Gem::Version
23
+ version: 1.3.10
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: 1.3.10
31
+ - !ruby/object:Gem::Dependency
32
+ name: headless
33
+ requirement: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - "~>"
36
+ - !ruby/object:Gem::Version
37
+ version: 1.0.1
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - "~>"
43
+ - !ruby/object:Gem::Version
44
+ version: 1.0.1
45
+ - !ruby/object:Gem::Dependency
46
+ name: json
47
+ requirement: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: 1.8.1
52
+ type: :runtime
53
+ prerelease: false
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: 1.8.1
59
+ - !ruby/object:Gem::Dependency
60
+ name: net-http-persistent
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - "~>"
64
+ - !ruby/object:Gem::Version
65
+ version: 2.9.1
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: 2.9.1
73
+ - !ruby/object:Gem::Dependency
74
+ name: page-object
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 0.9.5
80
+ type: :runtime
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - "~>"
85
+ - !ruby/object:Gem::Version
86
+ version: 0.9.5
87
+ - !ruby/object:Gem::Dependency
88
+ name: rest-client
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "~>"
92
+ - !ruby/object:Gem::Version
93
+ version: 1.6.7
94
+ type: :runtime
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: 1.6.7
101
+ - !ruby/object:Gem::Dependency
102
+ name: rspec-expectations
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - "~>"
106
+ - !ruby/object:Gem::Version
107
+ version: 2.14.4
108
+ type: :runtime
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - "~>"
113
+ - !ruby/object:Gem::Version
114
+ version: 2.14.4
115
+ - !ruby/object:Gem::Dependency
116
+ name: syntax
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - "~>"
120
+ - !ruby/object:Gem::Version
121
+ version: 1.2.0
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: 1.2.0
129
+ description: |-
130
+ Several MediaWiki extensions share code that makes it easy to run Selenium tests. This gem
131
+ makes it easy to update the shared code.
132
+ email:
133
+ - cmcmahon@wikimedia.org
134
+ - jhall@wikimedia.org
135
+ - neverett@wikimedia.org
136
+ - tobias.gritschacher@wikimedia.de
137
+ - zeljko.filipin@gmail.com
138
+ executables: []
139
+ extensions: []
140
+ extra_rdoc_files: []
141
+ files:
142
+ - ".gitreview"
143
+ - CREDITS
144
+ - LICENSE
145
+ - README.md
146
+ - docs/UploadWizard.md
147
+ - docs/jenkins-email.template
148
+ - docs/jenkins.md
149
+ - docs/job.md
150
+ - docs/jobs.md
151
+ - docs/template.md
152
+ - docs/view.md
153
+ - lib/mediawiki_selenium.rb
154
+ - lib/mediawiki_selenium/env.rb
155
+ - lib/mediawiki_selenium/hooks.rb
156
+ - lib/mediawiki_selenium/sauce.rb
157
+ - lib/mediawiki_selenium/version.rb
158
+ - mediawiki_selenium.gemspec
159
+ homepage: https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/selenium
160
+ licenses:
161
+ - GPL-2
162
+ metadata: {}
163
+ post_install_message:
164
+ rdoc_options: []
165
+ require_paths:
166
+ - lib
167
+ required_ruby_version: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ required_rubygems_version: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ requirements: []
178
+ rubyforge_project:
179
+ rubygems_version: 2.2.2
180
+ signing_key:
181
+ specification_version: 4
182
+ summary: An easy way to run MediaWiki Selenium tests.
183
+ test_files: []