mediawiki_selenium 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -7
- data/docs/job.md +1 -1
- data/docs/jobs.md +25 -24
- data/docs/template.md +4 -13
- data/lib/mediawiki_selenium/support/env.rb +17 -54
- data/lib/mediawiki_selenium/support/hooks.rb +5 -9
- data/lib/mediawiki_selenium/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee99172f7f9d82c758784d478f8625a4da70da6d
|
4
|
+
data.tar.gz: c6dd15b10dc2459bb1cad21c94fbbc1fcc3b7350
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 848bdc8e955e9c7feb557be58427f657e15b8e9aef49bf06b0ff44d3b2024a538445db2a5d02cda6a87991283a8e0f4dd1ff335d7c7a595cbc82ea598b00fcff
|
7
|
+
data.tar.gz: 657777516a2640f399671d905219cea20e9e5f893279cd0289df0ef001c55f70e9c565759a97131d1e1c08f3bf46d1a4e4149fa579c2db7b93e05ac483731a37
|
data/README.md
CHANGED
@@ -37,10 +37,10 @@ To run a single test file enter `bundle exec cucumber features/FEATURE_NAME.feat
|
|
37
37
|
|
38
38
|
To run a single test scenario, put a colon and the line number (NN) on which the scenario begins after the file name: `bundle exec cucumber features/FEATURE_NAME.feature:NN`.
|
39
39
|
|
40
|
-
You can use a different browser with the
|
40
|
+
You can use a different browser with the `BROWSER` env variable, the fastest is probably PhantomJS, a headless browser:
|
41
41
|
|
42
|
-
export
|
43
|
-
set
|
42
|
+
export BROWSER=phantomjs # Linux/Unix/Mac
|
43
|
+
set BROWSER=phantomjs # Windows
|
44
44
|
|
45
45
|
By default, the browser will close itself at the end of every scenario. If you want the browser to stay open, set the environment variable `KEEP_BROWSER_OPEN` to `true`:
|
46
46
|
|
@@ -77,10 +77,9 @@ Repositories that use the gem:
|
|
77
77
|
6. Translate: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Translate), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Translate), [Jenkins](https://wmf.ci.cloudbees.com/view/r-tr/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Translate)
|
78
78
|
7. TwnMainPage: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/TwnMainPage), [GitHub](https://github.com/wikimedia/mediawiki-extensions-TwnMainPage), [Jenkins](https://wmf.ci.cloudbees.com/view/r-tw/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-TwnMainPage)
|
79
79
|
8. UniversalLanguageSelector: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/UniversalLanguageSelector), [GitHub](https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector), [Jenkins](https://wmf.ci.cloudbees.com/view/r-uls/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-UniversalLanguageSelector)
|
80
|
-
9.
|
81
|
-
10.
|
82
|
-
11.
|
83
|
-
12. browsertests: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/qa/browsertests), [GitHub](https://github.com/wikimedia/qa-browsertests), [Jenkins](https://wmf.ci.cloudbees.com/view/r-bt/), [Code Climate](https://codeclimate.com/github/wikimedia/qa-browsertests)
|
80
|
+
9. VisualEditor: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/VisualEditor), [GitHub](https://github.com/wikimedia/mediawiki-extensions-VisualEditor), [Jenkins](https://wmf.ci.cloudbees.com/view/r-ve/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-VisualEditor), `/modules/ve-mw/test/browser` folder
|
81
|
+
10. Wikibase: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Wikibase), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Wikibase), [Jenkins](https://wikidata-cloudbees.ci.cloudbees.com/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Wikibase)
|
82
|
+
11. browsertests: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/qa/browsertests), [GitHub](https://github.com/wikimedia/qa-browsertests), [Jenkins](https://wmf.ci.cloudbees.com/view/r-bt/), [Code Climate](https://codeclimate.com/github/wikimedia/qa-browsertests)
|
84
83
|
|
85
84
|
## Contributing
|
86
85
|
|
data/docs/job.md
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
export MEDIAWIKI_USER=${MEDIAWIKI_USER}
|
15
15
|
export MEDIAWIKI_PASSWORD_VARIABLE=${MEDIAWIKI_PASSWORD_VARIABLE}
|
16
16
|
|
17
|
-
export
|
17
|
+
export BROWSER=${browser}
|
18
18
|
export MEDIAWIKI_URL=http://${MEDIAWIKI_URL}/wiki/
|
19
19
|
|
20
20
|
curl -s -o use-ruby https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/ruby/use-ruby
|
data/docs/jobs.md
CHANGED
@@ -17,6 +17,25 @@
|
|
17
17
|
- MediaWiki user: Selenium_user
|
18
18
|
|
19
19
|
|
20
|
+
# browsertests-commons.wikimedia.beta.wmflabs.org
|
21
|
+
- MediaWiki URL: commons.wikimedia.beta.wmflabs.org
|
22
|
+
- bundle exec cucumber: --tags @commons.wikimedia.beta.wmflabs.org
|
23
|
+
- MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
|
24
|
+
|
25
|
+
## browsertests-commons.wikimedia.beta.wmflabs.org-linux-chrome
|
26
|
+
- Browser Label: chrome
|
27
|
+
|
28
|
+
## browsertests-commons.wikimedia.beta.wmflabs.org-linux-firefox
|
29
|
+
- Browser Label: firefox
|
30
|
+
|
31
|
+
## browsertests-commons.wikimedia.beta.wmflabs.org-windows-internet_explorer_9
|
32
|
+
- Browser Label: internet_explorer_9
|
33
|
+
|
34
|
+
## browsertests-commons.wikimedia.beta.wmflabs.org-windows-internet_explorer_10
|
35
|
+
- Browser Label: internet_explorer_10
|
36
|
+
|
37
|
+
|
38
|
+
|
20
39
|
# browsertests-en.wikipedia.beta.wmflabs.org
|
21
40
|
- bundle exec cucumber: --tags @en.wikipedia.beta.wmflabs.org
|
22
41
|
- MediaWiki URL: en.wikipedia.beta.wmflabs.org
|
@@ -47,6 +66,7 @@
|
|
47
66
|
- Browser Label: internet_explorer_10
|
48
67
|
|
49
68
|
|
69
|
+
|
50
70
|
# browsertests-test2.wikipedia.org
|
51
71
|
- bundle exec cucumber: --tags @test2.wikipedia.org
|
52
72
|
- MediaWiki URL: test2.wikipedia.org
|
@@ -86,6 +106,7 @@
|
|
86
106
|
- MediaWiki user: Selenium_user
|
87
107
|
- MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
|
88
108
|
|
109
|
+
|
89
110
|
## Flow-en.wikipedia.beta.wmflabs.org-linux-chrome
|
90
111
|
- Browser Label: chrome
|
91
112
|
|
@@ -158,6 +179,7 @@
|
|
158
179
|
|
159
180
|
# TwnMainPage
|
160
181
|
|
182
|
+
|
161
183
|
## TwnMainPage-sandbox.translatewiki.net-linux-firefox
|
162
184
|
- Browser Label: firefox
|
163
185
|
- bundle exec cucumber: --tags @sandbox.translatewiki.net
|
@@ -169,11 +191,13 @@
|
|
169
191
|
|
170
192
|
|
171
193
|
|
194
|
+
|
172
195
|
# UniversalLanguageSelector
|
173
196
|
- Browser Label: firefox
|
174
197
|
- Recipients: aaharoni@wikimedia.org cmcmahon@wikimedia.org nlaxstrom@wikimedia.org sthottingal@wikimedia.org zfilipin@wikimedia.org
|
175
198
|
- Repository URL: UniversalLanguageSelector
|
176
199
|
|
200
|
+
|
177
201
|
## UniversalLanguageSelector-commons.wikimedia.beta.wmflabs.org-linux-firefox
|
178
202
|
- bundle exec cucumber: --tags @commons.wikimedia.beta.wmflabs.org
|
179
203
|
- MediaWiki URL: commons.wikimedia.beta.wmflabs.org
|
@@ -194,35 +218,12 @@
|
|
194
218
|
|
195
219
|
|
196
220
|
|
197
|
-
# UploadWizard
|
198
|
-
|
199
|
-
# UploadWizard-commons.wikimedia.beta.wmflabs.org
|
200
|
-
- bundle exec cucumber: --tags @commons.wikimedia.beta.wmflabs.org
|
201
|
-
- Recipients: cmcmahon@wikimedia.org zfilipin@wikimedia.org
|
202
|
-
- MediaWiki URL: commons.wikimedia.beta.wmflabs.org
|
203
|
-
- Repository URL: UploadWizard
|
204
|
-
- MediaWiki user: Selenium_user
|
205
|
-
- MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
|
206
|
-
|
207
|
-
## UploadWizard-commons.wikimedia.beta.wmflabs.org-linux-chrome
|
208
|
-
- Browser Label: chrome
|
209
|
-
|
210
|
-
## UploadWizard-commons.wikimedia.beta.wmflabs.org-linux-firefox
|
211
|
-
- Browser Label: firefox
|
212
|
-
|
213
|
-
## UploadWizard-commons.wikimedia.beta.wmflabs.org-windows-internet_explorer_9
|
214
|
-
- Browser Label: internet_explorer_9
|
215
|
-
|
216
|
-
## UploadWizard-commons.wikimedia.beta.wmflabs.org-windows-internet_explorer_10
|
217
|
-
- Browser Label: internet_explorer_10
|
218
|
-
|
219
|
-
|
220
|
-
|
221
221
|
# VisualEditor
|
222
222
|
- Folder: modules/ve-mw/test/browser/
|
223
223
|
- Repository URL: VisualEditor
|
224
224
|
- MediaWiki user: Selenium_user
|
225
225
|
|
226
|
+
|
226
227
|
## VisualEditor-en.wikipedia.beta.wmflabs.org-linux-chrome
|
227
228
|
- Browser Label: chrome
|
228
229
|
- bundle exec cucumber: --tags @en.wikipedia.beta.wmflabs.org
|
data/docs/template.md
CHANGED
@@ -14,10 +14,10 @@
|
|
14
14
|
- Display Name: Name
|
15
15
|
- Type: Text-field
|
16
16
|
|
17
|
-
## Browser
|
17
|
+
## Browser
|
18
18
|
|
19
|
-
- ID:
|
20
|
-
- Display Name: Browser
|
19
|
+
- ID: BROWSER
|
20
|
+
- Display Name: Browser
|
21
21
|
- Type: Select a string among many
|
22
22
|
- UI Mode: Dropdown list (no inline help, but more compact UI)
|
23
23
|
- Options
|
@@ -76,21 +76,12 @@
|
|
76
76
|
- Display Name: UniversalLanguageSelector
|
77
77
|
- Value: https://gerrit.wikimedia.org/r/mediawiki/extensions/UniversalLanguageSelector
|
78
78
|
|
79
|
-
- Display Name: UploadWizard
|
80
|
-
- Value: https://gerrit.wikimedia.org/r/mediawiki/extensions/UploadWizard
|
81
|
-
|
82
79
|
- Display Name: VisualEditor
|
83
80
|
- Value: https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
|
84
81
|
|
85
82
|
- Display Name: Wikibase
|
86
83
|
- Value: https://gerrit.wikimedia.org/r/mediawiki/extensions/Wikibase
|
87
84
|
|
88
|
-
- Display Name: WikiLove
|
89
|
-
- Value: https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiLove
|
90
|
-
|
91
|
-
- Display Name: ZeroRatedMobileAccess
|
92
|
-
- Value: https://gerrit.wikimedia.org/r/mediawiki/extensions/ZeroRatedMobileAccess
|
93
|
-
|
94
85
|
- Display Name: browsertests
|
95
86
|
- Value: https://gerrit.wikimedia.org/r/qa/browsertests
|
96
87
|
|
@@ -234,7 +225,7 @@
|
|
234
225
|
export MEDIAWIKI_USER=${MEDIAWIKI_USER}
|
235
226
|
export MEDIAWIKI_PASSWORD_VARIABLE=${MEDIAWIKI_PASSWORD_VARIABLE}
|
236
227
|
|
237
|
-
export
|
228
|
+
export BROWSER=${BROWSER}
|
238
229
|
export MEDIAWIKI_URL=http://${MEDIAWIKI_URL}/wiki/
|
239
230
|
|
240
231
|
curl -s -o use-ruby https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/ruby/use-ruby
|
@@ -27,7 +27,7 @@ def browser(environment, test_name, language)
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
def environment
|
30
|
-
if ENV["
|
30
|
+
if ENV["BROWSER"] and ENV["BROWSER"] != "phantomjs" and
|
31
31
|
ENV["SAUCE_ONDEMAND_USERNAME"] and ENV["SAUCE_ONDEMAND_ACCESS_KEY"]
|
32
32
|
:saucelabs
|
33
33
|
else
|
@@ -35,27 +35,27 @@ def environment
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
def local_browser(language)
|
38
|
-
if ENV["
|
39
|
-
|
38
|
+
if ENV["BROWSER"]
|
39
|
+
browser_name = ENV["BROWSER"].to_sym
|
40
40
|
else
|
41
|
-
|
41
|
+
browser_name = :firefox
|
42
42
|
end
|
43
43
|
|
44
44
|
if language == "default"
|
45
|
-
browser = Watir::Browser.new
|
45
|
+
browser = Watir::Browser.new browser_name
|
46
46
|
else
|
47
|
-
if
|
47
|
+
if browser_name == :firefox
|
48
48
|
profile = Selenium::WebDriver::Firefox::Profile.new
|
49
49
|
profile["intl.accept_languages"] = language
|
50
|
-
browser = Watir::Browser.new
|
51
|
-
elsif
|
50
|
+
browser = Watir::Browser.new browser_name, profile: profile
|
51
|
+
elsif browser_name == :chrome
|
52
52
|
profile = Selenium::WebDriver::Chrome::Profile.new
|
53
53
|
profile["intl.accept_languages"] = language
|
54
|
-
browser = Watir::Browser.new
|
55
|
-
elsif
|
54
|
+
browser = Watir::Browser.new browser_name, profile: profile
|
55
|
+
elsif browser_name == :phantomjs
|
56
56
|
capabilities = Selenium::WebDriver::Remote::Capabilities.phantomjs
|
57
57
|
capabilities["phantomjs.page.customHeaders.Accept-Language"] = language
|
58
|
-
browser = Watir::Browser.new
|
58
|
+
browser = Watir::Browser.new browser_name, desired_capabilities: capabilities
|
59
59
|
else
|
60
60
|
raise "Changing default language is currently supported only for Chrome, Firefox and PhantomJS!"
|
61
61
|
end
|
@@ -75,59 +75,22 @@ RestClient::Request.execute(
|
|
75
75
|
)
|
76
76
|
end
|
77
77
|
def sauce_browser(test_name, language)
|
78
|
-
|
79
|
-
|
80
|
-
"chrome" =>
|
81
|
-
{"name" => "chrome",
|
82
|
-
"platform" => "Linux",
|
83
|
-
"version" => nil},
|
84
|
-
|
85
|
-
"firefox" =>
|
86
|
-
{"name" => "firefox",
|
87
|
-
"platform" => "Linux",
|
88
|
-
"version" => 26},
|
89
|
-
|
90
|
-
"internet_explorer_6" =>
|
91
|
-
{"name" => "internet_explorer",
|
92
|
-
"platform" => "Windows XP",
|
93
|
-
"version"=> 6},
|
94
|
-
|
95
|
-
"internet_explorer_7" =>
|
96
|
-
{"name" => "internet_explorer",
|
97
|
-
"platform" => "Windows XP",
|
98
|
-
"version"=> 7},
|
99
|
-
|
100
|
-
"internet_explorer_8" =>
|
101
|
-
{"name" => "internet_explorer",
|
102
|
-
"platform" => "Windows XP",
|
103
|
-
"version"=> 8},
|
104
|
-
|
105
|
-
"internet_explorer_9" =>
|
106
|
-
{"name" => "internet_explorer",
|
107
|
-
"platform" => "Windows 7",
|
108
|
-
"version"=> 9},
|
109
|
-
|
110
|
-
"internet_explorer_10" =>
|
111
|
-
{"name" => "internet_explorer",
|
112
|
-
"platform" => "Windows 8",
|
113
|
-
"version"=> 10}}
|
114
|
-
|
115
|
-
browser_label = browsers[ENV["BROWSER_LABEL"]]
|
78
|
+
abort "Environment variables BROWSER, PLATFORM and VERSION have to be set" if (ENV["BROWSER"] == nil) or (ENV["PLATFORM"] == nil) or (ENV["VERSION"] == nil)
|
116
79
|
|
117
80
|
if language == "default"
|
118
|
-
caps = Selenium::WebDriver::Remote::Capabilities.send(
|
119
|
-
elsif
|
81
|
+
caps = Selenium::WebDriver::Remote::Capabilities.send(ENV["BROWSER"])
|
82
|
+
elsif ENV["BROWSER"] == "firefox"
|
120
83
|
profile = Selenium::WebDriver::Firefox::Profile.new
|
121
84
|
profile["intl.accept_languages"] = language
|
122
85
|
caps = Selenium::WebDriver::Remote::Capabilities.firefox(:firefox_profile => profile)
|
123
|
-
elsif
|
86
|
+
elsif ENV["BROWSER"] == "chrome"
|
124
87
|
profile = Selenium::WebDriver::Chrome::Profile.new
|
125
88
|
profile["intl.accept_languages"] = language
|
126
89
|
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chrome.profile" => profile.as_json["zip"])
|
127
90
|
end
|
128
91
|
|
129
|
-
caps.platform =
|
130
|
-
caps.version =
|
92
|
+
caps.platform = ENV["PLATFORM"]
|
93
|
+
caps.version = ENV["VERSION"]
|
131
94
|
caps[:name] = "#{test_name} #{ENV['JOB_NAME']}##{ENV['BUILD_NUMBER']}"
|
132
95
|
|
133
96
|
require "selenium/webdriver/remote/http/persistent" # http_client
|
@@ -9,10 +9,6 @@ mediawiki_selenium top-level directory and at
|
|
9
9
|
https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/CREDITS.
|
10
10
|
=end
|
11
11
|
|
12
|
-
Before("@custom-browser") do |scenario|
|
13
|
-
@scenario = scenario
|
14
|
-
end
|
15
|
-
|
16
12
|
Before("@login") do
|
17
13
|
ENV["MEDIAWIKI_PASSWORD"] = ENV[ENV["MEDIAWIKI_PASSWORD_VARIABLE"]] if ENV["MEDIAWIKI_PASSWORD_VARIABLE"]
|
18
14
|
puts "MEDIAWIKI_USER environment variable is not defined! Please export a value for that variable before proceeding." unless ENV["MEDIAWIKI_USER"]
|
@@ -23,12 +19,12 @@ Before do |scenario|
|
|
23
19
|
@random_string = Random.new.rand.to_s
|
24
20
|
if ENV["REUSE_BROWSER"] == "true" and $browser # CirrusSearch and VisualEditor need this
|
25
21
|
@browser = $browser
|
26
|
-
elsif scenario.source_tag_names.include? "@custom-browser"
|
27
|
-
# browser will be started in Cucumber step
|
28
22
|
else
|
29
|
-
@
|
30
|
-
|
31
|
-
|
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
|
32
28
|
end
|
33
29
|
end
|
34
30
|
|
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.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris McMahon
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-02-
|
15
|
+
date: 2014-02-18 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: cucumber
|