How to use webdriver - 10 common examples

To help you get started, we’ve selected a few webdriver examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github bookbrainz / bookbrainz-site / test / custom_commands / customSauceEnd.js View on Github external
export function command() {
	const saucelabs = new SauceLabs({
		password: process.env.SAUCE_ACCESS_KEY,
		username: process.env.SAUCE_USERNAME
	});

	const sessionid = this.capabilities['webdriver.remote.sessionid'];
	const jobName = this.currentTest.name;

	saucelabs.updateJob(sessionid, {
		name: jobName,
		passed: this.currentTest.results.failed === 0
	}, () => {
		// empty
	});

	this.end();
}
/* eslint-enable babel/no-invalid-this */
github keystonejs / keystone-nightwatch-e2e / nightwatch.conf.js View on Github external
module.exports = (function (settings) {
	var isWindows = /^win/.test(process.platform);
	var chromedriverPath = require.resolve('chromedriver');
	var geckoDriverPath = require.resolve('geckodriver');
	var chromeDriver = isWindows ? path.join(chromedriverPath, '../chromedriver', 'chromedriver.exe') : path.join(chromedriverPath, '../chromedriver', 'chromedriver');
	var geckoDriver = isWindows ? path.join(geckoDriverPath, '../..', 'geckodriver.exe') : path.join(geckoDriverPath, '../..', 'geckodriver');

	// The following environment variables are set to comma separated strings in index.js
	// Here we will convert them to an array, as required by nightwatch.
	settings.src_folders = process.env.KNE_TEST_PATHS.split(',');
	settings.page_objects_path = process.env.KNE_PAGE_OBJECT_PATHS.split(',');
	settings.test_settings.default.exclude = process.env.KNE_EXCLUDE_TEST_PATHS.split(',');

	settings.globals_path = path.resolve(__dirname, 'globals.js');
	settings.selenium.cli_args['webdriver.chrome.driver'] = chromeDriver;
	settings.selenium.cli_args['webdriver.gecko.driver'] = geckoDriver;

	if (process.env.KNE_BROWSER_NAME) {
		settings.test_settings[process.env.KNE_TEST_ENV].desiredCapabilities.browserName = process.env.KNE_BROWSER_NAME;
	}

	if (process.env.KNE_BROWSER_VERSION) {
		settings.test_settings[process.env.KNE_TEST_ENV].desiredCapabilities.version = process.env.KNE_BROWSER_VERSION;
	}

	console.log('nightwatch settings:'
		+ '\n\tNightwatch Environment: ' + process.env.KNE_TEST_ENV
		+ '\n\tNightwatch Start Selenium: ' + process.env.KNE_SELENIUM_START_PROCESS
		+ '\n\tBrowser Name: ' + settings.test_settings[process.env.KNE_TEST_ENV].desiredCapabilities.browserName
		+ '\n\tBrowser Version: ' + settings.test_settings[process.env.KNE_TEST_ENV].desiredCapabilities.version
		+ '\n\tSauceLabs Tunnel Id: ' + process.env.TRAVIS_JOB_NUMBER
github uber / baseweb / e2e / commands / notifySauceLabs.js View on Github external
exports.command = function(callback) {
  // sauce lab does not support the concept of branches, so only reporting the master results
  if (process.env.BUILDKITE_BRANCH !== 'master') {
    return callback();
  }
  const saucelabs = new SauceLabs({
    username: process.env.SAUCE_USERNAME,
    password: process.env.SAUCE_ACCESS_KEY,
  });

  const sessionId = this.capabilities['webdriver.remote.sessionid'];
  const name = this.currentTest.name;

  // TODO(#363): figure out how we can report proper test statuses for the master branch
  saucelabs.updateJob(
    sessionId,
    {
      passed: true,
      name,
    },
    callback,
  );
};
github LancerComet / Aniber / nightwatch.conf.js View on Github external
module.exports = (function (settings) {
  // Setup the browser we use.
  // We will use phantomjs by default.
  var browser = process.argv[2] ? process.argv[2].replace(/-/g, '') : 'phantomjs'
  if (browser === 'ie') browser = 'internet explorer'

  // Tell Nightwatch where is the Selenium. | 设置 Selenium 所在位置。
  settings.selenium.server_path = `${path.resolve()}/node_modules/selenium-standalone/.selenium/selenium-server/${seleniumConfig.selenium.version}-server.jar`

  // Attach Chrome web driver. | 加载 Chrome Driver.
  settings.selenium.cli_args['webdriver.chrome.driver'] = `${path.resolve()}/node_modules/selenium-standalone/.selenium/chromedriver/${seleniumConfig.driver.chrome.version}-${seleniumConfig.driver.chrome.arch}-chromedriver`

  // Attach IE web driver. | 加载 IE Driver.
  settings.selenium.cli_args['webdriver.ie.driver'] = `${path.resolve()}/node_modules/selenium-standalone/.selenium/iedriver/${seleniumConfig.driver.ie.version}-${seleniumConfig.driver.ie.arch}-IEDriverServer.exe`

  // Attach Phantom.JS. | 设置 Phantom.JS.
  settings.test_settings.default.desiredCapabilities['phantomjs.binary.path'] = phantomjs.path

  // Setup browser that runs testing. | 设置使用的浏览器.
  settings.test_settings.default.desiredCapabilities.browserName = browser

  return settings
})(require('./nightwatch.json'))
github rkavalap / NightWatchTest / nightwatch.conf.js View on Github external
fs.readdirSync(dirname)
        .filter(isJson)
        .forEach(saveSetting);
}


//  main  //

configs = checkConfigPath("./configs/defaults");

deployments = checkConfigPath("./configs/deployments");

capabilities = checkConfigPath("./configs/capabilities");

capabilities["localchrome"].selenium.cli_args["webdriver.chrome.driver"] += SUFFIX;

mergeDeploymentAndCapabilitiesJson();

doEnvironments(resolve(__dirname, "configs/TestConfigData"));

module.exports = configs;
github LancerComet / Aniber / nightwatch.conf.js View on Github external
module.exports = (function (settings) {
  // Setup the browser we use.
  // We will use phantomjs by default.
  var browser = process.argv[2] ? process.argv[2].replace(/-/g, '') : 'phantomjs'
  if (browser === 'ie') browser = 'internet explorer'

  // Tell Nightwatch where is the Selenium. | 设置 Selenium 所在位置。
  settings.selenium.server_path = `${path.resolve()}/node_modules/selenium-standalone/.selenium/selenium-server/${seleniumConfig.selenium.version}-server.jar`

  // Attach Chrome web driver. | 加载 Chrome Driver.
  settings.selenium.cli_args['webdriver.chrome.driver'] = `${path.resolve()}/node_modules/selenium-standalone/.selenium/chromedriver/${seleniumConfig.driver.chrome.version}-${seleniumConfig.driver.chrome.arch}-chromedriver`

  // Attach IE web driver. | 加载 IE Driver.
  settings.selenium.cli_args['webdriver.ie.driver'] = `${path.resolve()}/node_modules/selenium-standalone/.selenium/iedriver/${seleniumConfig.driver.ie.version}-${seleniumConfig.driver.ie.arch}-IEDriverServer.exe`

  // Attach Phantom.JS. | 设置 Phantom.JS.
  settings.test_settings.default.desiredCapabilities['phantomjs.binary.path'] = phantomjs.path

  // Setup browser that runs testing. | 设置使用的浏览器.
  settings.test_settings.default.desiredCapabilities.browserName = browser

  return settings
})(require('./nightwatch.json'))
github summernote / summernote / test / libs / sauce.js View on Github external
const reportResult = (client, done) => {
  if (!process.env.TRAVIS) { return done(); }

  const user = client.options.username;
  const key = client.options.accessKey;
  const jobId = client.capabilities['webdriver.remote.sessionid'];

  if (user && key && jobId) {
    const passed = client.currentTest.results.failed === 0;
    console.log('* updating job status:', jobId, passed);
    const url = 'https://saucelabs.com/rest/v1/' + user + '/jobs/' + jobId;
    return request.put({
      url: url,
      auth: {
        username: user,
        password: key,
      },
      headers: { 'content-type': 'application/json' },
      body: JSON.stringify({ passed: passed }),
    }, function(res, status, body) {
      console.log('Sauce response:', body);
      done();
github watson-virtual-agents / chat-widget / test / selenium / sauce / index.js View on Github external
module.exports = function sauce(client, callback) {
  var currentTest = client.currentTest;
  var username = client.options.username;
  var sessionId = client.capabilities['webdriver.remote.sessionid'];
  var accessKey = client.options.accessKey;

  if (!username || !accessKey || !sessionId) {
    console.log(client);
    return callback();
  }

  var passed = currentTest.results.passed === currentTest.results.tests;

  var data = JSON.stringify({ passed });

  var axios = Axios.create({
    baseURL: 'https://saucelabs.com',
    auth: {
      username: username,
      password: accessKey
github gymnastjs / gymnast / test / screenshot / commands / sauceEnd.js View on Github external
exports.command = function command(callback) {
  const saucelabs = new SauceLabs({
    username,
    password: accessKey,
  })
  const sessionId = this.capabilities['webdriver.remote.sessionid']
  const { name } = this.currentTest
  const passed = this.currentTest.results.failed === 0

  saucelabs.updateJob(sessionId, { passed, name }, callback)

  return this
}
github gymnastjs / picturebook / test / screenshot / commands / seleniumEnd.js View on Github external
exports.command = function seleniumEnd(callback) {
  const saucelabs = new SauceLabs({
    username: image.username,
    password: image.accessKey,
  })
  const sessionId = this.capabilities['webdriver.remote.sessionid']
  const { name } = this.currentTest
  const passed = this.currentTest.results.failed === 0

  saucelabs.updateJob(sessionId, { passed, name }, callback)

  return this
}

webdriver

A Node.js bindings implementation for the W3C WebDriver and Mobile JSONWire Protocol

MIT
Latest version published 7 days ago

Package Health Score

94 / 100
Full package analysis