Socket
Socket
Sign inDemoInstall

wd

Package Overview
Dependencies
Maintainers
4
Versions
110
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wd - npm Package Compare versions

Comparing version 1.11.2 to 1.11.3

.eslintrc.js

1

browser-scripts/safe-execute-async.js

@@ -1,2 +0,1 @@

/* jshint evil:true */
var args = Array.prototype.slice.call(arguments, 0);

@@ -3,0 +2,0 @@ var code = args[0], fargs = args[1], done = args[2];

@@ -1,2 +0,1 @@

/* jshint evil:true */
var args = Array.prototype.slice.call(arguments, 0);

@@ -3,0 +2,0 @@ var code = args[0], fargs = args[1];

@@ -1,2 +0,1 @@

/* jshint evil:true */
var args = Array.prototype.slice.call(arguments, 0);

@@ -3,0 +2,0 @@ var condExpr = args[0], timeout = args[1],

@@ -44,3 +44,2 @@ var username = process.env.BROWSERSTACK_USERNAME || "BROWSERSTACK_USERNAME";

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -47,0 +46,0 @@ href.should.include('guinea-pig2');

@@ -41,3 +41,2 @@ var username = process.env.BROWSERSTACK_USERNAME || "BROWSERSTACK_USERNAME";

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -44,0 +43,0 @@ href.should.include('guinea-pig2');

@@ -31,3 +31,2 @@ require('colors');

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -34,0 +33,0 @@ href.should.include('guinea-pig2');

@@ -31,3 +31,2 @@ require('colors');

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -34,0 +33,0 @@ href.should.include('guinea-pig2');

@@ -52,3 +52,2 @@ var username = process.env.KOBITON_USERNAME || "KOBITON_USERNAME";

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval('window.location.href', function(err, href) {

@@ -55,0 +54,0 @@ href.should.include('guinea-pig2');

@@ -42,3 +42,2 @@ var username = process.env.SAUCE_USERNAME || "SAUCE_USERNAME";

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -45,0 +44,0 @@ href.should.include('guinea-pig2');

@@ -40,3 +40,2 @@ var username = process.env.SAUCE_USERNAME || "SAUCE_USERNAME";

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -43,0 +42,0 @@ href.should.include('guinea-pig2');

@@ -25,3 +25,2 @@ require('colors');

/* jshint evil: true */
browser

@@ -28,0 +27,0 @@ .chain()

@@ -30,3 +30,2 @@ require('colors');

/* jshint evil: true */
browser

@@ -33,0 +32,0 @@ .init({browserName:'chrome'})

@@ -30,3 +30,2 @@ require('colors');

/* jshint evil: true */
browser

@@ -33,0 +32,0 @@ .status()

@@ -30,3 +30,2 @@ require('colors');

/* jshint evil: true */
browser

@@ -33,0 +32,0 @@ .init({browserName:'firefox'})

@@ -6,4 +6,2 @@ // requires node 0.11

/* jshint moz: true, evil: true */
require('colors');

@@ -10,0 +8,0 @@ var chai = require("chai");

@@ -5,3 +5,2 @@ // requires node 0.11

/* global describe, it, before , beforeEach, after*/
/* jshint moz: true, evil: true */

@@ -61,2 +60,1 @@ require('colors');

});

@@ -57,3 +57,2 @@ /* global describe, it, before , beforeEach, after*/

it("submit element should be clicked", function() {
/* jshint evil: true */
return browser

@@ -106,3 +105,2 @@ .elementById("submit")

it("submit element should be clicked", function(done) {
/* jshint evil: true */
browser

@@ -109,0 +107,0 @@ .elementById("submit")

@@ -37,3 +37,2 @@ require('colors');

.then(function () {
/* jshint evil: true */
return browser.eval("window.location.href");

@@ -40,0 +39,0 @@ })

@@ -41,3 +41,2 @@ var username = process.env.SAUCE_USERNAME || "SAUCE_USERNAME";

/* jshint evil: true */
browser

@@ -44,0 +43,0 @@ .init(desired)

@@ -41,3 +41,2 @@ var username = process.env.SAUCE_USERNAME || "SAUCE_USERNAME";

/* jshint evil: true */
browser

@@ -44,0 +43,0 @@ .init(desired)

@@ -38,3 +38,2 @@ var username = process.env.SAUCE_USERNAME || "SAUCE_USERNAME";

/* jshint evil: true */
browser

@@ -41,0 +40,0 @@ .init(desired)

var gulp = require('gulp'),
jshint = require('gulp-jshint'),
jshintStylish = require('jshint-stylish'),
Q = require('q'),
runSequence = Q.denodeify(require('run-sequence')),
path = require('path'),
_ = require('lodash'),
args = require('yargs').argv,
args = require('yargs').argv,
urlLib = require('url'),

@@ -13,6 +10,13 @@ mochaStream = require('spawn-mocha-parallel').mochaStream,

sauceConnectLauncher = require('sauce-connect-launcher'),
async = require('async');
async = require('async'),
log = require('fancy-log'),
eslint = require('gulp-eslint'),
gulpIf = require('gulp-if'),
debug = require('gulp-debug');
require('./test/helpers/env');
var VERBOSE = !!process.env.VERBOSE;
args.browsers = (args.browser || 'chrome').split(',');

@@ -23,3 +27,5 @@ args.sauce = args.sauce ? true : false;

if (args.sauce) { BROWSERS.push('explorer'); }
var MOBILE_BROWSERS = ['android', 'ios', 'iphone', 'ipad', 'android_phone'];
process.env.SAUCE_CONNECT_VERSION = process.env.SAUCE_CONNECT_VERSION || '4.5.1';

@@ -29,6 +35,9 @@ process.env.SAUCE_CONNECT_VERBOSE = false;

var PROXY_PORT = 5050;
var expressPort = 3000; // incremented after each test to avoid colision
var expressPort = 3000; // incremented after each test to avoid collision
var debugLog = log.bind(log);
var warnLog = log.warn.bind(log);
var errorLog = log.error.bind(log);
function buildMochaOpts(opts) {
var mochaOpts = {

@@ -38,4 +47,5 @@ flags: {

R: 'spec',
c: true
c: true,
},
exit: true,
bin: path.join(__dirname, 'node_modules/.bin/' + ((process.platform !== "win32") ? 'mocha' : 'mocha.cmd')),

@@ -76,19 +86,40 @@ concurrency: args.concurrency | process.env.CONCURRENCY || 3

function runSequence (...args) {
args = _.flattenDeep(args);
return Q.Promise(function (resolve) {
if (args.length === 0) {
return resolve();
}
// do the tasks in series
(gulp.series(...args, function finishSequence (done) {
done();
resolve();
}))();
});
}
gulp.task('lint', function() {
// return gulp.src(['lib/**/*.js','test/**/*.js','browser-scripts/**/*.js'])
return gulp.src(['lib/**/*.js'])
.pipe(jshint())
.pipe(jshint.reporter(jshintStylish))
.pipe(jshint.reporter('fail'));
var opts = {
fix: process.argv.indexOf('--fix') !== -1,
};
return gulp.src(['*.js', 'lib/**/*.js', 'test/**/*.js', '!node_modules', '!**/node_modules', '!build/**'])
.pipe(gulpIf(!!process.env.VERBOSE, debug()))
.pipe(eslint(opts))
.pipe(eslint.format())
.pipe(eslint.failAfterError())
.pipe(gulpIf(function (file) {
return file.eslint && file.eslint.fixed;
}, gulp.dest(process.cwd())));
});
gulp.task('test-unit', function () {
gulp.task('test:unit', function () {
var opts = buildMochaOpts({ unit: true });
var mocha = mochaStream(opts);
return gulp.src('test/specs/**/*-specs.js', {read: false})
.pipe(gulpIf(VERBOSE, debug()))
.pipe(mocha)
.on('error', console.warn.bind(console));
.on('error', warnLog);
});
gulp.task('test-midway-multi', function () {
gulp.task('test:midway:multi', function () {
var opts = buildMochaOpts({ midway: true, browser: 'multi' });

@@ -98,30 +129,34 @@ var mocha = mochaStream(opts);

read: false})
.pipe(gulpIf(VERBOSE, debug()))
.pipe(mocha)
.on('error', console.warn.bind(console));
.on('error', warnLog);
});
// create a test:midway: and test:e2e: task for each browser
_(BROWSERS).each(function(browser) {
gulp.task('test-midway-' + browser, function () {
gulp.task(`test:midway:${browser}`, function () {
var opts = buildMochaOpts({ midway: true, browser: browser });
var mocha = mochaStream(opts);
return gulp.src([
'test/midway/**/*-specs.js',
'!test/midway/multi/**'
], {read: false})
'test/midway/**/*-specs.js',
'!test/midway/multi/**'
], {read: false})
.pipe(gulpIf(VERBOSE, debug()))
.pipe(mocha)
.on('error', console.warn.bind(console));
.on('error', errorLog);
});
gulp.task('test-e2e-' + browser, function () {
gulp.task(`test:e2e:${browser}`, function () {
var opts = buildMochaOpts({ browser: browser });
var mocha = mochaStream(opts);
return gulp.src('test/e2e/**/*-specs.js', {read: false})
.pipe(gulpIf(VERBOSE, debug()))
.pipe(mocha)
.on('error', console.warn.bind(console));
.on('error', errorLog);
});
});
_(MOBILE_BROWSERS).each(function(browser) {
gulp.task('test-midway-' + browser, function () {
// create a test:midway: task for each mobile browser
_(MOBILE_BROWSERS).each(function (browser) {
gulp.task(`test:midway:${browser}`, function () {
var opts = buildMochaOpts({ midway: true, browser: browser });
var mocha = mochaStream(opts);
return gulp.src([

@@ -133,26 +168,24 @@ 'test/midway/api-nav-specs.js',

], {read: false})
.pipe(mocha)
.on('error', console.warn.bind(console));
.pipe(gulpIf(VERBOSE, debug()))
.pipe(mochaStream(opts))
.on('error', errorLog);
});
});
gulp.task('test-midway', function() {
var midwayTestTasks = [];
_(args.browsers).each(function(browser) {
midwayTestTasks.push('test-midway-' + browser);
});
return runSequence('pre-midway', midwayTestTasks)
.finally(function() {
return runSequence('post-midway');
gulp.task('test:midway', function() {
const midwayTestTasks = _.map(args.browsers, (browser) =>`test:midway:${browser}`);
return runSequence('pre:midway', ...midwayTestTasks)
.finally(function () {
return runSequence('post:midway');
});
});
gulp.task('test-e2e', function() {
gulp.task('test:e2e', function() {
var e2eTestTasks = [];
_(args.browsers).chain().without('multi').each(function(browser) {
e2eTestTasks.push('test-e2e-' + browser);
e2eTestTasks.push(`test:e2e:${browser}`);
});
if(e2eTestTasks.length > 0){
// if (e2eTestTasks.length > 0) {
return runSequence(e2eTestTasks);
}
// }
});

@@ -163,4 +196,3 @@

_(BROWSERS).each(function(browser) {
seq.push('test-midway-' + browser);
seq.push('test-e2e-' + browser);
seq.push(`test:midway:${browser}`, `test:e2e:${browser}`);
});

@@ -171,3 +203,3 @@ return runSequence.apply(null, seq);

var server;
gulp.task('start-proxy', function(done) {
gulp.task('proxy:start', function(done) {
var proxy = httpProxy.createProxyServer({});

@@ -206,3 +238,3 @@ var proxyQueue;

try{
console.error('Proxy error for: ', req.url + ':' , err);
log.error('Proxy error for: ', req.url + ':' , err);
res.writeHead(500, {

@@ -217,22 +249,24 @@ 'Content-Type': 'text/plain'

server.on('error', function(err) {
console.error('Proxy error: ', err);
log.error(`Proxy error: ${err}`);
});
console.log("listening on port", PROXY_PORT);
log("Listening on port", PROXY_PORT);
server.listen(PROXY_PORT, done);
});
gulp.task('stop-proxy', function(done) {
// stop proxy, exit after 5 ec if hanging
gulp.task('proxy:stop', function(done) {
// stop proxy, exit after 5 sec if hanging
done = _.once(done);
var t = setTimeout(function() {
var timeout = setTimeout(function () {
done();
}, 5000);
if(server) {
server.close(function() {
clearTimeout(t);
if (server) {
server.close(function () {
clearTimeout(timeout);
done();
});
}
else { done(); }
else {
done();
}
});

@@ -242,3 +276,3 @@

gulp.task('start-sc', function(done) {
gulp.task('sc:start', function (done) {
var opts = {

@@ -249,17 +283,17 @@ username: process.env.SAUCE_USERNAME,

directDomains: 'cdnjs.cloudflare.com,html5shiv.googlecode.com',
logger: function(mess) {console.log(mess);}
logger: debugLog,
};
if(process.env.TRAVIS_JOB_NUMBER) {
if (process.env.TRAVIS_JOB_NUMBER) {
opts.tunnelIdentifier = process.env.TRAVIS_JOB_NUMBER;
}
var startTunnel = function(done, n) {
var startTunnel = function (done, n) {
sauceConnectLauncher(opts, function (err, _sauceConnectProcess) {
if (err) {
if(n > 0) {
console.log('retrying sauce connect in 20 secs.');
setTimeout(function() {
startTunnel(done, n-1);
if (n > 0) {
log('retrying sauce connect in 20 secs.');
setTimeout(function () {
startTunnel(done, n - 1);
}, 20000);
} else {
console.error(err.message);
log.error(err.message);
done(err);

@@ -270,3 +304,3 @@ }

sauceConnectProcess = _sauceConnectProcess;
console.log("Sauce Connect ready");
log("Sauce Connect ready");
done();

@@ -279,20 +313,21 @@ });

gulp.task('stop-sc', function(done) {
if(sauceConnectProcess) { sauceConnectProcess.close(done); }
else { done(); }
gulp.task('sc:stop', function (done) {
if(sauceConnectProcess) {
sauceConnectProcess.close(done);
} else {
done();
}
});
gulp.task('pre-midway', function() {
var seq = ['start-proxy'];
if(args.sauce && !args['nosc']) {
seq.unshift('start-sc');
}
gulp.task('pre:midway', function() {
var seq = args.sauce && !args['nosc']
? ['sc:start', 'proxy:start']
: ['proxy:start'];
return runSequence(seq);
});
gulp.task('post-midway', function() {
var seq = ['stop-proxy'];
if(args.sauce && !args['nosc']) {
seq.unshift('stop-sc');
}
gulp.task('post:midway', function () {
var seq = args.sauce && !args['nosc']
? ['sc:stop', 'proxy:stop']
: ['proxy:stop'];
return runSequence(seq);

@@ -303,8 +338,8 @@ });

var seq;
switch(args.config) {
switch (args.config) {
case 'unit':
return runSequence(['test-unit']);
return runSequence(['test:unit']);
case 'multi':
args.browsers= [args.config];
return runSequence(['test-midway']);
return runSequence(['test:midway']);
case 'chrome':

@@ -314,3 +349,3 @@ case 'firefox':

args.browsers= [args.config];
return runSequence(['test-midway','test-e2e']);
return runSequence(['test:midway', 'test:e2e']);
case 'iphone':

@@ -320,8 +355,8 @@ case 'ipad':

args.browsers= [args.config];
return runSequence(['test-midway']);
return runSequence(['test:midway']);
case 'chrome_e2e':
args.browsers= ['chrome'];
return runSequence(['test-e2e']);
return runSequence(['test:e2e']);
}
return runSequence.apply(null, seq);
});

@@ -91,3 +91,2 @@ var _ = require('lodash');

function jsCondition(jsConditionExpr, safe) {
// jshint evil: true
if(safe === undefined) { safe = false; }

@@ -94,0 +93,0 @@ return new Asserter(

@@ -8,3 +8,3 @@ #!/usr/bin/env node

var connections = 0;
var connections = 0; // eslint-disable-line no-unused-vars

@@ -16,4 +16,4 @@ var startRepl = function() {

r.context.help = function() {
console.log("WD - Shell.");
console.log("Access the webdriver object via the object: 'wd'");
console.log("WD - Shell."); // eslint-disable-line no-console
console.log("Access the webdriver object via the object: 'wd'"); // eslint-disable-line no-console
};

@@ -20,0 +20,0 @@

@@ -16,3 +16,5 @@ var async = require("async");

this._chainOnErrorCallback = function(err) {
if (err) { console.error("a function in your .chain() failed:", err); }
if (err) {
console.error("a function in your .chain() failed:", err); // eslint-disable-line no-console
}
};

@@ -19,0 +21,0 @@ }

@@ -111,3 +111,3 @@ var __slice = Array.prototype.slice,

// It is easier and safer to check within the method.
if(utils.isPromise(obj) && !obj.__wd_promise_enriched) {
if (utils.isPromise(obj) && !obj.__wd_promise_enriched) {

@@ -253,3 +253,3 @@ var promise = obj;

return _this._enrich( promise.catch(function(err) {
console.log(prepend + err);
console.log(prepend + err); // eslint-disable-line no-console
throw err;

@@ -263,3 +263,3 @@ }), currentEl);

return _this._enrich( promise.then(function(val) {
console.log(prepend + val);
console.log(prepend + val); // eslint-disable-line no-console
}), currentEl);

@@ -325,3 +325,3 @@ };

}).join(', ') + ' )';
console.log(' --> ' + status + context + " " + method + args);
console.log(' --> ' + status + context + " " + method + args); // eslint-disable-line no-console
});

@@ -328,0 +328,0 @@ };

@@ -93,3 +93,3 @@ var Args = require("vargs").Constructor,

this.deprecationMessageShown[cat] = 1;
console.warn(message);
console.warn(message); // eslint-disable-line no-console
}

@@ -96,0 +96,0 @@ }

@@ -153,2 +153,3 @@ var EventEmitter = require('events').EventEmitter,

} else {
/* eslint-disable no-console */
console.error('\x1b[31mError\x1b[0m: The environment you requested was unavailable.\n');

@@ -159,2 +160,3 @@ console.error('\x1b[33mReason\x1b[0m:\n');

console.error('located at: \x1b[33mhttp://code.google.com/p/selenium/wiki/JsonWireProtocol#/session\x1b[0m');
/* eslint-enable no-console */
}

@@ -161,0 +163,0 @@ }

@@ -11,3 +11,3 @@ {

],
"version": "1.11.2",
"version": "1.11.3",
"author": "Adam Christian <adam.christian@gmail.com>",

@@ -47,36 +47,38 @@ "contributors": [

"dependencies": {
"archiver": "2.1.1",
"async": "2.0.1",
"lodash": "4.17.11",
"archiver": "^3.0.0",
"async": "^2.0.0",
"fancy-log": "^1.3.3",
"gulp-mocha": "^6.0.0",
"lodash": "^4.0.0",
"mkdirp": "^0.5.1",
"q": "1.4.1",
"q": "^1.5.1",
"request": "2.88.0",
"vargs": "0.1.0"
"vargs": "^0.1.0"
},
"devDependencies": {
"bdd-with-opts": "1.1.1",
"chai": "3.5.0",
"chai-as-promised": "6.0.0",
"colors": "1.1.2",
"dox": "0.9.0",
"bdd-with-opts": "^1.1.1",
"chai": "^3.0.0",
"chai-as-promised": "^7.1.1",
"colors": "^1.3.3",
"dox": "^0.9.0",
"express": "^4.16.3",
"gulp": "^3.9.1",
"gulp-jshint": "^2.1.0",
"hbs": "4.0.1",
"http-proxy": "1.15.1",
"imageinfo": "1.0.4",
"istanbul": "0.4.5",
"jshint": "^2.9.6",
"jshint-stylish": "2.2.1",
"gulp": "^4.0.0",
"gulp-debug": "^4.0.0",
"gulp-eslint": "^5.0.0",
"gulp-if": "^2.0.2",
"hbs": "^4.0.0",
"http-proxy": "^1.15.1",
"imageinfo": "^1.0.4",
"istanbul": "^0.4.5",
"mocha": "^5.2.0",
"mu2": "0.5.21",
"nock": "8.0.0",
"promise-simple": "0.1.0",
"run-sequence": "1.2.2",
"mu2": "^0.5.21",
"nock": "^10.0.0",
"promise-simple": "^0.1.0",
"run-sequence": "^2.0.0",
"sauce-connect-launcher": "^1.2.4",
"spawn-mocha-parallel": "1.3.1",
"sv-selenium": "0.3.1",
"spawn-mocha-parallel": "^1.3.1",
"sv-selenium": "^0.3.1",
"underscore.string": "^3.3.4",
"uuid": "3.0.1",
"yargs": "6.0.0"
"uuid": "^3.0.1",
"yargs": "^13.0.0"
},

@@ -86,4 +88,7 @@ "scripts": {

"all_tests": "gulp test",
"install": "node scripts/build-browser-scripts"
"install": "node scripts/build-browser-scripts",
"clean": "rm -rf node_modules && rm -f package-lock.json && npm install",
"lint": "gulp lint",
"lint:fix": "gulp lint --fix"
}
}

@@ -1,4 +0,4 @@

# WD.js
# WD.js
[![NPM version](http://img.shields.io/npm/v/wd.svg)](https://npmjs.org/package/wd)
[![NPM version](http://img.shields.io/npm/v/wd.svg)](https://npmjs.org/package/wd)
[![Downloads](http://img.shields.io/npm/dm/wd.svg)](https://npmjs.org/package/wd)

@@ -28,3 +28,3 @@ [![Dependency Status](https://david-dm.org/admc/wd.svg)](https://david-dm.org/admc/wd)

Note: WD.js does not start the selenium server. You may use the [selenium-standalone](https://www.npmjs.com/package/selenium-standalone) package
Note: WD.js does not start the selenium server. You may use the [selenium-standalone](https://www.npmjs.com/package/selenium-standalone) package
to install and start a selenium server.

@@ -88,3 +88,2 @@

browser.clickElement(el, function() {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -91,0 +90,0 @@ href.should.include('guinea-pig2');

@@ -1,2 +0,1 @@

/*global _:true, Q:true */
var Mocha = require('mocha'),

@@ -6,3 +5,4 @@ fs = require('fs'),

_ = require('lodash'),
Q = require('Q');
Q = require('Q'),
log = require('fancy-log');

@@ -25,3 +25,3 @@ var sauceUsername = process.env.SAUCE_USERNAME;

mocha.reporter('dot');
_(mochaConfig).each(function(opt) {
_.each(mochaConfig, function(opt) {
var optName = opt.shift();

@@ -34,3 +34,3 @@ mocha[optName].apply(mocha, opt);

// state in our test setup helpers.
// see https://github.com/visionmedia/mocha/issues/736
// see https://github.com/mochajs/mocha/issues/736
_(require.cache)

@@ -54,3 +54,3 @@ .keys()

function() {
console.log('running unit tests');
log('running unit tests');
delete process.env.SAUCE_USERNAME;

@@ -61,3 +61,3 @@ delete process.env.SAUCE_ACCESS_KEY;

function() {
console.log('running midway tests(chrome)');
log('running midway tests(chrome)');
process.env.SAUCE_USERNAME = sauceUsername;

@@ -69,3 +69,3 @@ process.env.SAUCE_ACCESS_KEY = sauceAccessKey;

function() {
console.log('running midway tests(firefox)');
log('running midway tests(firefox)');
process.env.BROWSER='firefox';

@@ -75,3 +75,3 @@ return runSpecs('test/midway', [['grep',/@skip-firefox|@multi/],['invert']]);

function() {
console.log('running midway tests(multi)');
log('running midway tests(multi)');
process.env.BROWSER='chrome';

@@ -81,3 +81,3 @@ return runSpecs('test/midway', [['grep',/@multi/]]);

function() {
console.log('running e2e tests(chrome)');
log('running e2e tests(chrome)');
process.env.BROWSER='chrome';

@@ -87,3 +87,3 @@ return runSpecs('test/e2e', [['grep',/@skip-chrome/],['invert']]);

function() {
console.log('running e2e tests(firefox)');
log('running e2e tests(firefox)');
process.env.BROWSER='firefox';

@@ -93,3 +93,3 @@ return runSpecs('test/e2e', [['grep',/@skip-firefox/],['invert']]);

function() {
console.log('running sauce e2e tests(chrome)');
log('running sauce e2e tests(chrome)');
process.env.SAUCE=1;

@@ -100,3 +100,3 @@ process.env.BROWSER='chrome';

function() {
console.log('running sauce e2e tests(firefox)');
log('running sauce e2e tests(firefox)');
process.env.BROWSER='firefox';

@@ -103,0 +103,0 @@ return runSpecs('test/e2e', [['grep',/@skip-firefox/],['invert']]);

@@ -55,3 +55,2 @@ /* global sauceJobTitle, mergeDesired */

it("eval", function(done) {
/* jshint evil: true */
browser.eval("window.location.href", function(err, href) {

@@ -63,2 +62,1 @@ href.should.include('http');

});

@@ -40,6 +40,5 @@ /* global sauceJobTitle, mergeDesired */

.title().should.eventually.include("WD");
});
});
it("submit element should be clicked", function() {
/* jshint evil: true */
return browser

@@ -52,3 +51,1 @@ .elementById("submit")

});

@@ -31,3 +31,2 @@ /* global sauceJobTitle, mergeDesired */

};
/* jshint evil: true */
browser.chain()

@@ -81,3 +80,2 @@ .init(mergeDesired(env.DESIRED, env.SAUCE? sauceExtra : null ))

it("partial chaining should work", function(done) {
/* jshint evil: true */
browser.chain()

@@ -124,2 +122,1 @@ .title(function(err, title) {

});

@@ -61,3 +61,2 @@ /* global sauceJobTitle, mergeDesired */

it("clicking submit should work", function() {
/* jshint evil: true */
return browser

@@ -64,0 +63,0 @@ .elementById("submit")

@@ -55,3 +55,2 @@ /* global sauceJobTitle, mergeDesired */

}).then(function() {
/* jshint evil: true */
return browser.eval("window.location.href");

@@ -62,2 +61,1 @@ }).should.eventually.include("http://");

});
/* global sauceJobTitle, mergeDesired */
require('../helpers/setup');
var _ = require('lodash');

@@ -55,3 +56,1 @@ // Testing sauce specific method, it doesn't work

}

@@ -42,6 +42,5 @@ /* global sauceJobTitle, mergeDesired */

.title().should.eventually.include("WD");
});
});
it("submit element should be clicked", function() {
/* jshint evil: true */
return browser

@@ -69,3 +68,1 @@ .elementByCss("#submit")

});

@@ -1,2 +0,1 @@

var _ = require('lodash');
var underscoreString = require('underscore.string');

@@ -6,3 +5,3 @@ var toNumber = underscoreString.toNumber;

/*global env:true */
var env = global.env = {};

@@ -73,6 +72,8 @@

env.TEST_TIME = Math.round(new Date().getTime() / (1000*60));
env.SAUCE_JOB_ID =
env.TRAVIS_BUILD_NUMBER ||
process.env.SAUCE_JOB_ID ||
Math.round(new Date().getTime() / (1000*60));
env.TEST_TIME;
env.SAUCE_USERNAME = process.env.SAUCE_USERNAME;

@@ -79,0 +80,0 @@ env.SAUCE_ACCESS_KEY = process.env.SAUCE_ACCESS_KEY;

var express = require('express');
var http = require('http');
var log = require('fancy-log');
function Express(rootDir, partials) {

@@ -24,3 +26,3 @@ this.rootDir = rootDir;

res.render('test-page', {
testSuite: req.query.ts? req.query.ts.replace(/\@[\w\-]+/g,'') : '',
testSuite: req.query.ts? req.query.ts.replace(/@[\w-]+/g,'') : '',
testTitle: (req.query.c? req.query.c + ' - ': '') + req.query.p,

@@ -34,3 +36,3 @@ content: content,

this.server = http.createServer(this.app);
console.log('server listening on', env.EXPRESS_PORT);
log('Server listening on', env.EXPRESS_PORT);
this.server.listen(env.EXPRESS_PORT, done);

@@ -37,0 +39,0 @@ };

@@ -6,3 +6,3 @@ require('./env');

if(args[0]='env'){
if (args[0] === 'env'){
result = env[args[1]];

@@ -9,0 +9,0 @@ if(result === undefined) { result = ''; }

@@ -5,2 +5,4 @@ require('./env');

var log = require('fancy-log');
global.wd = require('../../lib/main');

@@ -11,7 +13,7 @@ var utils = require('../../lib/utils');

if( env.TRAVIS ){
console.log("Travis environment detected.");
console.log("TRAVIS_BUILD_NUMBER --> ", env.TRAVIS_BUILD_NUMBER);
console.log("TRAVIS_JOB_NUMBER --> ", env.TRAVIS_JOB_NUMBER);
console.log("TRAVIS_JOB_ID --> ", env.TRAVIS_JOB_ID);
if (env.TRAVIS){
log("Travis environment detected.");
log("TRAVIS_BUILD_NUMBER --> ", env.TRAVIS_BUILD_NUMBER);
log("TRAVIS_JOB_NUMBER --> ", env.TRAVIS_JOB_NUMBER);
log("TRAVIS_JOB_ID --> ", env.TRAVIS_JOB_ID);
}

@@ -25,9 +27,9 @@

this.on('status', function(info) {
console.log(info.cyan);
log(info.cyan);
});
this.on('command', function(eventType, command, response) {
console.log(' > ' + eventType.cyan, command, (response || '').grey);
log(' > ' + eventType.cyan, command, (response || '').grey);
});
this.on('http', function(meth, path, data) {
console.log(' > ' + meth.magenta, path, (data || '').grey);
log(' > ' + meth.magenta, path, (data || '').grey);
});

@@ -37,3 +39,3 @@ }

this.on('connection', function(message) {
console.log('connection > ' + message );
log('connection > ' + message );
});

@@ -85,3 +87,3 @@ }

.replace(/\(.*\)/g,'')
.replace(/\@[\w\-]+/g,'')
.replace(/@[\w-]+/g,'')
.trim();

@@ -88,0 +90,0 @@ };

require('../helpers/setup');
var _ = require('lodash');
describe('api-el ' + env.ENV_DESC, skip('ios'), function() {

@@ -101,3 +101,3 @@ var partials = {};

.waitForVisible("css selector", "#wrongsel .child", 0.1 * env.BASE_TIME_UNIT)
.should.be.rejectedWith(/Element didn\'t become visible/);
.should.be.rejectedWith(/Element didn't become visible/);

@@ -104,0 +104,0 @@ });

@@ -0,1 +1,2 @@

/* eslint-disable no-unexpected-multiline */
// spliting the test cause it takes too long, list of possible suffixes below

@@ -12,3 +13,3 @@ // var suffixes =

beforeEach(function(done) {
setTimeout(function() { console.log('timeout'); done(); }, 1000);
setTimeout(done, 1000);
});

@@ -119,2 +120,1 @@

};
require('../helpers/setup');
var _ = require('lodash');

@@ -14,3 +13,2 @@

it('browser.eval', function() {
/* jshint evil: true */
return browser

@@ -26,3 +24,2 @@ .eval('1+2').should.become(3)

it('browser.safeEval', function() {
/* jshint evil: true */
return browser

@@ -40,3 +37,2 @@ .safeEval('1+2').should.become(3)

it('browser.execute', function() {
/* jshint evil: true */
var jsScript = prepareJs(

@@ -124,3 +120,2 @@ 'var a = arguments[0], b = arguments[1];\n' +

it('browser.safeExecute - noargs', function() {
/* jshint evil: true */
return browser

@@ -136,3 +131,2 @@ .safeExecute('window.wd_sync_execute_test = "It worked!"')

it('browser.safeExecute - args', skip('android'), function() {
/* jshint evil: true */
var jsScript = prepareJs(

@@ -201,3 +195,3 @@ 'var a = arguments[0], b = arguments[1];\n' +

.setAsyncScriptTimeout( env.BASE_TIME_UNIT/2 )
.executeAsync( jsScript, [env.BASE_TIME_UNIT]).should.be.rejectedWith(/status\: 28/)
.executeAsync( jsScript, [env.BASE_TIME_UNIT]).should.be.rejectedWith(/status: 28/)
.setAsyncScriptTimeout( 2* env.BASE_TIME_UNIT )

@@ -204,0 +198,0 @@ .executeAsync( jsScript, [env.BASE_TIME_UNIT])

require('../helpers/setup');
var _ = require('lodash');
describe('api-nav ' + env.ENV_DESC, function() {

@@ -64,3 +64,3 @@ var partials = {};

.elementByCss('#setWaitTimeout .child')
.should.be.rejectedWith(/status\: 7/);
.should.be.rejectedWith(/status: 7/);
}

@@ -102,3 +102,3 @@ })

it('browser.moveTo', skip('ios', 'android'), function() {
if(true || env.BROWSER === 'explorer') {
if(env.BROWSER === 'explorer') {
// cannot get hover to work in explorer

@@ -266,3 +266,3 @@ return browser

.elementByCss("#theDiv input").clear().getValue().should.become('');
});
});
}

@@ -269,0 +269,0 @@

@@ -7,2 +7,3 @@ require('../helpers/setup');

var tmp = require('../../lib/tmp');
var assert = require('assert');

@@ -9,0 +10,0 @@ describe('api-various ' + env.ENV_DESC, function() {

@@ -7,3 +7,3 @@ require('../helpers/setup');

beforeEach(function(done) {
setTimeout(function() { console.log('timeout'); done(); }, 500);
setTimeout(done, 500);
});

@@ -10,0 +10,0 @@

@@ -24,10 +24,10 @@ /* global sauceJobTitle, mergeDesired, midwayUrl, Express, uuidLib */

};
var desired = mergeDesired(env.DESIRED, env.SAUCE? sauceExtra : null );
var desired = mergeDesired(env.DESIRED, env.SAUCE ? sauceExtra : null);
return browser
.configureLogging()
.then(function() {
.then(function () {
return browser
.init(desired)
.sleep(500)
.catch(function() {
.catch(function () {
// trying one more time

@@ -44,3 +44,3 @@ return browser.init(desired).sleep(500);

title: this.currentTest.title,
uuid: uuid
uuid: uuid
});

@@ -57,3 +57,4 @@ return browser

.waitForElementById(uuid, 10000, 500);
}).sleep(100);
})
.sleep(100);
});

@@ -60,0 +61,0 @@

require('../helpers/setup');
var _ = require('lodash');

@@ -4,0 +3,0 @@

@@ -125,3 +125,3 @@ /* global sauceJobTitle, mergeDesired, midwayUrl, Express */

};
if(newConfig.retryDelay = wdCurrent.retryDelay) { newConfig.retryDelay++; }
if(newConfig.retryDelay === wdCurrent.retryDelay) { newConfig.retryDelay++; }
return browser

@@ -193,3 +193,3 @@ .configureHttp( newConfig).then(function() {

})
.configureHttp({baseUrl: baseUrl})
.configureHttp({baseUrl: baseUrl})
.get(relUrl).title().should.eventually.include('WD Tests - config-http')

@@ -196,0 +196,0 @@ .get(url).title().should.eventually.include('WD Tests - config-http');

@@ -27,3 +27,2 @@ /* global sauceJobTitle, mergeDesired */

browser = wd.promiseChainRemote(env.REMOTE_CONFIG);
setTimeout(function(){ console.log('timeout'); }, 500);
return browser.configureLogging();

@@ -30,0 +29,0 @@ });

@@ -60,4 +60,4 @@ require('../helpers/setup');

'setTimeout(function() {\n' +
' $("#theDiv").append(' +
'"<div class=\\"child\\" style=\\"display:none;\\">a waitFor child 1</div>' +
' $("#theDiv").append(' +
'"<div class=\\"child\\" style=\\"display:none;\\">a waitFor child 1</div>' +
'<div class=\\"child\\">a waitFor child 2</div>");\n' +

@@ -74,3 +74,3 @@ '}, arguments[0]);\n';

it('browser.waitForElements', function() {
var childs =
var childs =
'<div class="child">child 1</div>' +

@@ -82,3 +82,3 @@ '<div class="child">child 2</div>' +

'setTimeout(function() {\n' +
' $("#theDiv").append("' + childs.replace(/\"/g, '\\"' ) + '");\n' +
' $("#theDiv").append("' + childs.replace(/"/g, '\\"' ) + '");\n' +
'}, arguments[0]);\n';

@@ -104,3 +104,3 @@

it('browser.waitForElements - asserter', function() {
var childs =
var childs =
'<div class="child">child 1</div>' +

@@ -112,3 +112,3 @@ '<div class="child">child 2 OK</div>' +

'setTimeout(function() {\n' +
' $("#theDiv").append("' + childs.replace(/\"/g, '\\"' ) + '");\n' +
' $("#theDiv").append("' + childs.replace(/"/g, '\\"' ) + '");\n' +
'}, arguments[0]);\n';

@@ -163,3 +163,3 @@

it('browser.waitForElementsByCss', function() {
var childs =
var childs =
'<div class="child">child 1</div>' +

@@ -171,3 +171,3 @@ '<div class="child">child 2</div>' +

'setTimeout(function() {\n' +
' $("#theDiv").append("' + childs.replace(/\"/g, '\\"' ) + '");\n' +
' $("#theDiv").append("' + childs.replace(/"/g, '\\"' ) + '");\n' +
'}, arguments[0]);\n';

@@ -174,0 +174,0 @@ return browser

@@ -43,3 +43,3 @@ require('../helpers/setup');

function(browser, cb) {
browser.text(function(err, text) {
browser.text(function(err) {
if(err) { return cb(err); }

@@ -46,0 +46,0 @@ cb( new Error("Pretending to be a timeout error"), false, "Error branch" );

@@ -10,3 +10,2 @@ var nock = require('nock');

server = nock('http://127.0.0.1:5555').filteringRequestBody(/.*/, '*');
server.log(console.log);
server.post('/wd/hub/session', '*').reply(303, "OK", {

@@ -67,3 +66,2 @@ 'Location': '/wd/hub/session/1234'

server = nock('http://127.0.0.1:5555').filteringRequestBody(/.*/, '*');
server.log(console.log);
server.post('/wd/hub/session', '*').reply(303, "OK", {

@@ -70,0 +68,0 @@ 'Location': '/wd/hub/session/1234'

@@ -13,3 +13,2 @@ var nock = require('nock');

server = nock('http://localhost:9515').filteringRequestBody(/.*/, '*');
server.log(console.log);
server.post('/session', '*').reply(303, "OK", {

@@ -46,8 +45,5 @@ 'Location': '/session/1234'

server = nock('http://localhost:4444');
server.log(console.log);
server
.filteringRequestBody(function(requestBody) {
requestBody = JSON.parse(requestBody);
console.log(typeof requestBody);
console.log(requestBody);
should.not.exist(requestBody.desiredCapabilities.javascriptEnabled);

@@ -75,2 +71,1 @@ should.not.exist(requestBody.desiredCapabilities.wdNoDefaults);

});

@@ -574,3 +574,3 @@ var nock = require('nock'),

});
var el;
var el; // eslint-disable-line no-unused-vars
return browser

@@ -1677,3 +1677,3 @@ .elementById('random').then(function(_el) { el=_el; })

});
var el;
var el; // eslint-disable-line no-unused-vars
async.series([

@@ -1680,0 +1680,0 @@ function(done) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc