mediawiki-selenium 0.1.13 → 0.1.14

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: 5d16520621acc84345fcf0a2f48dd942f28ad60c
4
- data.tar.gz: 054078cb83d7a13c93033af6c0954b70c22c6600
3
+ metadata.gz: 76ca7795fe11373d8beaed3a1a659ad39ecf4fe6
4
+ data.tar.gz: 6fa5e85e59bd00e9f4031ec61dfa3aea5ea3c082
5
5
  SHA512:
6
- metadata.gz: 5e39e4e89b8b6de6383cbd85c1b774f480802490bdfe6d2265dd6dae01e6bbc21c11be53d0a38af968b8dc2c3557012ac8993d97c0947ce8a27259ea5a2a8c25
7
- data.tar.gz: a4692cc702ce2d31fc0a43a6883b561e148eceb9103e156e8ff1f3980564701daec2817fd2fa40d57ee5b626add137c452c9f793089a3e34d2b62e8a1ec0dc9c
6
+ metadata.gz: 1be0c0f20c8ef6b4a2d3f947393036f4af7ec7a63db2c728440f41dc072ede968eae02b59bfc92b9f3e25146026ecd3f7ce91f8e923ec1198f657aa67faf4311
7
+ data.tar.gz: a7b1f12f3dddce4bfd225cf449e424d7e8631c9925c1bc2ecb56b2d30c259e1276502808502fabc4fa0c2aae507fa16b23a16792f7ae67c0a207c73a2b3ab8d7
data/README.md CHANGED
@@ -5,23 +5,47 @@ makes it easy to update the shared code.
5
5
 
6
6
  ## Installation
7
7
 
