bump nightwatch and chromedriver versions

This commit is contained in:
Jake McDermott 2018-02-24 21:30:42 -05:00
parent 24fd4a360e
commit a23e4732b6
No known key found for this signature in database
GPG Key ID: 3B02CAD476EECB35
28 changed files with 131 additions and 45 deletions

View File

@ -39,7 +39,7 @@
"babel-loader": "^7.1.2",
"babel-plugin-istanbul": "^4.1.5",
"babel-preset-env": "^1.6.0",
"chromedriver": "^2.31.0",
"chromedriver": "^2.35.0",
"clean-webpack-plugin": "^0.1.16",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.5",
@ -80,7 +80,7 @@
"load-grunt-configs": "^1.0.0",
"load-grunt-tasks": "^3.5.0",
"ngtemplate-loader": "^2.0.1",
"nightwatch": "^0.9.16",
"nightwatch": "^0.9.19",
"node-object-hash": "^1.3.0",
"phantomjs-prebuilt": "^2.1.12",
"time-grunt": "^1.4.0",

View File

@ -2,13 +2,13 @@
version: '2'
services:
hub:
image: selenium/hub:3.8.1-erbium
image: selenium/hub
ports:
- 4444:4444
chrome:
image: selenium/node-chrome:3.8.1-erbium
image: selenium/node-chrome
# uncomment the two lines below to make tests watchable at vnc://localhost:secret@localhost:5900
# image: selenium/node-chrome-debug:3.8.1-erbium
# image: selenium/node-chrome-debug
# ports: ['5900:5900']
links:
- hub
@ -18,7 +18,7 @@ services:
HUB_PORT_4444_TCP_ADDR: hub
HUB_PORT_4444_TCP_PORT: 4444
firefox:
image: selenium/node-firefox:3.8.1-erbium
image: selenium/node-firefox
links:
- hub
environment:

View File

@ -1,8 +1,13 @@
exports.command = function navigateTo (url) {
const spinny = 'div.spinny';
exports.command = function navigateTo (url, expectSpinny = true) {
this.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
this.url(url);
this.waitForElementVisible('div.spinny');
this.waitForElementNotVisible('div.spinny');
if (expectSpinny) {
this.waitForElementVisible(spinny);
this.waitForElementNotVisible(spinny);
}
return this;
};

View File

@ -2,6 +2,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/activity_stream`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
elements: {
title: '.List-titleText',
subtitle: '.List-titleLockup',

View File

@ -52,6 +52,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/credential_types`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
breadcrumb,

View File

@ -216,6 +216,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/credentials`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
navigation,

View File

@ -116,6 +116,10 @@ module.exports = {
save: 'button[class*="Form-saveButton"]'
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
selectAdd (name) {
this.api.waitForElementVisible('button span[class="List-dropdownCarat"]');
this.expect.element('button span[class="List-dropdownCarat"]').enabled;

View File

@ -24,6 +24,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/inventory_scripts`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
navigation,

View File

@ -6,5 +6,10 @@ module.exports = {
},
sections: {}, // TODO: Fill this out
elements: {}, // TODO: Fill this out
commands: [], // TODO: Fill this out as needed
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
};

View File

@ -2,6 +2,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/login`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
elements: {
username: '#login-username',
password: '#login-password',

View File

@ -29,6 +29,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/notification_templates`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
navigation,

View File

@ -26,6 +26,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/organizations`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
navigation,

View File

@ -25,6 +25,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/projects`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
navigation,

View File

