Updates for "nightly" functional ui tests.

Temporary comment some functionality of "test_cluster_deployment" test due to bug:
https://bugs.launchpad.net/fuel/+bug/1623937
Uncomment some functionality of "test_remove_mirantis_name" test thanks to fix:
https://review.openstack.org/#/c/321997
Update "test_deployment_history" test due to ui changes:
https://review.openstack.org/#/c/374607
Update "test_network_groups" test due to ui changes:
https://review.openstack.org/#/c/374205

Change-Id: Iaa58db6a693954fbacf2576abe4560936709ccea
This commit is contained in:
Grigory Mikhailov 2016-09-22 18:53:54 +03:00
parent 9e1f5bf08b
commit c47f218f38
5 changed files with 30 additions and 17 deletions

View File

@ -79,15 +79,15 @@ class HistoryLib {
.getVisibleText() .getVisibleText()
.then((value) => assert.equal(value, taskStatus, 'Task status is the same in the table')) .then((value) => assert.equal(value, taskStatus, 'Task status is the same in the table'))
.end() .end()
.findByCssSelector(tableBodyRow + ':nth-child(' + rowNumber + ') td:nth-child(4)') .findByCssSelector(tableBodyRow + ':nth-child(' + rowNumber + ') td:nth-child(5)')
.getVisibleText() .getVisibleText()
.then((value) => assert.equal(value, startTime, 'Start time is the same in the table')) .then((value) => assert.equal(value, startTime, 'Start time is the same in the table'))
.end() .end()
.findByCssSelector(tableBodyRow + ':nth-child(' + rowNumber + ') td:nth-child(5)') .findByCssSelector(tableBodyRow + ':nth-child(' + rowNumber + ') td:nth-child(6)')
.getVisibleText() .getVisibleText()
.then((value) => assert.equal(value, endTime, 'End time is the same in the table')) .then((value) => assert.equal(value, endTime, 'End time is the same in the table'))
.end() .end()
.clickByCssSelector(tableBodyRow + ':nth-child(' + rowNumber + ') td:nth-child(6) button') .clickByCssSelector(tableBodyRow + ':nth-child(' + rowNumber + ') td:nth-child(7) button')
.then(() => this.modal.waitToOpen()) .then(() => this.modal.waitToOpen())
.then(() => this.modal.checkTitle('Deployment Task Details')) .then(() => this.modal.checkTitle('Deployment Task Details'))
.assertElementsExist(taskDetailsAttribure, 'Attribute is presented at task details dialog') .assertElementsExist(taskDetailsAttribure, 'Attribute is presented at task details dialog')
@ -103,11 +103,11 @@ class HistoryLib {
.getVisibleText() .getVisibleText()
.then((value) => assert.equal(value, taskStatus, 'Task status is the same in the dialog')) .then((value) => assert.equal(value, taskStatus, 'Task status is the same in the dialog'))
.end() .end()
.findByCssSelector(taskDetailsAttribure + ':nth-child(4) span') .findByCssSelector(taskDetailsAttribure + ':nth-child(5) span')
.getVisibleText() .getVisibleText()
.then((value) => assert.equal(value, startTime, 'Start time is the same in the dialog')) .then((value) => assert.equal(value, startTime, 'Start time is the same in the dialog'))
.end() .end()
.findByCssSelector(taskDetailsAttribure + ':nth-child(5) span') .findByCssSelector(taskDetailsAttribure + ':nth-child(6) span')
.getVisibleText() .getVisibleText()
.then((value) => assert.equal(value, endTime, 'End time is the same in the dialog')) .then((value) => assert.equal(value, endTime, 'End time is the same in the dialog'))
.end() .end()

View File

@ -100,6 +100,10 @@ registerSuite(() => {
.then(() => clusterPage.resetEnvironment(clusterName)) .then(() => clusterPage.resetEnvironment(clusterName))
.then(() => dashboardPage.discardChanges()); .then(() => dashboardPage.discardChanges());
}, },
/*
FIXME: Uncomment after bugfix.
Bug: https://bugs.launchpad.net/fuel/+bug/1623937
'Check nodes selection dialog supports Quick Search, Sorting and Filtering'() { 'Check nodes selection dialog supports Quick Search, Sorting and Filtering'() {
this.timeout = 100000; this.timeout = 100000;
var provisionControllerAmount = 1; var provisionControllerAmount = 1;
@ -152,6 +156,7 @@ registerSuite(() => {
.then(() => clusterPage.resetEnvironment(clusterName)) .then(() => clusterPage.resetEnvironment(clusterName))
.then(() => dashboardPage.discardChanges()); .then(() => dashboardPage.discardChanges());
}, },
*/
'Check that "Provisioning only" works as expected'() { 'Check that "Provisioning only" works as expected'() {
this.timeout = 60000; this.timeout = 60000;
var provisionNodesAmount = 3; var provisionNodesAmount = 3;
@ -185,6 +190,10 @@ registerSuite(() => {
.then(() => clusterPage.goToTab('Dashboard')); .then(() => clusterPage.goToTab('Dashboard'));
}, },
'Check that "Deployment only" works as expected'() { 'Check that "Deployment only" works as expected'() {
/*
FIXME: Uncomment after bugfix.
Bug: https://bugs.launchpad.net/fuel/+bug/1623937
this.timeout = 75000; this.timeout = 75000;
var provisionNodesAmount = 3; var provisionNodesAmount = 3;
var deployNodesAmount = 3; var deployNodesAmount = 3;
@ -192,7 +201,12 @@ registerSuite(() => {
var clusterStatus = 'Operational'; var clusterStatus = 'Operational';
var newGroupName = 'Network_Group_1'; var newGroupName = 'Network_Group_1';
var renameGroupName = 'Network_Group_3'; var renameGroupName = 'Network_Group_3';
*/
return this.remote return this.remote
/*
FIXME: Uncomment after bugfix.
Bug: https://bugs.launchpad.net/fuel/+bug/1623937
// Check "Deployment only" // Check "Deployment only"
.then(() => dashboardLib.changeDeploymentMode('Deployment')) .then(() => dashboardLib.changeDeploymentMode('Deployment'))
.then(() => dashboardLib.checkDeploymentModeState(totalNodesAmount, 0, 0, .then(() => dashboardLib.checkDeploymentModeState(totalNodesAmount, 0, 0,
@ -208,6 +222,7 @@ registerSuite(() => {
.then(() => networksLib.createNetworkGroup(newGroupName)) .then(() => networksLib.createNetworkGroup(newGroupName))
.then(() => networksLib.renameNetworkGroup(newGroupName, renameGroupName)) .then(() => networksLib.renameNetworkGroup(newGroupName, renameGroupName))
.then(() => clusterPage.goToTab('Dashboard')) .then(() => clusterPage.goToTab('Dashboard'))
*/
.then(() => clusterPage.resetEnvironment(clusterName)) .then(() => clusterPage.resetEnvironment(clusterName))
.then(() => dashboardPage.discardChanges()); .then(() => dashboardPage.discardChanges());
}, },

View File

@ -307,22 +307,23 @@ registerSuite(() => {
// Check "Table View" // Check "Table View"
.clickByCssSelector(tableViewButton) .clickByCssSelector(tableViewButton)
.assertElementsAppear(tablePaneSelector, 5000, '"Table pane" appears') .assertElementsAppear(tablePaneSelector, 5000, '"Table pane" appears')
.assertElementsExist(tableHeader, 6, '6 columns are observed by default') .assertElementsExist(tableHeader, 7, '7 columns are observed by default')
.assertElementTextEquals(tableHeader + ':nth-child(1)', 'Task', 'Column has true name') .assertElementTextEquals(tableHeader + ':nth-child(1)', 'Task', 'Column has true name')
.assertElementTextEquals(tableHeader + ':nth-child(2)', 'Node', 'Column has true name') .assertElementTextEquals(tableHeader + ':nth-child(2)', 'Node', 'Column has true name')
.assertElementTextEquals(tableHeader + ':nth-child(3)', 'Status', 'Column has true name') .assertElementTextEquals(tableHeader + ':nth-child(3)', 'Status', 'Column has true name')
.assertElementTextEquals(tableHeader + ':nth-child(4)', 'Started', 'Column has true name') .assertElementTextEquals(tableHeader + ':nth-child(4)', 'Type', 'Column has true name')
.assertElementTextEquals(tableHeader + ':nth-child(5)', 'Finished', 'Column has true name') .assertElementTextEquals(tableHeader + ':nth-child(5)', 'Started', 'Column has true name')
.assertElementTextEquals(tableHeader + ':nth-child(6)', '', 'Column has true name') .assertElementTextEquals(tableHeader + ':nth-child(6)', 'Finished', 'Column has true name')
.assertElementTextEquals(tableHeader + ':nth-child(7)', '', 'Column has true name')
.assertElementsExist(tableBodyRow, 7, '7 node tasks are observed') .assertElementsExist(tableBodyRow, 7, '7 node tasks are observed')
.assertElementsExist(tableBodyRow + ' td', 42, '42 cells are observed in the table') .assertElementsExist(tableBodyRow + ' td', 49, '49 cells are observed in the table')
.assertElementTextEquals(tableBodyRow + ' td:nth-child(2)', 'Master node', .assertElementTextEquals(tableBodyRow + ' td:nth-child(2)', 'Master node',
'Master node has correct name') 'Master node has correct name')
.assertElementTextEquals(tableBodyRow + ':nth-child(2) td:nth-child(2)', controllerName, .assertElementTextEquals(tableBodyRow + ':nth-child(2) td:nth-child(2)', controllerName,
'Controller node has correct name') 'Controller node has correct name')
.assertElementContainsText(tableBodyRow + ' td:nth-child(4)', currentTime, .assertElementContainsText(tableBodyRow + ' td:nth-child(5)', currentTime,
'Task start time the same as real via "Table View"') 'Task start time the same as real via "Table View"')
.assertElementContainsText(tableBodyRow + ' td:nth-child(4)', currentDate, .assertElementContainsText(tableBodyRow + ' td:nth-child(5)', currentDate,
'Task start date the same as real via "Table View"'); 'Task start date the same as real via "Table View"');
}, },
'Check that "Timeline View" data equals to "Table View" data'() { 'Check that "Timeline View" data equals to "Table View" data'() {

View File

@ -399,7 +399,7 @@ registerSuite(() => {
'Deletion of several node network groups one after another is successfull'); 'Deletion of several node network groups one after another is successfull');
}, },
'Can not create node network group without saving changes'() { 'Can not create node network group without saving changes'() {
var errorTextSelector = 'div.text-error'; var errorTextSelector = 'div.text-danger div';
var ipRangeStart = '172.16.0.25'; var ipRangeStart = '172.16.0.25';
return this.remote return this.remote
.assertElementEnabled(startIpSelector, 'Public "Start IP Range" textfield is enabled') .assertElementEnabled(startIpSelector, 'Public "Start IP Range" textfield is enabled')
@ -410,7 +410,7 @@ registerSuite(() => {
.clickByCssSelector(addGroupSelector) .clickByCssSelector(addGroupSelector)
.then(() => modal.waitToOpen()) .then(() => modal.waitToOpen())
.then(() => modal.checkTitle('Node Network Group Creation Error')) .then(() => modal.checkTitle('Node Network Group Creation Error'))
.assertElementDisplayed(errorTextSelector, 'Error message exists') .assertElementAppears(errorTextSelector, 1000, 'Error message appears')
.assertElementContainsText(errorTextSelector, .assertElementContainsText(errorTextSelector,
'It is necessary to save changes before creating a new node network group', 'It is necessary to save changes before creating a new node network group',
'True error message presents') 'True error message presents')

View File

@ -68,10 +68,7 @@ registerSuite(() => {
.then(() => genericLib.checkMirantisRefsOnTab('Dashboard')) .then(() => genericLib.checkMirantisRefsOnTab('Dashboard'))
.then(() => genericLib.checkMirantisRefsOnTab('Nodes')) .then(() => genericLib.checkMirantisRefsOnTab('Nodes'))
.then(() => genericLib.checkMirantisRefsOnTab('Networks')) .then(() => genericLib.checkMirantisRefsOnTab('Networks'))
/* @FIXME: uncomment "Settings" tab check after after this patch will be merged:
https://review.openstack.org/#/c/321997
.then(() => genericLib.checkMirantisRefsOnTab('Settings')) .then(() => genericLib.checkMirantisRefsOnTab('Settings'))
*/
.then(() => genericLib.checkMirantisRefsOnTab('Logs')) .then(() => genericLib.checkMirantisRefsOnTab('Logs'))
.then(() => genericLib.checkMirantisRefsOnTab('Health Check')); .then(() => genericLib.checkMirantisRefsOnTab('Health Check'));
} }