8
- Add this line to your application's Gemfile:
8
+ To run the Selenium tests you will have to install Ruby. Look at the `Gemfile` file for the exact required version. You also have to install the latest versions of RubyGems and Firefox (the default browser in which the tests run). The easiest way to install Ruby on Linux/Unix/Mac is [RVM](https://rvm.io/) and on Windows [RubyInstaller](http://rubyinstaller.org/).
9
+ ALERT: On Windows you must use Ruby 1.9.3 for now because cucumber/gherkin library currently doesn't work with Ruby 2.x.x.
9
10
 
10
- gem 'mediawiki-selenium'
11
+ cd /tests/browser
12
+ gem update --system
13
+ gem install bundler
14
+ bundle install
11
15
 
12
- And then execute:
16
+ If you're not using RVM to manage your Ruby versions, you will need to run the commands as root (using `sudo`).
13
17
 
14
- $ bundle
18
+ Environment variables MEDIAWIKI_USER and MEDIAWIKI_PASSWORD are required for tests tagged `@login`. For local testing, create a test user on your local wiki and export the user and password as the values for those variables.
19
+ For example:
15
20
 
16
- Or install it yourself as:
21
+ export MEDIAWIKI_USER=<username here> # Linux/Unix/Mac
22
+ set MEDIAWIKI_USER=<username here> # Windows
17
23
 
18
- $ gem install mediawiki-selenium
24
+ export MEDIAWIKI_PASSWORD=<password here> # Linux/Unix/Mac
25
+ set MEDIAWIKI_PASSWORD=<password here> # Windows
19
26
 
20
27
  ## Usage
21
28
 
22
- Add the gem to Gemfile.
29
+ Run the tests with `bundle exec cucumber`, this should start Firefox.
23
30
 
24
- Create `tests/browser/features/support/env.rb` file with this content: `require 'mediawiki/selenium'`
31
+ By default the tests run at en.wikipedia.beta.wmflabs.org. If you want to run the tests elsewhere, set the `MEDIAWIKI_URL` environment variable. For example:
32
+
33
+ export MEDIAWIKI_URL=http://commons.wikimedia.beta.wmflabs.org/wiki/ # Linux/Unix/Mac
34
+ set MEDIAWIKI_URL=http://commons.wikimedia.beta.wmflabs.org/wiki/ # Windows
35
+
36
+ To run a single test file enter `bundle exec cucumber features/FEATURE_NAME.feature`.
37
+
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
+
40
+ You can use a different browser with the BROWSER_LABEL env variable, the fastest is probably PhantomJS, a headless browser:
41
+
42
+ export BROWSER_LABEL=phantomjs # Linux/Unix/Mac
43
+ set BROWSER_LABEL=phantomjs # Windows
44
+
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
+
47
+ export KEEP_BROWSER_OPEN=true # Linux/Unix/Mac
48
+ set KEEP_BROWSER_OPEN=true # Windows
25
49
 
26
50
  ## Links
27
51
 
@@ -30,14 +54,14 @@ mediawiki-selenium gem: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects
30
54
  Repositories that use the gem:
31
55
 
32
56
  - CirrusSearch: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/CirrusSearch), [GitHub](https://github.com/wikimedia/mediawiki-extensions-CirrusSearch), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-CirrusSearch), `/tests/browser` folder
33
- - Flow: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Flow), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Flow), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Flow), `/tests/browser` folder
34
- - MobileFrontend: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/MobileFrontend), [GitHub](https://github.com/wikimedia/mediawiki-extensions-MobileFrontend), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-MobileFrontend), `/tests/browser` folder
35
- - Translate: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Translate), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Translate), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Translate), `/tests/browser` folder
36
- - TwnMainPage: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/TwnMainPage), [GitHub](https://github.com/wikimedia/mediawiki-extensions-TwnMainPage), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-TwnMainPage), `/tests/browser` folder
37
- - UniversalLanguageSelector: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/UniversalLanguageSelector), [GitHub](https://github.com/wikimedia/mediawiki-extensions-UniversalLanguageSelector), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-UniversalLanguageSelector), `/tests/browser` folder
38
- - VisualEditor: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/VisualEditor), [GitHub](https://github.com/wikimedia/mediawiki-extensions-VisualEditor), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-VisualEditor), `/modules/ve-mw/test/browser` folder
39
- - Wikibase: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Wikibase), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Wikibase), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Wikibase), `/selenium_cuc` folder
40
- - browsertests: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/qa/browsertests), [GitHub](https://github.com/wikimedia/qa-browsertests), [Code Climate](https://codeclimate.com/github/wikimedia/qa-browsertests), `/` folder
57
+ - Flow: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/Flow), [GitHub](https://github.com/wikimedia/mediawiki-extensions-Flow), [Jenkins](https://wmf.ci.cloudbees.com/view/r-fl/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-Flow), `/tests/browser` folder
58
+ - MobileFrontend: [Gerrit](https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/extensions/MobileFrontend), [GitHub](https://github.com/wikimedia/mediawiki-extensions-MobileFrontend), [Jenkins](https://wmf.ci.cloudbees.com/view/r-mf/), [Code Climate](https://codeclimate.com/github/wikimedia/mediawiki-extensions-MobileFrontend), `/tests/browser` folder
59
+ - 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), `/tests/browser` folder
60
+ - 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), `/tests/browser` folder
61
+ - 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), `/tests/browser` folder
62
+ - 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
63
+ - 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), `/tests/browser` folder
64
+ - 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), `/` folder
41
65
 
42
66
  ## Contributing
43
67
 
@@ -46,3 +70,5 @@ Repositories that use the gem:
46
70
  3. Commit your changes (`git commit -am 'Add some feature'`)
47
71
  4. Push to the branch (`git push origin my-new-feature`)
48
72
  5. Create new Pull Request
73
+
74
+ https://www.mediawiki.org/wiki/QA/Browser_testing#How_to_contribute
data/docs/jenkins.md CHANGED
@@ -11,7 +11,7 @@
11
11
  - Hostname: irc.freenode.net
12
12
  - Port: 6667
13
13
  - Channels
14
- - Name: #wikimedia-mobile
14
+ - Name: #wikimedia-qa
15
15
  - Notification only: check
16
16
  - Advanced...
17
17
  - Nickname: wmf-selenium-bot
data/docs/job.md CHANGED
@@ -11,16 +11,20 @@
11
11
 
12
12
  --
13
13
 
14
- export BROWSER_LABEL=(label)
15
- export MEDIAWIKI_URL=(url)
14
+ export MEDIAWIKI_USER=${MEDIAWIKI_USER}
15
+ export MEDIAWIKI_PASSWORD_VARIABLE=${MEDIAWIKI_PASSWORD_VARIABLE}
16
+
17
+ export BROWSER_LABEL=${BROWSER_LABEL}
18
+ export MEDIAWIKI_URL=http://${MEDIAWIKI_URL}/wiki/
16
19
 
17
20
  curl -s -o use-ruby https://repository-cloudbees.forge.cloudbees.com/distributions/ci-addons/ruby/use-ruby
18
21
  RUBY_VERSION=2.0.0-p247 \
19
22
  source ./use-ruby
20
23
 
21
24
  gem install bundler --no-ri --no-rdoc
25
+ if [ -d "${FOLDER}" ]; then cd ${FOLDER}; fi
22
26
  bundle install
23
- bundle exec cucumber
27
+ bundle exec ${BUNDLE_EXEC}
24
28
 
25
29
  --
26
30
 
data/docs/jobs.md CHANGED
@@ -8,25 +8,20 @@
8
8
  - Repository URL:
9
9
  - MediaWiki user:
10
10
  - MediaWiki password variable:
11
- MEDIAWIKI_PASSWORD_SELENIUM_SANDBOX_TRANSLATEWIKI_NET
12
- MEDIAWIKI_PASSWORD_SELENIUM_USER_WIKIPEDIA_ORG
13
- MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
14
- MEDIAWIKI_PASSWORD_ULS_WMFLABS_ORG
15
11
 
16
12
 
17
13
 
18
14
  # browsertests
19
15
  - Recipients: cmcmahon@wikimedia.org zfilipin@wikimedia.org
20
16
  - Folder: root of the repository
21
- - MediaWiki user: Selenium_user
22
17
  - Repository URL: browsertests
23
-
18
+ - MediaWiki user: Selenium_user
24
19
 
25
20
 
26
21
  # browsertests-commons.wikimedia.beta.wmflabs.org
27
22
  - MediaWiki URL: commons.wikimedia.beta.wmflabs.org
28
23
  - bundle exec: cucumber --verbose --profile ci --tags @commons.wikimedia.beta.wmflabs.org
29
-
24
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
30
25
 
31
26
  ## browsertests-commons.wikimedia.beta.wmflabs.org-linux-chrome
32
27
  - Browser Label: chrome
@@ -45,7 +40,7 @@
45
40
  # browsertests-en.wikipedia.beta.wmflabs.org
46
41
  - bundle exec: cucumber --verbose --profile ci --tags @en.wikipedia.beta.wmflabs.org
47
42
  - MediaWiki URL: en.wikipedia.beta.wmflabs.org
48
-
43
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
49
44
 
50
45
  ## browsertests-en.wikipedia.beta.wmflabs.org-linux-chrome
51
46
  - Browser Label: chrome
@@ -76,7 +71,7 @@
76
71
  # browsertests-test2.wikipedia.org
77
72
  - bundle exec: cucumber --verbose --profile ci --tags @test2.wikipedia.org
78
73
  - MediaWiki URL: test2.wikipedia.org
79
-
74
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WIKIPEDIA_ORG
80
75
 
81
76
  ## browsertests-test2.wikipedia.org-linux-chrome
82
77
  - Browser Label: chrome
@@ -109,8 +104,9 @@
109
104
  - Recipients: zfilipin@wikimedia.org cmcmahon@wikimedia.org
110
105
  - MediaWiki URL: en.m.wikipedia.beta.wmflabs.org
111
106
  - Folder: tests/browser/
112
- - MediaWiki user: Selenium_user
113
107
  - Repository URL: Flow
108
+ - MediaWiki user: Selenium_user
109
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
114
110
 
115
111
 
116
112
  ## Flow-en.wikipedia.beta.wmflabs.org-linux-chrome
@@ -122,31 +118,34 @@
122
118
 
123
119
 
124
120
  # MobileFrontend
125
- - bundle exec: cucumber --verbose --profile ci
121
+ - Recipients: cmcmahon@wikimedia.org mobile-l@lists.wikimedia.org mobile-tech@wikimedia.org zfilipin@wikimedia.org
126
122
  - Folder: tests/browser/
127
- - MediaWiki user: Selenium_user
128
123
  - Repository URL: MobileFrontend
129
-
124
+ - MediaWiki user: Selenium_user
130
125
 
131
126
  ## MobileFrontend-en.m.wikipedia.beta.wmflabs.org-linux-chrome
132
127
  - Browser Label: chrome
133
- - Recipients: mgrover@wikimedia.org
128
+ - bundle exec: cucumber --verbose --profile ci --tags @en.m.wikipedia.beta.wmflabs.org
134
129
  - MediaWiki URL: en.m.wikipedia.beta.wmflabs.org
130
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
135
131
 
136
132
  ## MobileFrontend-en.m.wikipedia.beta.wmflabs.org-linux-firefox
137
133
  - Browser Label: firefox
138
- - Recipients: cmcmahon@wikimedia.org mgrover@wikimedia.org mobile-l@lists.wikimedia.org mobile-tech@wikimedia.org zfilipin@wikimedia.org
134
+ - bundle exec: cucumber --verbose --profile ci --tags @en.m.wikipedia.beta.wmflabs.org
139
135
  - MediaWiki URL: en.m.wikipedia.beta.wmflabs.org
136
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
140
137
 
141
138
  ## MobileFrontend-en.m.wikipedia.org-linux-firefox
142
139
  - Browser Label: firefox
143
- - Recipients: cmcmahon@wikimedia.org mgrover@wikimedia.org mobile-l@lists.wikimedia.org mobile-tech@wikimedia.org zfilipin@wikimedia.org
140
+ - bundle exec: cucumber --verbose --profile ci --tags @en.m.wikipedia.org
144
141
  - MediaWiki URL: en.m.wikipedia.org
142
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WIKIPEDIA_ORG
145
143
 
146
144
  ## MobileFrontend-test2.m.wikipedia.org-linux-firefox
147
145
  - Browser Label: firefox
148
- - Recipients: cmcmahon@wikimedia.org mgrover@wikimedia.org mobile-tech@wikimedia.org zfilipin@wikimedia.org
146
+ - bundle exec: cucumber --verbose --profile ci --tags @test2.m.wikipedia.org
149
147
  - MediaWiki URL: test2.m.wikipedia.org
148
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WIKIPEDIA_ORG
150
149
 
151
150
 
152
151
 
@@ -159,8 +158,9 @@
159
158
  - Recipients: aaharoni@wikimedia.org cmcmahon@wikimedia.org nlaxstrom@wikimedia.org smazeland@wikimedia.org zfilipin@wikimedia.org
160
159
  - MediaWiki URL: sandbox.translatewiki.net
161
160
  - Folder: tests/browser/
162
- - MediaWiki user: Selenium
163
161
  - Repository URL: Translate
162
+ - MediaWiki user: Selenium
163
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_SANDBOX_TRANSLATEWIKI_NET
164
164
 
165
165
 
166
166
 
@@ -173,8 +173,10 @@
173
173
  - Recipients: aaharoni@wikimedia.org cmcmahon@wikimedia.org nlaxstrom@wikimedia.org smazeland@wikimedia.org zfilipin@wikimedia.org
174
174
  - MediaWiki URL: sandbox.translatewiki.net
175
175
  - Folder: tests/browser/
176
- - MediaWiki user: Selenium
177
176
  - Repository URL: TwnMainPage
177
+ - MediaWiki user: Selenium
178
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_SANDBOX_TRANSLATEWIKI_NET
179
+
178
180
 
179
181
 
180
182
 
@@ -189,18 +191,26 @@
189
191
  - bundle exec: cucumber --verbose --profile ci --tags @commons.wikimedia.beta.wmflabs.org
190
192
  - MediaWiki URL: commons.wikimedia.beta.wmflabs.org
191
193
  - MediaWiki user: Uls
194
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_ULS_WMFLABS_ORG
195
+
196
+ ## UniversalLanguageSelector-en.wikipedia.beta.wmflabs.org-linux-firefox
197
+ - bundle exec: cucumber --verbose --profile ci --tags @en.wikipedia.beta.wmflabs.org
198
+ - MediaWiki URL: en.wikipedia.beta.wmflabs.org
199
+ - MediaWiki user: Uls
200
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_ULS_WMFLABS_ORG
192
201
 
193
202
  ## UniversalLanguageSelector-sandbox.translatewiki.net-linux-firefox
194
203
  - bundle exec: cucumber --verbose --profile ci --tags @sandbox.translatewiki.net
195
204
  - MediaWiki URL: sandbox.translatewiki.net
196
205
  - MediaWiki user: Selenium
206
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_SANDBOX_TRANSLATEWIKI_NET
197
207
 
198
208
 
199
209
 
200
210
  # VisualEditor