@ -23,6 +23,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/teams`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
navigation,

View File

@ -116,6 +116,10 @@ module.exports = {
save: 'button[class*="Form-saveButton"]'
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
clickWhenEnabled (selector) {
this.api.waitForElementVisible(selector);
this.expect.element(selector).enabled;

View File

@ -23,6 +23,12 @@ module.exports = {
url () {
return `${this.api.globals.launch_url}/#/users`;
},
commands: [{
load () {
this.api.url('data:,'); // https://github.com/nightwatchjs/nightwatch/issues/1724
return this.navigate();
},
}],
sections: {
header,
navigation,

View File

@ -24,13 +24,6 @@ let users;
let inventories;
let teams;
function navigateAndWaitForSpinner (client, url) {
client
.url(url)
.waitForElementVisible('div.spinny')
.waitForElementNotVisible('div.spinny');
}
module.exports = {
before: (client, done) => {
const promises = [
@ -68,7 +61,9 @@ module.exports = {
});
},
'verify an auditor\'s credentials inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${credentials.url()}/${data.adminAWSCredential.id}/`);
const url = `${credentials.url()}/${data.adminAWSCredential.id}/`;
client.navigateTo(url);
credentials.section.edit
.expect.element('@title').text.contain(data.adminAWSCredential.name);
@ -76,7 +71,9 @@ module.exports = {
credentials.section.edit.section.details.checkAllFieldsDisabled();
},
'verify an auditor\'s inventory scripts inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${inventoryScripts.url()}/${data.inventoryScript.id}/`);
const url = `${inventoryScripts.url()}/${data.inventoryScript.id}/`;
client.navigateTo(url);
inventoryScripts.section.edit
.expect.element('@title').text.contain(data.inventoryScript.name);
@ -92,7 +89,7 @@ module.exports = {
//
// 'verify an auditor\'s job template inputs are read-only': function (client) {
// const url = `${templates.url()}/job_template/${data.jobTemplate.id}/`;
// navigateAndWaitForSpinner(client, url);
// client.navigateTo(url)''
//
// templates.section.editJobTemplate
// .expect.element('@title').text.contain(data.jobTemplate.name);
@ -103,7 +100,9 @@ module.exports = {
// templates.expect.element('@save').to.not.be.visible;
// },
'verify an auditor\'s notification templates inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${notificationTemplates.url()}/${data.notificationTemplate.id}/`);
const url = `${notificationTemplates.url()}/${data.notificationTemplate.id}/`;
client.navigateTo(url);
notificationTemplates.section.edit
.expect.element('@title').text.contain(data.notificationTemplate.name);
@ -114,7 +113,9 @@ module.exports = {
notificationTemplates.expect.element('@save').to.not.be.visible;
},
'verify an auditor\'s organizations inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${organizations.url()}/${data.organization.id}/`);
const url = `${organizations.url()}/${data.organization.id}/`;
client.navigateTo(url);
organizations.section.edit
.expect.element('@title').text.contain(data.organization.name);
@ -125,7 +126,9 @@ module.exports = {
organizations.expect.element('@save').to.not.be.visible;
},
'verify an auditor\'s smart inventory inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${inventories.url()}/smart/${data.smartInventory.id}/`);
const url = `${inventories.url()}/smart/${data.smartInventory.id}/`;
client.navigateTo(url);
inventories.section.editSmartInventory
.expect.element('@title').text.contain(data.smartInventory.name);
@ -136,7 +139,9 @@ module.exports = {
inventories.expect.element('@save').to.not.be.visible;
},
'verify an auditor\'s project inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${projects.url()}/${data.project.id}/`);
const url = `${projects.url()}/${data.project.id}/`;
client.navigateTo(url);
projects.section.edit
.expect.element('@title').text.contain(data.project.name);
@ -147,7 +152,9 @@ module.exports = {
projects.expect.element('@save').to.not.be.visible;
},
'verify an auditor\'s standard inventory inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${inventories.url()}/inventory/${data.inventory.id}/`);
const url = `${inventories.url()}/inventory/${data.inventory.id}/`;
client.navigateTo(url);
inventories.section.editStandardInventory
.expect.element('@title').text.contain(data.inventory.name);
@ -159,7 +166,9 @@ module.exports = {
inventories.expect.element('@save').to.not.be.visible;
},
'verify an auditor\'s teams inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${teams.url()}/${data.team.id}/`);
const url = `${teams.url()}/${data.team.id}/`;
client.navigateTo(url);
teams.section.edit
.expect.element('@title').text.contain(data.team.name);
@ -170,7 +179,9 @@ module.exports = {
teams.expect.element('@save').to.not.be.visible;
},
'verify an auditor\'s user inputs are read-only': client => {
navigateAndWaitForSpinner(client, `${users.url()}/${data.user.id}/`);
const url = `${users.url()}/${data.user.id}/`;
client.navigateTo(url);
users.section.edit
.expect.element('@title').text.contain(data.user.username);

View File

@ -5,10 +5,7 @@ module.exports = {
client.login();
client.waitForAngular();
credentialTypes
.navigate(`${credentialTypes.url()}/add/`)
.waitForElementVisible('div.spinny')
.waitForElementNotVisible('div.spinny');
credentialTypes.navigateTo(`${credentialTypes.url()}/add/`);
credentialTypes.section.add
.waitForElementVisible('@title', done);

View File

@ -16,7 +16,7 @@ module.exports = {
client.login();
client.waitForAngular();
credentials.navigate();
credentials.load();
credentials.waitForElementVisible('div.spinny');
credentials.waitForElementNotVisible('div.spinny');

View File

@ -6,7 +6,7 @@ module.exports = {
client.waitForAngular();
credentials
.navigate()
.load()
.waitForElementVisible('div.spinny')
.waitForElementNotVisible('div.spinny', done);
},

View File

@ -10,7 +10,7 @@ module.exports = {
client.waitForAngular();
credentials
.navigate()
.load()
.waitForElementVisible('div.spinny')
.waitForElementNotVisible('div.spinny');

View File

@ -16,7 +16,7 @@ module.exports = {
client.login();
client.waitForAngular();
inventories.navigate();
inventories.load();
inventories.waitForElementVisible('div.spinny');
inventories.waitForElementNotVisible('div.spinny');

View File

@ -16,7 +16,7 @@ module.exports = {
client.login();
client.waitForAngular();
inventoryScripts.navigate();
inventoryScripts.load();
inventoryScripts.waitForElementVisible('div.spinny');
inventoryScripts.waitForElementNotVisible('div.spinny');

View File

@ -16,7 +16,7 @@ module.exports = {
client.login();
client.waitForAngular();
notifications.navigate();
notifications.load();
notifications.waitForElementVisible('div.spinny');
notifications.waitForElementNotVisible('div.spinny');

View File

@ -16,7 +16,7 @@ module.exports = {
client.login();
client.waitForAngular();
projects.navigate();
projects.load();
projects.waitForElementVisible('div.spinny');
projects.waitForElementNotVisible('div.spinny');

View File

@ -65,7 +65,7 @@ module.exports = {
client.login();
client.waitForAngular();
templates.navigate();
templates.load();
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');
@ -120,7 +120,7 @@ module.exports = {
client.login();
client.waitForAngular();
templates.navigate();
templates.load();
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');
@ -170,7 +170,7 @@ module.exports = {
client.login(data.user.username);
client.waitForAngular();
templates.navigate();
templates.load();
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');

View File

@ -30,7 +30,7 @@ module.exports = {
client.login();
client.waitForAngular();
templates.navigate();
templates.load();
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');
@ -70,7 +70,7 @@ module.exports = {
client.login();
client.waitForAngular();
templates.navigate();
templates.load();
templates.waitForElementVisible('div.spinny');
templates.waitForElementNotVisible('div.spinny');

View File

@ -85,7 +85,7 @@ module.exports = {
const multiCredentialOpen = 'multi-credential button i[class*="search"]';
const multiCredentialExit = 'multi-credential-modal button[class*="exit"]';
client.url(urls.jobTemplate);
client.navigateTo(urls.jobTemplate, false);
client.expect.element('#job_template_form').visible;
client.expect.element('#xss').not.present;
@ -371,7 +371,7 @@ module.exports = {
client.expect.element('#prompt-header').not.visible;
},
'check smart inventory form for unsanitized content': client => {
client.url(urls.smartInventory);
client.navigateTo(urls.smartInventory, false);
client.expect.element('#smartinventory_form').visible;