Repository  -  API  -  Source


August 9, 2018
  • Fix web.isAlertPresent.
  • Add mob.clickMultipleTimes.
  • Fix int handling in assert.equal
  • Perform Javascript injection click if regular click fails in
  • Reimplemented mob.clickLong using a different method to support iOS 11.4.
  • Fix bug with skipping second record in CSV file.
  • Add http.getResponseHeaders.
  • Fix hang in twilio.getLastSms.
  • Add support for script arguments in web.executeScript.
  • Improve logging.
  • Drop verify module.
  • Bump dependencies.


June 1, 2018
  • Fix mob.getCaps for suites.
  • Bump default swipe speed for mob.swipe to 30.
  • Fix mob.execute.
  • Fix email module to read last email instead of the first.
  • Bump dependencies.


May 16, 2018
  • Add web.getUrl command.
  • Change web.assertText and web.assertValue commands behavior to pass text or value assertions of hidden elements.


May 16, 2018
  • Revised handling of 'require' calls from Oxygen script.


May 16, 2018
  • Various twilio module fixes.
  • Various email module fixes.


May 15, 2018
  • Add support for referencing global node modules with require.
  • Add require.allow option to control if require usage is allowed within the script.
  • Add opt.autoReport flag to test script - allow to turn on/off auto-reporting steps.
  • Add preliminary implementation of twilio module.
  • Add preliminary implementation of email module.


April 22, 2018
  • Add mob.getValue.
  • Fix mob.getText.
  • Allow to use require with global modules inside test scripts.
  • Use window size instead of viewport in web.setWindowSize
  • Add customStep method.
  • Add support for continueOnError option.
  • Fix mob module re-initialization when reopenSession is specified.


March 16, 2018
  • Add --delay switch for delaying command execution.
  • Add web.waitForNotExist.
  • Throw NO_SUCH_ELEMENT from web.waitForVisible if element doesn't exist.
  • Deprecate web.waitForElementPresent.
  • Throw LOCATOR_MATCHES_MULTIPLE_ELEMENTS from web.gettAttribute and web.getText if the locator matches multiple elements.
  • Add mob.selectFrame.
  • Fix context and init method capabilities merging.
  • Bump dependencies.


February 27, 2018
  • Add mob.clickLong.
  • Don't check for element visibility in


February 14, 2018
  • Fix parameters reading.


February 8, 2018
  • Add mob.enableNetwork.
  • Fix mob.swipe and mob.dragAndDrop docs.
  • Bump dependencies.


January 21, 2018
  • Remove '-m' switch.
  • Add support for accessibility id locators on Android.
  • [Breaking change] Use ~ for accessibility id locators on iOS instead of "id=" prefix.
  • Make driver instance accessible from user level scripts.
  • Add support for external debuggers.


December 25, 2017
  • Emit iteration-end event.


December 25, 2017
  • Add mob.alertAccept.
  • Fix accessibility id locator strategy for native iOS applications.
  • Documentation fixes.


December 16, 2017
  • [Breaking change] Require explicit web module initialization with web.init.
  • Add mob.unlockPattern.
  • A more reliable web.waitFor* implementation.
  • Add preliminary support for JUnit reports.
  • Fix suites execution stopping on the first fatal error.
  • Fix status code handling in http module.
  • Add support for native android id locators without package prefix.
  • Trim and collapse white space for web.getAttribute, getCssValue, getText return values.
  • Collapse whitespace in patterns.
  • Add preliminary date module implementation.
  • webdriverio@4.9.9


November 11, 2017
  • Fix time formatting in reports.
  • Fix reliability issues with web.waitForWindow.
  • Add mob.smsClickLink.
  • Change mob.getSmsText to mob.smsGetText.


October 30, 2017
  • Add serial.write and serial.getBuffer.
  • mob.getSmsText now uses android-smspopup application (see documentation) instead of SMSPopup from Play Store and accepts optional wait argument.
  • Add mob.isExist.
  • Fix regex pattern matching not performing the matching globally.


October 23, 2017
  • Fixed certain errors being ignored.
  • Add serial module.
  • Add http module.
  • Add mob.getLcoation
  • Fixed empty pattern matching in web module.
  • Fixed web.selectWindow and web.waitForWindow failing if there is no currently active window.
  • Fixed name locator handling in web module.


October 17, 2017
  • Return attribute only for the first matching element in web.getAttribute.
  • Fix glob pattern matching in multi line text.


October 16, 2017
  • Return boolean instead of string from* commands.


October 15, 2017
  • Fix mob.scrollIntoElement


October 12, 2017
  • Use local time instead of UTC in reports.


October 11, 2017
  • Add mob.isCheckable, mob.isChecked, mob.isClickable, mob.isSelected
  • mob.scroll command renamed to mob.dragAndDrop
  • Fix web.type failing if passed value is not a string.
  • Fix handling of parameters with underscore in the name.
  • Update dependencies.


October 1, 2017
  • Fix error types generated on waitForExist and and waitForVisible.


September 29, 2017
  • web, soap, and db modules, previously implemented in C#, have been reimplemented in Node.js. This provides a number of significant benefits - faster test initialization, removes the need for version matching between Oxygen and Selenium servers, solves a number of issues on Linux/OS X related to Mono version incompatibility, allows using soap and db along with the mob module, and provides more flexibility in module's development.

    Note that .NET/Mono is still required if you wish to generate HTML or PDF reports.
    In addition, db module now requires unixODBC libraries to be installed. See README. If unixODBC is not available the module won't be installed.

    Module specific changes are as follows:

    get12 - Removed in favor of the new soap.get method.
    get - Signature changed to accept WSDL URL, method name, and any complex objects as service arguments. Unlike prior implementation this method will return object instead of a JSON serialization.

    setBaseUrl, quit, getXMLPageSourceAsJSON
    [waitForWindow, waitForValue, waitForText, waitForNotValuec, waitForNotValue, waitForElementPresent,

           `assertValue`, `assertElementPresent`, `assertAlert`, `assertSelectedValue`, `assertSelectedLabel`] - Now accept timeout as and optional argument.  

    type - Support for ${KEY_} key codes has been removed in favor of Unicode characters.
    point - Accepts two optional arguments xoffset and yoffset.
    getWindowHandles - Return type changed to String[].
    getElementCount - Accepts any of supported locators in addition to XPath.
    getElementCount - Return type changed to Object.

    Temporary removed pending rewrite.

  • Updated dependencies.


September 17, 2017
  • Fix iteration collapsing not working in HTML reports when having more than one iteration.
  • Improve HTML reports.
  • Add PDF reporter (--rf=pdf switch).
  • Fix oxygen bin not launching on OSX and Linux.
  • Fix random parameters mode.


September 2, 2017
  • Add web.getCssValue command.


August 21, 2017
  • Add mob.tap command.


August 14, 2017
  • Make log.* commands generate proper output in html reports.
  • Remove log.fatal command.


August 5, 2017
  • Additional mobile locators: desc-contains, text-contains, scrollable, link-contains.
  • Fix not being able to use transactions when running web tests with multiple iterations.
  • Add ability to run mobile tests against remote hubs.


July 31, 2017
  • Fix number of issues with Excel reports generation.
  • Fix report generation when --pm=all option is used.
  • Don't generate unnecessary XML report when using the --rf=html option.


July 28, 2017
  • Fix global installation.


July 28, 2017
  • Initial release published to npm registry.