201
211
  - Folder: modules/ve-mw/test/browser/
202
- - MediaWiki user: Selenium_user
203
212
  - Repository URL: VisualEditor
213
+ - MediaWiki user: Selenium_user
204
214
 
205
215
 
206
216
  ## VisualEditor-en.wikipedia.beta.wmflabs.org-linux-chrome
@@ -208,21 +218,25 @@
208
218
  - bundle exec: cucumber --verbose --profile ci --tags @en.wikipedia.beta.wmflabs.org
209
219
  - Recipients: cmcmahon@wikimedia.org zfilipin@wikimedia.org
210
220
  - MediaWiki URL: en.wikipedia.beta.wmflabs.org
221
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
211
222
 
212
223
  ## VisualEditor-en.wikipedia.beta.wmflabs.org-linux-firefox
213
224
  - Browser Label: firefox
214
225
  - bundle exec: cucumber --verbose --profile ci --tags @en.wikipedia.beta.wmflabs.org
215
226
  - Recipients: cmcmahon@wikimedia.org jforrester@wikimedia.org zfilipin@wikimedia.org
216
227
  - MediaWiki URL: en.wikipedia.beta.wmflabs.org
228
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WMFLABS_ORG
217
229
 
218
230
  ## VisualEditor-test2.wikipedia.org-linux-chrome
219
231
  - Browser Label: chrome
220
232
  - bundle exec: cucumber --verbose --profile ci --tags @test2.wikipedia.org
221
233
  - Recipients: cmcmahon@wikimedia.org zfilipin@wikimedia.org
222
234
  - MediaWiki URL: test2.wikipedia.org
235
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WIKIPEDIA_ORG
223
236
 
224
237
  ## VisualEditor-test2.wikipedia.org-linux-firefox
225
238
  - Browser Label: firefox
226
239
  - bundle exec: cucumber --verbose --profile ci --tags @test2.wikipedia.org
227
240
  - Recipients: cmcmahon@wikimedia.org jforrester@wikimedia.org zfilipin@wikimedia.org
228
241
  - MediaWiki URL: test2.wikipedia.org
242
+ - MediaWiki password variable: MEDIAWIKI_PASSWORD_SELENIUM_USER_WIKIPEDIA_ORG
data/docs/template.md CHANGED
@@ -30,6 +30,7 @@
30
30
  - internet_explorer_8
31
31
  - internet_explorer_9
32
32
  - internet_explorer_10
33
+ - phantomjs
33
34
 
34
35
  ## bundle exec
35
36
 
@@ -10,12 +10,12 @@ https://github.com/zeljkofilipin/mediawiki-selenium/blob/master/CREDITS.
10
10
  =end
11
11
 
12
12
  # before all
13
- require 'bundler/setup'
14
- require 'page-object'
15
- require 'page-object/page_factory'
16
- require 'rest_client'
17
- require 'watir-webdriver'
18
- require 'yaml'
13
+ require "bundler/setup"
14
+ require "page-object"
15
+ require "page-object/page_factory"
16
+ require "rest_client"
17
+ require "watir-webdriver"
18
+ require "yaml"
19
19
 
20
20
  World(PageObject::PageFactory)
21
21
 
@@ -27,20 +27,21 @@ def browser(environment, test_name, language)
27
27
  end
28
28
  end
29
29
  def environment
30
- if ENV['BROWSER_LABEL'] and ENV['SAUCE_ONDEMAND_USERNAME'] and ENV['SAUCE_ONDEMAND_ACCESS_KEY']
30
+ if ENV["BROWSER_LABEL"] and ENV["BROWSER_LABEL"] != "phantomjs" and
31
+ ENV["SAUCE_ONDEMAND_USERNAME"] and ENV["SAUCE_ONDEMAND_ACCESS_KEY"]
31
32
  :saucelabs
32
33
  else
33
34
  :local
34
35
  end
35
36
  end
36
37
  def local_browser(language)
37
- if ENV['BROWSER_LABEL']
38
- browser_label = ENV['BROWSER_LABEL'].to_sym
38
+ if ENV["BROWSER_LABEL"]
39
+ browser_label = ENV["BROWSER_LABEL"].to_sym
39
40
  else
40
41
  browser_label = :firefox
41
42
  end
42
43
 
