mediawiki_selenium 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []