mediawiki_selenium 1.5.0 → 1.6.0

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -0
  3. data/.yardopts +1 -0
  4. data/README.md +43 -318
  5. data/RELEASES.md +353 -0
  6. data/features/login_helper.feature +15 -0
  7. data/features/rspec.feature +64 -0
  8. data/features/saucelabs.feature +7 -2
  9. data/features/screenshots.feature +21 -0
  10. data/features/step_definitions/browser_steps.rb +4 -0
  11. data/features/step_definitions/environment_steps.rb +2 -2
  12. data/features/step_definitions/login_helper_steps.rb +11 -0
  13. data/features/step_definitions/rspec_steps.rb +32 -0
  14. data/features/step_definitions/saucelabs_steps.rb +18 -0
  15. data/features/step_definitions/screenshot_steps.rb +3 -0
  16. data/lib/mediawiki_selenium.rb +6 -3
  17. data/lib/mediawiki_selenium/browser_factory/base.rb +5 -1
  18. data/lib/mediawiki_selenium/cucumber.rb +4 -0
  19. data/lib/mediawiki_selenium/{support → cucumber}/env.rb +2 -4
  20. data/lib/mediawiki_selenium/cucumber/hooks.rb +73 -0
  21. data/lib/mediawiki_selenium/cucumber/sauce.rb +22 -0
  22. data/lib/mediawiki_selenium/{support/modules → cucumber}/strict_pending.rb +0 -0
  23. data/lib/mediawiki_selenium/environment.rb +41 -20
  24. data/lib/mediawiki_selenium/{support/modules → helpers}/api_helper.rb +15 -0
  25. data/lib/mediawiki_selenium/{support/modules → helpers}/headless_helper.rb +21 -13
  26. data/lib/mediawiki_selenium/helpers/login_helper.rb +36 -0
  27. data/lib/mediawiki_selenium/helpers/screenshot_helper.rb +58 -0
  28. data/lib/mediawiki_selenium/{support/modules → helpers}/user_factory_helper.rb +0 -0
  29. data/lib/mediawiki_selenium/pages.rb +3 -0
  30. data/lib/mediawiki_selenium/{support/pages → pages}/login_page.rb +0 -0
  31. data/lib/mediawiki_selenium/{support/pages → pages}/random_page.rb +0 -0
  32. data/lib/mediawiki_selenium/{support/pages → pages}/reset_preferences_page.rb +0 -0
  33. data/lib/mediawiki_selenium/remote_browser_factory.rb +12 -3
  34. data/lib/mediawiki_selenium/rspec.rb +51 -0
  35. data/lib/mediawiki_selenium/rspec/environment.rb +36 -0
  36. data/lib/mediawiki_selenium/rspec/features.rb +49 -0
  37. data/lib/mediawiki_selenium/step_definitions/login_steps.rb +1 -3
  38. data/lib/mediawiki_selenium/version.rb +1 -1
  39. data/mediawiki_selenium.gemspec +2 -2
  40. data/spec/environment_spec.rb +12 -0
  41. data/spec/screenshot_helper_spec.rb +95 -0
  42. data/templates/tests/browser/features/support/env.rb +2 -1
  43. metadata +52 -38
  44. data/lib/mediawiki_selenium/support.rb +0 -4
  45. data/lib/mediawiki_selenium/support/hooks.rb +0 -92
  46. data/lib/mediawiki_selenium/support/pages.rb +0 -3
  47. data/lib/mediawiki_selenium/support/sauce.rb +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9883a47e71cdb76841699d8292442f00a6312a63
4
- data.tar.gz: 6af66ee6695ba0e33cb68ade1aa2bae67566cadc
3
+ metadata.gz: 1ff49ed757245b3019e90d0e6c97a2b1f50d0798
4
+ data.tar.gz: 30e39088a9deffa94072fb2d6f1b8768548c6d9c
5
5
  SHA512:
6
- metadata.gz: 1656892e8f622ce63c4683d0a14f5626834d102be62512bbc8c7510adce55467a1b6cc9eee1a5e229f1b6985323997ca86b9cf86b914607d3117d7dd95d28d30
7
- data.tar.gz: 4a7fb08977d4c047721e9329a8e31fdfabf176c4a7efd1d83cee36014e68eb084abe2acfc8dca13bab39c5c5054b61547ab8a045f635c786b9d4d573fef9066e
6
+ metadata.gz: 1d2176c6a4c894d9d7e0198c5afb248a7b3a41a1f1a6d667612517133bfc3863f9f129c0d776d988196ec49c276ebae6043d6b75fe607a6909709a89fefa9c4b
7
+ data.tar.gz: fd7d44415b1ea8397629c44fde70f300b390924c78a33735590c211bb7b2e9413bb9686eeee73d54dda70b276b036014af2152b55147098f57de0d9c90bde510
@@ -1,5 +1,11 @@
1
1
  AllCops:
2
2
  StyleGuideCopsOnly: true
3
+ Exclude:
4
+ - 'vendor/**/*'
5
+ # Features syntax is a vendor file imported from Capybara. Ignore it.
6
+ - 'lib/mediawiki_selenium/rspec/features.rb'
7
+ # Ignore anything left around in `tmp`
8
+ - 'tmp/**/*'
3
9
 
4
10
  Metrics/LineLength:
5
11
  Max: 100
data/.yardopts CHANGED
@@ -2,4 +2,5 @@
2
2
  --charset utf-8
3
3
  --title "MediaWiki Selenium"
4
4
  --markup markdown
5
+ --exclude mediawiki_selenium/rspec/features.rb
5
6
  'lib/**/*.rb' - '*.md'
data/README.md CHANGED
@@ -46,8 +46,8 @@ system wide Ruby.)
46
46
 
47
47
  ## Upgrading
48
48
 
49
- Please read the included `UPGRADE.md` for documentation on how to upgrade from
50
- one major release to another.
49
+ Please read {file:UPGRADE.md} for documentation on how to upgrade from one
50
+ major release to another.
51
51
 
52
52
  ## Getting Started
53
53
 
@@ -221,343 +221,68 @@ For a list of MediaWiki repositories that use this gem, see the [Repositories wi
221
221
 
222
222
  See https://www.mediawiki.org/wiki/Gerrit
223
223
 
224
- ## Release notes
225
-
226
- ### 1.5.0 2015-07-23
227
- * Video recording of headless browser sessions are now saved to
228
- `HEADLESS_CAPTURE_PATH` for failed scenarios
229
- * Page objects can now reference the current `Environment` object as `env` in
230
- their page URL ERb
231
-
232
- ### 1.4.0 2015-06-26
233
- * New user factory module provides account fixtures for a greater level of
234
- isolation/atomicity between scenarios
235
- * Updated MediaWiki API client and Cucumber dependencies for various fixes
236
- * Fixed `PageFactory#on` for cases where it's used before browser
237
- initialization
238
- * Implemented integration tests that run against a MediaWiki instance in CI
239
-
240
- ### 1.3.0 2015-06-10
241
- * Added `Environment#override` for overriding environment configuration at
242
- runtime
243
- * Removed deprecated `APIPage` page object and updated upgrade docs
244
-
245
- ### 1.2.1 2015-06-02
246
- * Fixed issue with inconsistent JSON output in Raita logger when using
247
- scenario outlines
248
-
249
- ### 1.2.0 2015-05-28
250
- * Support logging to a [Raita](http://git.wikimedia.org/summary/integration%2Fraita.git)
251
- Elasticsearch database by setting `RAITA_URL`
252
- * Removed deprecated support for `MEDIAWIKI_PASSWORD_VARIABLE`
253
-
254
- ### 1.1.0 2015-04-06
255
- * Support for `browser_http_proxy` in Firefox, Chrome, and Phantomjs
256
- * Renamed browser factory `bind` method to `configure`
257
-
258
- ### 1.0.2 2015-03-26
259
- * Fixed double yield bug in `PageFactory#on`
260
- * Implemented loading of a `default` configuration from `environments.yml`
261
- * Improved readme with configuration examples
262
-
263
- ### 1.0.1 2015-03-05
264
- * Fixed regex pattern in shared "I am logged in" step
265
-
266
- ### 1.0.0 2015-01-16
267
- * Substantial refactoring and backwards incompatible changes
268
- * Implemented an "environment abstraction layer" with the aim to:
269
- * Improve test determinism by sourcing environment-specific default
270
- configurations and enforcing an immutable runtime configuration
271
- * Simplify test patterns by providing DSL constructs around commonly tested
272
- MediaWiki resources
273
- * Manage multiple isolated browser sessions within a single test scenario
274
- * Serve more advanced use cases by supporting ad hoc browser customization
275
- * Cleaned up the global object space by moving methods into the new
276
- `Environment` and `BrowserFactory` classes
277
- * Further decoupled core framework from Cucumber, allowing for the possibility
278
- of its use under other Ruby test frameworks like RSpec
279
- * Established test suite with coverage for all newly implemented EAL modules
280
- and classes
281
- * Improved high level and inline documentation with examples and links to
282
- upstream resources
283
-
284
- ### 0.4.1 2014-11-11
285
- * Additional headless environment variables: HEADLESS_DISPLAY, HEADLESS_REUSE, HEADLESS_DESTROY_AT_EXIT.
286
-
287
- ### 0.4.0 2014-09-23
288
-
289
- * Stricter pending behavior for falsely passing steps
290
- * Fixed interoperability of custom browser settings and Sauce sessions
291
-
292
- ### 0.3.2 2014-08-26
293
-
294
- * Bumped runtime dependency for mediawiki_api
295
-
296
- ### 0.3.1 2014-08-12
297
-
298
- * Fixed API request for wiki extensions in dependency check
299
- * Updated readme to include documentation on MEDIAWIKI_API_URL
300
-
301
- ### 0.3.0 2014-08-08
302
-
303
- * Support for MediaWiki extension dependencies via `@extension-<name>` tags
304
- * World `api` helper method for direct access to a pre-authenticated API client
305
- * Gem dependency fixes
306
- * Updated readme
307
-
308
- ### 0.2.26 2014-07-18
309
-
310
- * Added runtime dependency on mediawiki_api
311
- * Added call to #protect from mediawiki_api
312
-
313
- ### 0.2.25 2014-06-27
314
-
315
- * Make the check for complete login independent of language
316
-
317
- ### 0.2.24 2014-06-12
318
-
319
- * No longer using net-http-persistent Ruby gem. Looks like net-http-persistent is causing failures sometimes. Testing if
320
- things will be more stable without it.
321
-
322
- ### 0.2.23 2014-06-05
323
-
324
- * Take screen shot only if browser is opened
325
- * Upgrade to page-object gem 1.0. New version has better debugging.
326
-
327
- ### 0.2.22 2014-04-23
328
-
329
- * Fixed "File name too long" error message
330
-
331
- ### 0.2.21 2014-04-22
332
-
333
- * Do not output link to Sauce Labs when running a local browser
334
-
335
- ### 0.2.20 2014-04-15
336
-
337
- * Updated readme file with release notes
338
- * `APIPage#create` should use `title` and `content` variables when creating a page
339
-
340
- ### 0.2.19 2014-04-11
341
-
342
- * APIPage can create pages via API
343
-
344
- ### 0.2.18 2014-04-11
345
-
346
- * If environment variable HEADLESS is set to true, run a local browser
347
-
348
- ### 0.2.17 2014-04-08
349
-
350
- * File needed for file upload steps was not required
351
- * Login sometimes takes >5s to complete
352
- * Updated readme file
353
-
354
- ### 0.2.16 2014-03-21
355
-
356
- * MobileFrontend and UploadWizard should share upload steps
357
-
358
- ### 0.2.15 2014-03-19
359
-
360
- * Fixed setting a cookie when starting the browser
361
-
362
- ### 0.2.14 2014-03-19
363
-
364
- * A cookie can optionally be set when starting the browser
365
-
366
- ### 0.2.13 2014-03-18
367
-
368
- * The gem should be able to start local and remote browsers with optional browser setup
369
-
370
- ### 0.2.12 2014-03-13
371
-
372
- * Make "page has no ResourceLoader errors" Cucumber step available
373
-
374
- ### 0.2.11 2014-03-10
224
+ ## Releasing the gem
375
225
 
376
- * Add optional argument wait_for_logout_element to login_with method
377
- * Wrapped README.md to 80 chars for readability
226
+ ### Step 1
378
227
 
379
- ### 0.2.10 2014-03-10
228
+ When you're ready to cut a new release, increase the major/minor/patch version (the gem uses [semantic versioning](http://semver.org/)) and add release notes. Release notes should include:
380
229
 
381
- * Added "I am at a random page" step to the gem
382
- * Make it possible to check for ResourceLoader errors anywhere
230
+ - What has changed
231
+ - New features
232
+ - Bug fixes
233
+ - Possible incompatibilities
383
234
 
384
- ### 0.2.9 2014-03-06
235
+ Update gem version in `README.md`, `UPGRADE.md` and `lib/mediawiki_selenium/version.rb`. Add release notes to `RELEASES.md`.
385
236
 
386
- * Fixed login method, instead of waiting for link with text in English, wait for link with href
237
+ ### Step 2
387
238
 
388
- ### 0.2.8 2014-03-06
239
+ Push the commit to Gerrit. Wait for review and merge.
389
240
 
390
- * Moved BROWSER_TIMEOUT implementation to the gem
391
- * Moved Jenkins doc to jenkins-job-builder-config repo
392
- * Updated Ruby version from 2.1.0 to 2.1.1
393
- * Cloudbees Jenkins jobs are now created using Jenkins Job Builder
241
+ ### Step 3
394
242
 
395
- ### 0.2.7 2014-02-21
243
+ When the commit is merged into master branch, fetch it and verify the commit is HEAD, for example:
396
244
 
397
- * Wait for login process to complete
398
- * Added support for @custom-browser Cucumber tag
399
- * Removed configuration of Sauce Labs browsers from the gem
245
+ $ git fetch
246
+ $ git log --oneline --decorate
247
+ 123abcd (HEAD, origin/master, origin/HEAD, master, T108873) Release minor version 1.5.1
248
+ ...
400
249
 
401
- ### 0.2.6 2014-02-18
250
+ ### Step 4
402
251
 
403
- ### 0.2.5 2014-02-17
252
+ Tag the commit, for example:
404
253
 
405
- ### 0.2.4 2014-02-17
254
+ $ git fetch --tags
255
+ $ git log --oneline --decorate
256
+ 123abcd (HEAD, origin/master, origin/HEAD, master, T108873) Release minor version 1.5.1
257
+ ...
258
+ $ git tag 1.5.1 123abcd
259
+ $ git push --tags
406
260
 
407
- ### 0.2.3 2014-02-13
261
+ ### Step 5
408
262
 
409
- ### 0.2.2 2014-02-10
263
+ Build the gem, for example:
410
264
 
411
- * `SCREENSHOT_FAILURES_PATH` environment variable lets you override the destination path for screenshots
412
- * Moved resetting preferences to the gem
413
- * Moved Given(/^I am logged in$/) step to the gem
414
- * Renamed remaining instances of mediawiki-selenium to mediawiki_selenium
415
- * Moved LoginPage class and URL module to the gem
416
- * Moved files to support folder
265
+ $ gem build mediawiki_selenium.gemspec
266
+ Successfully built RubyGem
267
+ Name: mediawiki_selenium
268
+ Version: 1.5.1
269
+ File: mediawiki_selenium-1.5.1.gem
417
270
 
418
- ### 0.2.1 2014-02-07
271
+ The above gem assumes you have working Ruby and RubyGems.
419
272
 
420
- * Get screenshots on failures by setting the environment variable `SCREENSHOT_FAILURES` to `true`
421
- * Add a Gemfile to force a good version of Ruby
422
- * Fixed several "gem build" warnings
423
- * Renamed mediawiki-selenium Ruby gem to mediawiki_selenium
424
- * Added missing contributors
273
+ ### Step 6
425
274
 
426
- ### 0.2.0 2014-02-07
275
+ Push the gem to RubyGems.org, for example:
427
276
 
428
- ### 0.1.21 2014-02-07
277
+ $ gem push mediawiki_selenium-1.5.1.gem
278
+ ...
429
279
 
430
- ### 0.1.20 2014-01-30
280
+ The last step assumes you have RubyGems.org account and are owner of the gem at the site.
431
281
 
432
- * Added the most recent versions of all runtime dependencies
282
+ ### Step 7
433
283
 
434
- ### 0.1.19 2014-01-30
284
+ Announce the new release at [QA](https://lists.wikimedia.org/mailman/listinfo/qa) mailing list.
435
285
 
436
- * Fixed warning message displayed while building the gem
437
- * Display error message if browser is not started for some reason
438
-
439
- ### 0.1.18 2014-01-30
440
-
441
- * Increases verbosity of Cucumber output
442
- * Run browsers headlessly if HEADLESS environment variable is set to true
443
- * Moved Sauce Labs browser configuration to the gem
444
- * Removed debugging code from Jenkins jobs
445
-
446
- ### 0.1.17 2014-01-28
447
-
448
- ### 0.1.16 2014-01-17
449
-
450
- * Resize PhantomJS to 1280x1024 when the browser opens
451
- * Removed code that is no longer needed
452
- * Send e-mail for every unstable Jenkins job
453
- * All "bundle exec cucumber" should end in "|| echo "Failure in cucumber""
454
- * Use new e-mail template
455
- * Added build schedule option for Jenkins builds
456
- * Deleted unused "branch" option
457
- * Added --backtrace to cucumber
458
- * Updated Ruby
459
- * Replacing single quotes with double quotes
460
- * Fix Accept-Language feature for PhantomJS
461
-
462
- ### 0.1.15 2013-12-13
463
-
464
- ### 0.1.14 2013-12-09
465
-
466
- * Make it possible to run tests on Cloudbees using PhantomJS
467
- * Merging the readme files of other repositories with this one
468
- * Prefer double-quoted strings in Ruby code
469
- * Added links to Jenkins jobs
470
-
471
- ### 0.1.13 2013-11-14
472
-
473
- * Resize browser at Sauce Labs to maximum supported size
474
-
475
- ### 0.1.12 2013-11-04
476
-
477
- * Introduce new variable that points to the variable that holds the password
478
-
479
- ### 0.1.11 2013-11-04
480
-
481
- * Passwords are in environment variables but not displayed in Jenkins console log
482
- * Set up Code Climate for all repositories that have Ruby code
483
- * Deleted Jenkins jobs that are known to fail
484
- * Updated documentation
485
-
486
- ### 0.1.10 2013-10-21
487
-
488
- * Updated Jenkins documentation
489
- * Moving gems that all repositories need to the gem
490
- * Deleted unused files
491
- * The gem homepage now points to Gerrit repository
492
- * Moved documentation from qa/browsertests repository
493
- * Updated readme file with usage instructions and links to repositories that use the gem
494
- * Add .gitreview
495
-
496
- ### 0.1.9 2013-10-21
497
-
498
- ### 0.1.8 2013-10-04
499
-
500
- * Use rest_client instead of curl when using Sauce Labs API
501
- * Set build number when running tests at Sauce Labs
502
-
503
- ### 0.1.7 2013-10-04
504
-
505
- * MobileFrontend repository uses @user_agent tag
506
-
507
- ### 0.1.6 2013-10-04
508
-
509
- * Added code needed for CirrusSearch repository
510
-
511
- ### 0.1.5 2013-10-04
512
-
513
- * Move UniversalLanguageSelector hooks back to it's repository
514
-
515
- ### 0.1.4 2013-10-03
516
-
517
- * Remove debugging code committed by mistake
518
-
519
- ### 0.1.3 2013-10-03
520
-
521
- * Moved Cucumber hooks used only for UniversalLanguageSelector to a separate file
522
-
523
- ### 0.1.2 2013-10-03
524
-
525
- * Forgot to require hooks file
526
-
527
- ### 0.1.1 2013-10-03
528
-
529
- * Moved Cucumber hooks to hooks.rb file
530
-
531
- ### 0.1.0 2013-10-03
532
-
533
- * The gem is working, I think it is time to move from 0.0.x
534
-
535
- ### 0.0.7 2013-10-02
536
-
537
- * Moved code from UniversalLanguageSelector repository
538
-
539
- ### 0.0.6 2013-10-02
540
-
541
- * Updated env.rb file to the latest version
542
- * Added license headers to all files that did not have it
543
-
544
- ### 0.0.5 2013-10-02
545
-
546
- * Imported sauce.rb file from browsertests repository
547
-
548
- ### 0.0.4 2013-10-02
549
-
550
- * Include env.rb file from browsertests repository
551
-
552
- ### 0.0.3 2013-10-02
553
-
554
- * Changed license to GPL-2
555
-
556
- ### 0.0.2 2013-10-02
557
-
558
- * Fixed a couple of "gem build" warnings
559
-
560
- ### 0.0.1 2013-10-02
286
+ ## Release notes
561
287
 
562
- * Added description and summary to gemspec file
563
- * Auto generated gem by RubyMine
288
+ See {file:RELEASES.md}.
@@ -0,0 +1,353 @@
1
+ ## Release notes
2
+
3
+ ### 1.6.0 2015-09-25
4
+ * Factored out all Cucumber specific functionality from the main framework
5
+ classes to make way for alternative test harnesses
6
+ * Generalized setup/teardown hooks
7
+ * Reorganized support files to reflect their Cucumber specificity
8
+ * Refactored remote test annotation
9
+ * Moved screenshot-ing to its own helper
10
+ * Experimental support for plain RSpec based tests (see
11
+ [T108273](https://phabricator.wikimedia.org/T108273#1520544) for example
12
+ usage)
13
+ * Implemented API based authentication via the `LoginHelper` and ported the
14
+ Cucumber login step to use it
15
+
16
+ ### 1.5.0 2015-07-23
17
+ * Video recording of headless browser sessions are now saved to
18
+ `HEADLESS_CAPTURE_PATH` for failed scenarios
19
+ * Page objects can now reference the current `Environment` object as `env` in
20
+ their page URL ERb
21
+
22
+ ### 1.4.0 2015-06-26
23
+ * New user factory module provides account fixtures for a greater level of
24
+ isolation/atomicity between scenarios
25
+ * Updated MediaWiki API client and Cucumber dependencies for various fixes
26
+ * Fixed `PageFactory#on` for cases where it's used before browser
27
+ initialization
28
+ * Implemented integration tests that run against a MediaWiki instance in CI
29
+
30
+ ### 1.3.0 2015-06-10
31
+ * Added `Environment#override` for overriding environment configuration at
32
+ runtime
33
+ * Removed deprecated `APIPage` page object and updated upgrade docs
34
+
35
+ ### 1.2.1 2015-06-02
36
+ * Fixed issue with inconsistent JSON output in Raita logger when using
37
+ scenario outlines
38
+
39
+ ### 1.2.0 2015-05-28
40
+ * Support logging to a [Raita](http://git.wikimedia.org/summary/integration%2Fraita.git)
41
+ Elasticsearch database by setting `RAITA_URL`
42
+ * Removed deprecated support for `MEDIAWIKI_PASSWORD_VARIABLE`
43
+
44
+ ### 1.1.0 2015-04-06
45
+ * Support for `browser_http_proxy` in Firefox, Chrome, and Phantomjs
46
+ * Renamed browser factory `bind` method to `configure`
47
+
48
+ ### 1.0.2 2015-03-26
49
+ * Fixed double yield bug in `PageFactory#on`
50
+ * Implemented loading of a `default` configuration from `environments.yml`
51
+ * Improved readme with configuration examples
52
+
53
+ ### 1.0.1 2015-03-05
54
+ * Fixed regex pattern in shared "I am logged in" step
55
+
56
+ ### 1.0.0 2015-01-16
57
+ * Substantial refactoring and backwards incompatible changes
58
+ * Implemented an "environment abstraction layer" with the aim to:
59
+ * Improve test determinism by sourcing environment-specific default
60
+ configurations and enforcing an immutable runtime configuration
61
+ * Simplify test patterns by providing DSL constructs around commonly tested
62
+ MediaWiki resources
63
+ * Manage multiple isolated browser sessions within a single test scenario
64
+ * Serve more advanced use cases by supporting ad hoc browser customization
65
+ * Cleaned up the global object space by moving methods into the new
66
+ `Environment` and `BrowserFactory` classes
67
+ * Further decoupled core framework from Cucumber, allowing for the possibility
68
+ of its use under other Ruby test frameworks like RSpec
69
+ * Established test suite with coverage for all newly implemented EAL modules
70
+ and classes
71
+ * Improved high level and inline documentation with examples and links to
72
+ upstream resources
73
+
74
+ ### 0.4.1 2014-11-11
75
+ * Additional headless environment variables: HEADLESS_DISPLAY, HEADLESS_REUSE, HEADLESS_DESTROY_AT_EXIT.
76
+
77
+ ### 0.4.0 2014-09-23
78
+
79
+ * Stricter pending behavior for falsely passing steps
80
+ * Fixed interoperability of custom browser settings and Sauce sessions
81
+
82
+ ### 0.3.2 2014-08-26
83
+
84
+ * Bumped runtime dependency for mediawiki_api
85
+
86
+ ### 0.3.1 2014-08-12
87
+
88
+ * Fixed API request for wiki extensions in dependency check
89
+ * Updated readme to include documentation on MEDIAWIKI_API_URL
90
+
91
+ ### 0.3.0 2014-08-08
92
+
93
+ * Support for MediaWiki extension dependencies via `@extension-<name>` tags
94
+ * World `api` helper method for direct access to a pre-authenticated API client
95
+ * Gem dependency fixes
96
+ * Updated readme
97
+
98
+ ### 0.2.26 2014-07-18
99
+
100
+ * Added runtime dependency on mediawiki_api
101
+ * Added call to #protect from mediawiki_api
102
+
103
+ ### 0.2.25 2014-06-27
104
+
105
+ * Make the check for complete login independent of language
106
+
107
+ ### 0.2.24 2014-06-12
108
+
109
+ * No longer using net-http-persistent Ruby gem. Looks like net-http-persistent is causing failures sometimes. Testing if
110
+ things will be more stable without it.
111
+
112
+ ### 0.2.23 2014-06-05
113
+
114
+ * Take screen shot only if browser is opened
115
+ * Upgrade to page-object gem 1.0. New version has better debugging.
116
+
117
+ ### 0.2.22 2014-04-23
118
+
119
+ * Fixed "File name too long" error message
120
+
121
+ ### 0.2.21 2014-04-22
122
+
123
+ * Do not output link to Sauce Labs when running a local browser
124
+
125
+ ### 0.2.20 2014-04-15
126
+
127
+ * Updated readme file with release notes
128
+ * `APIPage#create` should use `title` and `content` variables when creating a page
129
+
130
+ ### 0.2.19 2014-04-11
131
+
132
+ * APIPage can create pages via API
133
+
134
+ ### 0.2.18 2014-04-11
135
+
136
+ * If environment variable HEADLESS is set to true, run a local browser
137
+
138
+ ### 0.2.17 2014-04-08
139
+
140
+ * File needed for file upload steps was not required
141
+ * Login sometimes takes >5s to complete
142
+ * Updated readme file
143
+
144
+ ### 0.2.16 2014-03-21
145
+
146
+ * MobileFrontend and UploadWizard should share upload steps
147
+
148
+ ### 0.2.15 2014-03-19
149
+
150
+ * Fixed setting a cookie when starting the browser
151
+
152
+ ### 0.2.14 2014-03-19
153
+
154
+ * A cookie can optionally be set when starting the browser
155
+
156
+ ### 0.2.13 2014-03-18
157
+
158
+ * The gem should be able to start local and remote browsers with optional browser setup
159
+
160
+ ### 0.2.12 2014-03-13
161
+
162
+ * Make "page has no ResourceLoader errors" Cucumber step available
163
+
164
+ ### 0.2.11 2014-03-10
165
+
166
+ * Add optional argument wait_for_logout_element to login_with method
167
+ * Wrapped README.md to 80 chars for readability
168
+
169
+ ### 0.2.10 2014-03-10
170
+
171
+ * Added "I am at a random page" step to the gem
172
+ * Make it possible to check for ResourceLoader errors anywhere
173
+
174
+ ### 0.2.9 2014-03-06
175
+
176
+ * Fixed login method, instead of waiting for link with text in English, wait for link with href
177
+
178
+ ### 0.2.8 2014-03-06
179
+
180
+ * Moved BROWSER_TIMEOUT implementation to the gem
181
+ * Moved Jenkins doc to jenkins-job-builder-config repo
182
+ * Updated Ruby version from 2.1.0 to 2.1.1
183
+ * Cloudbees Jenkins jobs are now created using Jenkins Job Builder
184
+
185
+ ### 0.2.7 2014-02-21
186
+
187
+ * Wait for login process to complete
188
+ * Added support for @custom-browser Cucumber tag
189
+ * Removed configuration of Sauce Labs browsers from the gem
190
+
191
+ ### 0.2.6 2014-02-18
192
+
193
+ ### 0.2.5 2014-02-17
194
+
195
+ ### 0.2.4 2014-02-17
196
+
197
+ ### 0.2.3 2014-02-13
198
+
199
+ ### 0.2.2 2014-02-10
200
+
201
+ * `SCREENSHOT_FAILURES_PATH` environment variable lets you override the destination path for screenshots
202
+ * Moved resetting preferences to the gem
203
+ * Moved Given(/^I am logged in$/) step to the gem
204
+ * Renamed remaining instances of mediawiki-selenium to mediawiki_selenium
205
+ * Moved LoginPage class and URL module to the gem
206
+ * Moved files to support folder
207
+
208
+ ### 0.2.1 2014-02-07
209
+
210
+ * Get screenshots on failures by setting the environment variable `SCREENSHOT_FAILURES` to `true`
211
+ * Add a Gemfile to force a good version of Ruby
212
+ * Fixed several "gem build" warnings
213
+ * Renamed mediawiki-selenium Ruby gem to mediawiki_selenium
214
+ * Added missing contributors
215
+
216
+ ### 0.2.0 2014-02-07
217
+
218
+ ### 0.1.21 2014-02-07
219
+
220
+ ### 0.1.20 2014-01-30
221
+
222
+ * Added the most recent versions of all runtime dependencies
223
+
224
+ ### 0.1.19 2014-01-30
225
+
226
+ * Fixed warning message displayed while building the gem
227
+ * Display error message if browser is not started for some reason
228
+
229
+ ### 0.1.18 2014-01-30
230
+
231
+ * Increases verbosity of Cucumber output
232
+ * Run browsers headlessly if HEADLESS environment variable is set to true
233
+ * Moved Sauce Labs browser configuration to the gem
234
+ * Removed debugging code from Jenkins jobs
235
+
236
+ ### 0.1.17 2014-01-28
237
+
238
+ ### 0.1.16 2014-01-17
239
+
240
+ * Resize PhantomJS to 1280x1024 when the browser opens
241
+ * Removed code that is no longer needed
242
+ * Send e-mail for every unstable Jenkins job
243
+ * All "bundle exec cucumber" should end in "|| echo "Failure in cucumber""
244
+ * Use new e-mail template
245
+ * Added build schedule option for Jenkins builds
246
+ * Deleted unused "branch" option
247
+ * Added --backtrace to cucumber
248
+ * Updated Ruby
249
+ * Replacing single quotes with double quotes
250
+ * Fix Accept-Language feature for PhantomJS
251
+
252
+ ### 0.1.15 2013-12-13
253
+
254
+ ### 0.1.14 2013-12-09
255
+
256
+ * Make it possible to run tests on Cloudbees using PhantomJS
257
+ * Merging the readme files of other repositories with this one
258
+ * Prefer double-quoted strings in Ruby code
259
+ * Added links to Jenkins jobs
260
+
261
+ ### 0.1.13 2013-11-14
262
+
263
+ * Resize browser at Sauce Labs to maximum supported size
264
+
265
+ ### 0.1.12 2013-11-04
266
+
267
+ * Introduce new variable that points to the variable that holds the password
268
+
269
+ ### 0.1.11 2013-11-04
270
+
271
+ * Passwords are in environment variables but not displayed in Jenkins console log
272
+ * Set up Code Climate for all repositories that have Ruby code
273
+ * Deleted Jenkins jobs that are known to fail
274
+ * Updated documentation
275
+
276
+ ### 0.1.10 2013-10-21
277
+
278
+ * Updated Jenkins documentation
279
+ * Moving gems that all repositories need to the gem
280
+ * Deleted unused files
281
+ * The gem homepage now points to Gerrit repository
282
+ * Moved documentation from qa/browsertests repository
283
+ * Updated readme file with usage instructions and links to repositories that use the gem
284
+ * Add .gitreview
285
+
286
+ ### 0.1.9 2013-10-21
287
+
288
+ ### 0.1.8 2013-10-04
289
+
290
+ * Use rest_client instead of curl when using Sauce Labs API
291
+ * Set build number when running tests at Sauce Labs
292
+
293
+ ### 0.1.7 2013-10-04
294
+
295
+ * MobileFrontend repository uses @user_agent tag
296
+
297
+ ### 0.1.6 2013-10-04
298
+
299
+ * Added code needed for CirrusSearch repository
300
+
301
+ ### 0.1.5 2013-10-04
302
+
303
+ * Move UniversalLanguageSelector hooks back to it's repository
304
+
305
+ ### 0.1.4 2013-10-03
306
+
307
+ * Remove debugging code committed by mistake
308
+
309
+ ### 0.1.3 2013-10-03
310
+
311
+ * Moved Cucumber hooks used only for UniversalLanguageSelector to a separate file
312
+
313
+ ### 0.1.2 2013-10-03
314
+
315
+ * Forgot to require hooks file
316
+
317
+ ### 0.1.1 2013-10-03
318
+
319
+ * Moved Cucumber hooks to hooks.rb file
320
+
321
+ ### 0.1.0 2013-10-03
322
+
323
+ * The gem is working, I think it is time to move from 0.0.x
324
+
325
+ ### 0.0.7 2013-10-02
326
+
327
+ * Moved code from UniversalLanguageSelector repository
328
+
329
+ ### 0.0.6 2013-10-02
330
+
331
+ * Updated env.rb file to the latest version
332
+ * Added license headers to all files that did not have it
333
+
334
+ ### 0.0.5 2013-10-02
335
+
336
+ * Imported sauce.rb file from browsertests repository
337
+
338
+ ### 0.0.4 2013-10-02
339
+
340
+ * Include env.rb file from browsertests repository
341
+
342
+ ### 0.0.3 2013-10-02
343
+
344
+ * Changed license to GPL-2
345
+
346
+ ### 0.0.2 2013-10-02
347
+
348
+ * Fixed a couple of "gem build" warnings
349
+
350
+ ### 0.0.1 2013-10-02
351
+
352
+ * Added description and summary to gemspec file
353
+ * Auto generated gem by RubyMine