43
- if language == 'default'
44
+ if language == "default"
44
45
  Watir::Browser.new browser_label
45
46
  else
46
47
  if browser_label == :firefox
@@ -50,7 +51,7 @@ def local_browser(language)
50
51
  else
51
52
  raise "Changing default language is currently supported only for Firefox and Chrome!"
52
53
  end
53
- profile['intl.accept_languages'] = language
54
+ profile["intl.accept_languages"] = language
54
55
  Watir::Browser.new browser_label, :profile => profile
55
56
  end
56
57
  end
@@ -58,33 +59,33 @@ def sauce_api(json)
58
59
  RestClient::Request.execute(
59
60
  :method => :put,
60
61
  :url => "https://saucelabs.com/rest/v1/#{ENV['SAUCE_ONDEMAND_USERNAME']}/jobs/#{$session_id}",
61
- :user => ENV['SAUCE_ONDEMAND_USERNAME'],
62
- :password => ENV['SAUCE_ONDEMAND_ACCESS_KEY'],
62
+ :user => ENV["SAUCE_ONDEMAND_USERNAME"],
63
+ :password => ENV["SAUCE_ONDEMAND_ACCESS_KEY"],
63
64
  :headers => {:content_type => "application/json"},
64
65
  :payload => json
65
66
  )
66
67
  end
67
68
  def sauce_browser(test_name, language)
68
- config = YAML.load_file('config/config.yml')
69
- browser_label = config[ENV['BROWSER_LABEL']]
69
+ config = YAML.load_file("config/config.yml")
70
+ browser_label = config[ENV["BROWSER_LABEL"]]
70
71
 
71
- if language == 'default'
72
- caps = Selenium::WebDriver::Remote::Capabilities.send(browser_label['name'])
73
- elsif browser_label['name'] == 'firefox'
72
+ if language == "default"
73
+ caps = Selenium::WebDriver::Remote::Capabilities.send(browser_label["name"])
74
+ elsif browser_label["name"] == "firefox"
74
75
  profile = Selenium::WebDriver::Firefox::Profile.new
75
- profile['intl.accept_languages'] = language
76
+ profile["intl.accept_languages"] = language
76
77
  caps = Selenium::WebDriver::Remote::Capabilities.firefox(:firefox_profile => profile)
77
- elsif browser_label['name'] == 'chrome'
78
+ elsif browser_label["name"] == "chrome"
78
79
  profile = Selenium::WebDriver::Chrome::Profile.new
79
- profile['intl.accept_languages'] = language
80
- caps = Selenium::WebDriver::Remote::Capabilities.chrome('chrome.profile' => profile.as_json['zip'])
80
+ profile["intl.accept_languages"] = language
81
+ caps = Selenium::WebDriver::Remote::Capabilities.chrome("chrome.profile" => profile.as_json["zip"])
81
82
  end
82
83
 
83
- caps.platform = browser_label['platform']
84
- caps.version = browser_label['version']
84
+ caps.platform = browser_label["platform"]
85
+ caps.version = browser_label["version"]
85
86
  caps[:name] = "#{test_name} #{ENV['JOB_NAME']}##{ENV['BUILD_NUMBER']}"
86
87
 
