mediawiki_selenium 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
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