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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ffe8c78e34aa74ad81455f7682b541885e0a878a
4
- data.tar.gz: 93121410f05587f7af508b7c650c6feeb0421d07
3
+ metadata.gz: ee99172f7f9d82c758784d478f8625a4da70da6d
4
+ data.tar.gz: c6dd15b10dc2459bb1cad21c94fbbc1fcc3b7350
5
5
  SHA512:
6
- metadata.gz: 726c8fa919d9375d9ade8a953080cfd7bb89fa14373f3c3cbfca2028f738c32657403ee2e1b69f645c0da73540c19ea3b12646a0bbc23741bbf0ef9967f5156c
7
- data.tar.gz: 31e9d6c33688e8d7fd576fd2c38dba7d23a3da2b05bef915a6edecf21c29ebd42c7fa54732cf432ccf45182f0e873260af96f02a20e17527e7d019a5c21dcc71
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 BROWSER_LABEL env variable, the fastest is probably PhantomJS, a headless browser:
40
+ You can use a different browser with the `BROWSER` env variable, the fastest is probably PhantomJS, a headless browser:
41
41
 
42
- export BROWSER_LABEL=phantomjs # Linux/Unix/Mac
43
- set BROWSER_LABEL=phantomjs # Windows
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. UploadWizard: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/UploadWizard), [GitHub](https://github.com/wikimedia/mediawiki-extensions-UploadWizard), [Jenkins](https://wmf.ci.cloudbees.com/view/r-uw/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-UploadWizard)
81
- 10. 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
82
- 11. 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)
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
 
@@ -14,7 +14,7 @@
14
14
  export MEDIAWIKI_USER=${MEDIAWIKI_USER}
15
15
  export MEDIAWIKI_PASSWORD_VARIABLE=${MEDIAWIKI_PASSWORD_VARIABLE}
16
16
 
17
- export BROWSER_LABEL=${BROWSER_LABEL}
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
@@ -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
@@ -14,10 +14,10 @@
14
14
  - Display Name: Name
15
15
  - Type: Text-field
16
16
 
17
- ## Browser Label
17
+ ## Browser
18
18
 
19
- - ID: BROWSER_LABEL
20
- - Display Name: Browser Label
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 BROWSER_LABEL=${BROWSER_LABEL}
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["BROWSER_LABEL"] and ENV["BROWSER_LABEL"] != "phantomjs" and
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["BROWSER_LABEL"]
39
- browser_label = ENV["BROWSER_LABEL"].to_sym
38
+ if ENV["BROWSER"]
39
+ browser_name = ENV["BROWSER"].to_sym
40
40
  else
41
- browser_label = :firefox
41
+ browser_name = :firefox
42
42
  end
43
43
 
44
44
  if language == "default"
45
- browser = Watir::Browser.new browser_label
45
+ browser = Watir::Browser.new browser_name
46
46
  else
47
- if browser_label == :firefox
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 browser_label, profile: profile
51
- elsif browser_label == :chrome
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 browser_label, profile: profile
55
- elsif browser_label == :phantomjs
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 browser_label, desired_capabilities: capabilities
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
- browsers = {
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(browser_label["name"])
119
- elsif browser_label["name"] == "firefox"
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 browser_label["name"] == "chrome"
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 = browser_label["platform"]
130
- caps.version = browser_label["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
- @browser = browser(environment, test_name(scenario), "default")
30
- $browser = @browser # CirrusSearch and VisualEditor need this
31
- $session_id = @browser.driver.instance_variable_get(:@bridge).session_id
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
 
@@ -10,5 +10,5 @@ https://git.wikimedia.org/blob/mediawiki%2Fselenium/HEAD/CREDITS.
10
10
  =end
11
11
 
12
12
  module MediawikiSelenium
13
- VERSION = "0.2.5"
13
+ VERSION = "0.2.6"
14
14
  end
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.5
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-17 00:00:00.000000000 Z
15
+ date: 2014-02-18 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: cucumber