87
- require 'selenium/webdriver/remote/http/persistent' # http_client
88
+ require "selenium/webdriver/remote/http/persistent" # http_client
88
89
  browser = Watir::Browser.new(
89
90
  :remote,
90
91
  http_client: Selenium::WebDriver::Remote::Http::Persistent.new,
@@ -9,22 +9,22 @@ mediawiki-selenium top-level directory and at
9
9
  https://github.com/zeljkofilipin/mediawiki-selenium/blob/master/CREDITS.
10
10
  =end
11
11
 
12
- config = YAML.load_file('config/config.yml')
12
+ config = YAML.load_file("config/config.yml")
13
13
 
14
- Before('@login') do
15
- ENV['MEDIAWIKI_PASSWORD'] = ENV[ENV['MEDIAWIKI_PASSWORD_VARIABLE']] if ENV['MEDIAWIKI_PASSWORD_VARIABLE']
16
- puts "MEDIAWIKI_USER environment variable is not defined! Please export a value for that variable before proceeding." unless ENV['MEDIAWIKI_USER']
17
- puts "MEDIAWIKI_PASSWORD environment variable is not defined! Please export a value for that variable before proceeding." unless ENV['MEDIAWIKI_PASSWORD']
14
+ Before("@login") do
15
+ ENV["MEDIAWIKI_PASSWORD"] = ENV[ENV["MEDIAWIKI_PASSWORD_VARIABLE"]] if ENV["MEDIAWIKI_PASSWORD_VARIABLE"]
16
+ puts "MEDIAWIKI_USER environment variable is not defined! Please export a value for that variable before proceeding." unless ENV["MEDIAWIKI_USER"]
17
+ puts "MEDIAWIKI_PASSWORD environment variable is not defined! Please export a value for that variable before proceeding." unless ENV["MEDIAWIKI_PASSWORD"]
18
18
  end
19
19
 
20
20
  Before do |scenario|
21
21
  @config = config
22
22
  @random_string = Random.new.rand.to_s
23
- if ENV['REUSE_BROWSER'] == 'true' and $browser # CirrusSearch and VisualEditor need this
23
+ if ENV["REUSE_BROWSER"] == "true" and $browser # CirrusSearch and VisualEditor need this
24
24
  @browser = $browser
25
25
  else
26
26
  unless @language or @user_agent # only UniversalLanguageSelector needs @language, only MobileFrontend needs @user_agent
27
- @browser = browser(environment, test_name(scenario), 'default')
27
+ @browser = browser(environment, test_name(scenario), "default")
28
28
  $browser = @browser # CirrusSearch and VisualEditor need this
29
29
  $session_id = @browser.driver.instance_variable_get(:@bridge).session_id
30
30
  end
@@ -35,7 +35,7 @@ After do |scenario|
35
35
  if environment == :saucelabs
36
36
  sauce_api(%Q{{"passed": #{scenario.passed?}}})
37
37
  sauce_api(%Q{{"public": true}})
38
- sauce_api(%Q{{"build": #{ENV['BUILD_NUMBER']}}}) if ENV['BUILD_NUMBER']
38
+ sauce_api(%Q{{"build": #{ENV["BUILD_NUMBER"]}}}) if ENV["BUILD_NUMBER"]
39
39
  end
40
- @browser.close unless ENV['KEEP_BROWSER_OPEN'] == 'true' or ENV['REUSE_BROWSER'] == 'true' # CirrusSearch and VisualEditor need this
40
+ @browser.close unless ENV["KEEP_BROWSER_OPEN"] == "true" or ENV["REUSE_BROWSER"] == "true" # CirrusSearch and VisualEditor need this
41
41
  end
@@ -9,7 +9,7 @@ mediawiki-selenium top-level directory and at
9
9
  https://github.com/zeljkofilipin/mediawiki-selenium/blob/master/CREDITS.
10
10
  =end
11
11
 
12
- require 'cucumber/formatter/junit'
12
+ require "cucumber/formatter/junit"
13
13
 
14
14
  module Cucumber::Formatter
15
15
  class Sauce < Junit
@@ -11,6 +11,6 @@ https://github.com/zeljkofilipin/mediawiki-selenium/blob/master/CREDITS.
11
11
 
12
12
  module Mediawiki
13
13
  module Selenium
14
- VERSION = "0.1.13"
14
+ VERSION = "0.1.14"
15
15
  end
16
16
  end
metadata CHANGED
@@ -1,111 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mediawiki-selenium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zeljko Filipin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-14 00:00:00.000000000 Z
11
+ date: 2013-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: net-http-persistent
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: page-object
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rest-client
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec-expectations
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: syntax
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  description: |-
@@ -117,7 +117,7 @@ executables: []
117
117
  extensions: []
118
118
  extra_rdoc_files: []
119
119
  files:
120
- - ".gitreview"
120
+ - .gitreview
121
121
  - CREDITS
122
122
  - LICENSE
123
123
  - README.md
@@ -142,17 +142,17 @@ require_paths:
142
142
  - lib
143
143
  required_ruby_version: !ruby/object:Gem::Requirement
144
144
  requirements:
145
- - - ">="
145
+ - - '>='
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  requirements: []
154
154
  rubyforge_project:
155
- rubygems_version: 2.1.9
155
+ rubygems_version: 2.1.11
156
156
  signing_key:
157
157
  specification_version: 4
158
158
  summary: An easy way to run MediaWiki Selenium tests.