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 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