Skip to content

juliemr/webdriverjs-retry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

webdriverjs-retry

Retry library for webdriverJS tests.

BETA BETA BETA BETA

Usage

Install with npm install webdriverjs-retry

Interface

var retry = require('webdriverjs-retry');

/**
 * @param {function} fn The function to execute. The entire contents of the
 *     function will be retried.
 * @param {number=} opt_timeout The total time to wait for this test to pass. If the
 *     timeout is exceeded and the code is erroring, throw that error.
 * @param {number=} opt_sleep Time to sleep between retries. Defaults to 100ms.
 * @return {webdriver.promise.Promise} a promise which will resolve when
 *     the retry is complete, or reject if the retry times out or encounters
 *     an error which is not ignored.
 */
retry.run(fn, opt_timeout, opt_sleep)

/**
 * Set the default timeout for this retrier.
 * @param {numer} timeout
 */
retry.setDefaultTimeout(timeout)

/**
 * Set the default sleep for this retrier.
 * @param {numer} sleep
 */
retry.setDefaultSleep(sleep)

/**
 * Set the errors to be ignored. By default, all errors are ignored.
 * The arguments may be either error classes or numbers, which correspond
 * to error codes.
 *
 * For a list of webdriver error codes, see
 * https://code.google.com/p/selenium/source/browse/javascript/atoms/error.js
 *
 * @param {...(number|Object)} varArgs a list of error codes or error
 *     classes to be ignored
 */
retry.ignoring(ErrorTypeA, ErrorTypeB, ...)

In your test

var retry = require('webdriverjs-retry');

var driver = ... // set up your webdriver

driver.get('localhost:8888');

// Do some stuff with your driver.

retry.run(function() {
  // Note that everything in here will be retried - including the
  // first click.
  driver.findElement(webdriver.By.id('showmessage')).click();

  // Even if it takes a while to show the message, this will pass.
  driver.findElement(webdriver.By.id('message')).click();
}, 5000);

// continue with your test

See a full example.

About

Retry lib for webdriverJS code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published