mediawiki_selenium 0.2.5 → 0.2.6
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 +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
|