[QA] Announcing pre-release of MW-Selenium 1.0.0, now with abstraction(tm)

Dan Duvall dduvall at wikimedia.org
Sat Jan 17 00:50:31 UTC 2015


Hey all,

I'm proud to announce that after months of pouring through existing
browser-test repos, studying current test patterns, pairing,
experimentation and development (rinsed, smell tested, repeated), it's
finally time for a new major (pre)release of MW-Selenium, '1.0.0.pre.1'.
Huge thanks to Chris M., Antoine, and Ċ½eljko for their feedback on the
overall framework redesign, and for reviewing ~30 patches and ~90 tests
along the way. I'm also excited to start pairing with you feature
developers our there to see how it can make your browser-testing lives more
enjoyable.

Many important improvements and refactorings constitute this major release,
the most significant of which is an "environment abstraction layer" that,
above all else, aims to make browser tests more deterministic and easier to
implement. The release notes, which I'll paste below, describe these design
objectives in more detail, or you can hop over to the mw.org design article
if you're feeling extra... read-y (sorry, but it's Friday).[1]

### 1.0.0 2015-01-16
* Substantial refactoring and backwards incompatible changes
* Implemented an "environment abstraction layer" with the aim to:
  * Improve test determinism by sourcing environment-specific default
    configurations and enforcing an immutable runtime configuration
  * Simplify test patterns by providing DSL constructs around commonly
tested
    MediaWiki resources (e.g. `as_user(:a) { ... }`, `on_wiki(:b) { ... }`,
    etc.)
  * Manage multiple isolated browser sessions within a single test scenario
  * Serve more advanced use cases by supporting ad hoc browser customization
* Cleaned up the global object space by moving methods into the new
  `Environment` and `BrowserFactory` classes
* Further decoupled core framework from Cucumber, allowing for the
possibility
  of its use under other Ruby test frameworks like RSpec
* Established test suite with coverage for all newly implemented EAL modules
  and classes
* Improved high level and inline documentation with examples and links to
  upstream resources

In addition to implementation improvements, a lot of effort was put into
improving the README and inline documentation.[2] The changes for this new
release are not yet reflected in the various mw.org articles on
browser-test implementation, but will be edited in the coming weeks as a
stable release is vetted.[3][4]

[1]
https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Environment_abstraction_layer
[2] https://doc.wikimedia.org/rubygems/mediawiki-selenium/
[3]
https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Writing_tests
[4]
https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Running_tests

Cheers!
Dan

-- 
Dan Duvall
Automation Engineer
Wikimedia Foundation <http://wikimediafoundation.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.wikimedia.org/pipermail/qa/attachments/20150116/8138e8d6/attachment.html>


More information about the QA mailing list