diff --git a/src/plugins/kibana/public/settings/styles/main.less b/src/plugins/kibana/public/settings/styles/main.less index ef10f7317faad..dc0f0ccf87ca0 100644 --- a/src/plugins/kibana/public/settings/styles/main.less +++ b/src/plugins/kibana/public/settings/styles/main.less @@ -93,6 +93,8 @@ kbn-settings-objects-view { } .advanced-settings { + overflow-x: scroll; + table { width: 100%; diff --git a/src/ui/public/visualize/visualize.less b/src/ui/public/visualize/visualize.less index f8520f2f4cc22..e1e7805e3d08c 100644 --- a/src/ui/public/visualize/visualize.less +++ b/src/ui/public/visualize/visualize.less @@ -13,11 +13,10 @@ visualize { } .vis-container { - height: 1px; display: flex; flex-direction: row; - flex: 1 1 auto; + flex: 1 0; overflow: auto; -webkit-transition: opacity 0.01s; transition: opacity 0.01s; diff --git a/test/functional/apps/discover/_collapse_expand.js b/test/functional/apps/discover/_collapse_expand.js index f2131378a1ce1..d4ade8faeb4e5 100644 --- a/test/functional/apps/discover/_collapse_expand.js +++ b/test/functional/apps/discover/_collapse_expand.js @@ -53,35 +53,37 @@ define(function (require) { bdd.it('should initially be expanded', function () { return discoverPage.getSidebarWidth() - .then(function (actualwidth) { - common.debug('expanded sidebar width = ' + actualwidth); - expect(actualwidth > 180).to.be(true); - }) - .catch(common.handleError(this)); + .then(function (width) { + common.debug('expanded sidebar width = ' + width); + expect(width > 180).to.be(true); + }) + .catch(common.handleError(this)); }); bdd.it('should collapse when clicked', function () { - return discoverPage.clickSidebarCollapse() - .then(function () { - return discoverPage.getSidebarWidth(); - }) - .then(function (actualwidth) { - common.debug('collapsed sidebar width = ' + actualwidth); - expect(actualwidth < 20).to.be(true); - }) - .catch(common.handleError(this)); + return discoverPage.toggleSidebarCollapse() + .then(function () { + common.debug('discoverPage.getSidebarWidth()'); + return discoverPage.getSidebarWidth(); + }) + .then(function (width) { + common.debug('collapsed sidebar width = ' + width); + expect(width < 20).to.be(true); + }) + .catch(common.handleError(this)); }); bdd.it('should expand when clicked', function () { - return discoverPage.clickSidebarExpand() - .then(function () { - return discoverPage.getSidebarWidth(); - }) - .then(function (actualwidth) { - common.debug('expanded sidebar width = ' + actualwidth); - expect(actualwidth > 180).to.be(true); - }) - .catch(common.handleError(this)); + return discoverPage.toggleSidebarCollapse() + .then(function () { + common.debug('discoverPage.getSidebarWidth()'); + return discoverPage.getSidebarWidth(); + }) + .then(function (width) { + common.debug('expanded sidebar width = ' + width); + expect(width > 180).to.be(true); + }) + .catch(common.handleError(this)); }); }); diff --git a/test/functional/apps/discover/_discover.js b/test/functional/apps/discover/_discover.js index 44525ad24d45c..86271155f8cc9 100644 --- a/test/functional/apps/discover/_discover.js +++ b/test/functional/apps/discover/_discover.js @@ -84,6 +84,9 @@ define(function (require) { bdd.it('load query should show query name', function () { return discoverPage.loadSavedSearch(queryName1) + .then(function () { + return common.sleep(3000); + }) .then(function () { return discoverPage.getCurrentQueryName(); }) @@ -104,18 +107,13 @@ define(function (require) { .catch(common.handleError(this)); }); - - bdd.it('should show the correct bar chart', function () { - var expectedBarChartData = [ '0', '0', '0', '0', '0', '0', - '2.7056249999999977', '14.771249999999995', '54.112500000000004', - '105.080625', '100.25437500000001', '54.916875', '13.747499999999988', - '2.266874999999999', '3.0712500000000063', '14.771249999999995', - '49.944374999999994', '99.523125', '103.471875', '51.699375', - '12.943124999999995', '1.9743749999999949', '2.3400000000000034', - '12.796875', '51.699375', '102.96000000000001', '99.08437500000001', - '53.08875', '14.698125000000005', '2.1206249999999898', '0', '0', - '0', '0', '0', '0', '0' + var expectedBarChartData = [ '0', '0', '0', '0', '0', '0', '3.237', + '17.674', '64.75', '125.737', '119.962', '65.712', '16.449', + '2.712', '3.675', '17.674', '59.762', '119.087', '123.812', + '61.862', '15.487', '2.362', '2.800', '15.312', '61.862', '123.2', + '118.562', '63.524', '17.587', '2.537', '0', '0', '0', '0', '0', + '0', '0' ]; return common.sleep(4000) .then(function () { @@ -144,26 +142,19 @@ define(function (require) { bdd.it('should show correct data for chart interval Hourly', function () { var chartInterval = 'Hourly'; - var expectedBarChartData = [ '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', - '0', '0', '0', '0', '0', '0', '0', '0', '1.2763636363636266', '1.914545454545447', - '4.680000000000007', '6.594545454545454', '11.061818181818168', '25.314545454545453', - '38.50363636363636', '46.374545454545455', '72.53999999999999', '93.60000000000001', - '102.10909090909091', '109.97999999999999', '111.04363636363637', '94.87636363636364', - '85.72909090909091', '68.28545454545454', '54.88363636363636', '36.58909090909091', - '20.209090909090904', '11.700000000000003', '8.083636363636359', '5.105454545454549', - '0.6381818181818204', '0.8509090909090986', '2.3400000000000034', '2.978181818181824', - '3.61636363636363', '8.083636363636359', '10.423636363636362', '24.46363636363637', - '32.33454545454545', '45.94909090909091', '67.00909090909092', '85.51636363636365', - '94.87636363636364', '109.1290909090909', '110.61818181818181', '100.83272727272727', - '89.55818181818182', '65.30727272727273', '48.92727272727274', '36.16363636363636', - '21.059999999999988', '10.210909090909098', '6.38181818181819', '3.190909090909088', - '2.127272727272725', '0.4254545454545422', '1.701818181818183', '1.4890909090909048', - '3.61636363636363', '7.232727272727274', '7.870909090909095', '22.123636363636365', - '32.54727272727273', '51.267272727272726', '66.58363636363637', '85.94181818181818', - '104.66181818181818', '108.91636363636364', '107.00181818181818', '100.62', - '80.62363636363636', '62.32909090909091', '58.92545454545455', '33.18545454545455', - '21.059999999999988', '11.274545454545446', '10.423636363636362', '3.403636363636366', - '1.914545454545447', '0.8509090909090986', '0', '0', '0', '0', '0', '0', + var expectedBarChartData = [ '0', '0', '0', '0', '0', '0', '0', '0', + '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1.527', '2.290', + '5.599', '7.890', '13.236', '30.290', '46.072', '55.490', '86.8', + '112', '122.181', '131.6', '132.872', '113.527', '102.581', + '81.709', '65.672', '43.781', '24.181', '14', '9.672', '6.109', + '0.763', '1.018', '2.800', '3.563', '4.327', '9.672', '12.472', + '29.272', '38.690', '54.981', '80.181', '102.327', '113.527', + '130.581', '132.363', '120.654', '107.163', '78.145', '58.545', + '43.272', '25.199', '12.218', '7.636', '3.818', '2.545', '0.509', + '2.036', '1.781', '4.327', '8.654', '9.418', '26.472', '38.945', + '61.345', '79.672', '102.836', '125.236', '130.327', '128.036', + '120.4', '96.472', '74.581', '70.509', '39.709', '25.199', '13.490', + '12.472', '4.072', '2.290', '1.018', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0' ]; return discoverPage.setChartInterval(chartInterval) @@ -178,7 +169,9 @@ define(function (require) { bdd.it('should show correct data for chart interval Daily', function () { var chartInterval = 'Daily'; - var expectedBarChartData = [ '0', '111.3138', '107.96759999999999', '108.4122', '0']; + var expectedBarChartData = [ + '0', '133.196', '129.192', '129.724', '0' + ]; return discoverPage.setChartInterval(chartInterval) .then(function () { return common.sleep(8000); @@ -191,7 +184,7 @@ define(function (require) { bdd.it('should show correct data for chart interval Weekly', function () { var chartInterval = 'Weekly'; - var expectedBarChartData = [ '55.6569', '108.1899']; + var expectedBarChartData = [ '66.598', '129.458']; return discoverPage.setChartInterval(chartInterval) .then(function () { return common.sleep(2000); @@ -204,7 +197,7 @@ define(function (require) { bdd.it('should show correct data for chart interval Monthly', function () { var chartInterval = 'Monthly'; - var expectedBarChartData = [ '102.404']; + var expectedBarChartData = [ '122.535']; return discoverPage.setChartInterval(chartInterval) .then(function () { return common.sleep(2000); @@ -217,7 +210,7 @@ define(function (require) { bdd.it('should show correct data for chart interval Yearly', function () { var chartInterval = 'Yearly'; - var expectedBarChartData = [ '102.404']; + var expectedBarChartData = [ '122.535']; return discoverPage.setChartInterval(chartInterval) .then(function () { return common.sleep(2000); @@ -228,19 +221,14 @@ define(function (require) { .catch(common.handleError(this)); }); - - bdd.it('should show correct data for chart interval Auto', function () { var chartInterval = 'Auto'; - var expectedBarChartData = [ '0', '0', '0', '0', '0', '0', - '2.7056249999999977', '14.771249999999995', '54.112500000000004', - '105.080625', '100.25437500000001', '54.916875', '13.747499999999988', - '2.266874999999999', '3.0712500000000063', '14.771249999999995', - '49.944374999999994', '99.523125', '103.471875', '51.699375', - '12.943124999999995', '1.9743749999999949', '2.3400000000000034', - '12.796875', '51.699375', '102.96000000000001', '99.08437500000001', - '53.08875', '14.698125000000005', '2.1206249999999898', '0', '0', - '0', '0', '0', '0', '0' + var expectedBarChartData = [ '0', '0', '0', '0', '0', '0', '3.237', + '17.674', '64.75', '125.737', '119.962', '65.712', '16.449', + '2.712', '3.675', '17.674', '59.762', '119.087', '123.812', + '61.862', '15.487', '2.362', '2.800', '15.312', '61.862', '123.2', + '118.562', '63.524', '17.587', '2.537', '0', '0', '0', '0', '0', + '0', '0' ]; return discoverPage.setChartInterval(chartInterval) .then(function () { diff --git a/test/functional/apps/discover/_field_data.js b/test/functional/apps/discover/_field_data.js index c36ae8e0fcae6..e49496ac0ed46 100644 --- a/test/functional/apps/discover/_field_data.js +++ b/test/functional/apps/discover/_field_data.js @@ -51,7 +51,6 @@ define(function (require) { var fromTimeString = 'September 19th 2015, 06:31:44.000'; var toTimeString = 'September 23rd 2015, 18:31:44.000'; - bdd.it('search php should show the correct hit count', function () { var expectedHitCount = '445'; return discoverPage.query('php') diff --git a/test/functional/apps/discover/_shared_links.js b/test/functional/apps/discover/_shared_links.js index 1173eaaad5d74..feae21ea21fb6 100644 --- a/test/functional/apps/discover/_shared_links.js +++ b/test/functional/apps/discover/_shared_links.js @@ -79,10 +79,10 @@ define(function (require) { var expectedUrl = baseUrl + '/app/kibana?_t=1453775307251#' + '/discover?_g=(refreshInterval:(display:Off,pause:!f,value:0),time' - + ':(from:%272015-09-19T06:31:44.000Z%27,mode:absolute,to:%272015-09' - + '-23T18:31:44.000Z%27))&_a=(columns:!(_source),index:%27logstash-' - + '*%27,interval:auto,query:(query_string:(analyze_wildcard:!t,query' - + ':%27*%27)),sort:!(%27@timestamp%27,desc))'; + + ':(from:\'2015-09-19T06:31:44.000Z\',mode:absolute,to:\'2015-09' + + '-23T18:31:44.000Z\'))&_a=(columns:!(_source),index:\'logstash-' + + '*\',interval:auto,query:(query_string:(analyze_wildcard:!t,query' + + ':\'*\')),sort:!(\'@timestamp\',desc))'; return discoverPage.getSharedUrl() .then(function (actualUrl) { // strip the timestamp out of each URL diff --git a/test/functional/apps/visualize/_metric_chart.js b/test/functional/apps/visualize/_metric_chart.js index 728784784507b..26137a7a29dac 100644 --- a/test/functional/apps/visualize/_metric_chart.js +++ b/test/functional/apps/visualize/_metric_chart.js @@ -199,8 +199,10 @@ define(function (require) { }); bdd.it('should show Standard Deviation', function pageHeader() { - var standardDeviationBytes = [ '-1,435.138', 'Lower Standard Deviation of bytes', - '5,727.314', 'Average of bytes', '12,889.766', 'Upper Standard Deviation of bytes' + var standardDeviationBytes = [ + '-1,435.138', 'Lower Standard Deviation of bytes', + '5,727.314', 'Average of bytes', + '12,889.766', 'Upper Standard Deviation of bytes' ]; common.debug('Aggregation = Standard Deviation'); return visualizePage.selectAggregation('Standard Deviation') @@ -252,18 +254,16 @@ define(function (require) { }); bdd.it('should show Percentiles', function pageHeader() { - // This SHOULD be the expected result but the top item is cut off. - // See https://github.com/elastic/kibana/issues/5721 - // var percentileMachineRam = ['2,147,483,648', '1st percentile of machine.ram', '3,221,225,472', - // '5th percentile of machine.ram', '7,516,192,768', '25th percentile of machine.ram', '12,884,901,888', - // '50th percentile of machine.ram', '18,253,611,008', '75th percentile of machine.ram', - // '32,212,254,720', '95th percentile of machine.ram', '32,212,254,720', '99th percentile of machine.ram' - // ]; - var percentileMachineRam = ['3,221,225,472', - '5th percentile of machine.ram', '7,516,192,768', '25th percentile of machine.ram', '12,884,901,888', - '50th percentile of machine.ram', '18,253,611,008', '75th percentile of machine.ram', - '32,212,254,720', '95th percentile of machine.ram', '32,212,254,720', '99th percentile of machine.ram' + var percentileMachineRam = [ + '2,147,483,648', '1st percentile of machine.ram', + '3,221,225,472', '5th percentile of machine.ram', + '7,516,192,768', '25th percentile of machine.ram', + '12,884,901,888', '50th percentile of machine.ram', + '18,253,611,008', '75th percentile of machine.ram', + '32,212,254,720', '95th percentile of machine.ram', + '32,212,254,720', '99th percentile of machine.ram' ]; + common.debug('Aggregation = Percentiles'); return visualizePage.selectAggregation('Percentiles') .then(function selectField() { diff --git a/test/support/pages/common.js b/test/support/pages/common.js index a2e821ab05f4e..c5f2ce37aa312 100644 --- a/test/support/pages/common.js +++ b/test/support/pages/common.js @@ -91,6 +91,7 @@ define(function (require) { return self.remote.getCurrentUrl(); }) .then(function (currentUrl) { + var currentUrl = currentUrl.replace(/\/\/\w+:\w+@/, '//'); var navSuccessful = new RegExp(appUrl).test(currentUrl); if (!navSuccessful) { var msg = 'App failed to load: ' + appName + @@ -254,8 +255,10 @@ define(function (require) { }, findTestSubject: function findTestSubject(selector) { - this.debug('in findTestSubject: ' + selector); - return this.remote.findByCssSelector(testSubjSelector(selector)); + this.debug('in findTestSubject: ' + testSubjSelector(selector)); + return this.remote + .setFindTimeout(defaultTimeout) + .findDisplayedByCssSelector(testSubjSelector(selector)); } }; diff --git a/test/support/pages/discover_page.js b/test/support/pages/discover_page.js index ab6d8f9c679f9..b5638a18882b6 100644 --- a/test/support/pages/discover_page.js +++ b/test/support/pages/discover_page.js @@ -28,7 +28,7 @@ define(function (require) { getTimespanText: function getTimespanText() { return thisTime - .findByCssSelector('.navbar-timepicker-time-desc pretty-duration') + .findByCssSelector('.kibana-nav-actions .navbar-timepicker-time-desc pretty-duration') .getVisibleText(); }, @@ -41,20 +41,18 @@ define(function (require) { saveSearch: function saveSearch(searchName) { var self = this; return self.clickSaveSearchButton() - .then(function () { - common.sleep(1000); - }) .then(function () { common.debug('--saveSearch button clicked'); - return thisTime.findById('SaveSearch') - .type(searchName); + return thisTime.findDisplayedById('SaveSearch') + .pressKeys(searchName); }) .then(function clickSave() { common.debug('--find save button'); return thisTime - .findByCssSelector('button[ng-disabled="!opts.savedSearch.title"]') + .findDisplayedByCssSelector('button[ng-disabled="!opts.savedSearch.title"]') .click(); - }); + }) + .catch(common.handleError(this)); }, loadSavedSearch: function loadSavedSearch(searchName) { @@ -76,18 +74,16 @@ define(function (require) { .click(); }, - clickLoadSavedSearchButton: function clickSaveSearchButton() { + clickLoadSavedSearchButton: function clickLoadSavedSearchButton() { return thisTime .findByCssSelector('button[aria-label="Load Saved Search"]') .click(); }, getCurrentQueryName: function getCurrentQueryName() { - return common.tryForTime(defaultTimeout, function () { - return thisTime - .findByCssSelector('span.discover-info-title') + return thisTime + .findByCssSelector('span.kibana-nav-info-title') .getVisibleText(); - }); }, getBarChartData: function getBarChartData() { @@ -110,13 +106,13 @@ define(function (require) { getChartInterval: function getChartInterval() { return thisTime - .findByCssSelector('span.results-interval:nth-child(2) > a:nth-child(1)') + .findByCssSelector('a[ng-click="toggleInterval()"]') .getVisibleText(); }, setChartInterval: function setChartInterval(interval) { - return thisTime - .findByCssSelector('span.results-interval:nth-child(2) > a:nth-child(1)') + return this.remote.setFindTimeout(5000) + .findByCssSelector('a[ng-click="toggleInterval()"]') .click() .catch(function () { // in some cases we have the link above, but after we've made a @@ -191,20 +187,20 @@ define(function (require) { clickCopyToClipboard: function clickCopyToClipboard() { return thisTime - .findByCssSelector('button.clipboard-button') + .findDisplayedByCssSelector('button.clipboard-button') .click(); }, getShareCaption: function getShareCaption() { return thisTime - .findByCssSelector('div.form-group > label') + .findByCssSelector('.vis-share label') .getVisibleText(); }, getSharedUrl: function getSharedUrl() { return thisTime .findByCssSelector('.url') - .getProperty('baseURI'); + .getProperty('value'); }, getShortenedUrl: function getShortenedUrl() { @@ -213,22 +209,15 @@ define(function (require) { .getProperty('value'); }, - clickSidebarExpand: function clickSidebarExpand() { - return thisTime - .findByCssSelector('.chevron-cont') - .click(); - }, - - clickSidebarCollapse: function clickSidebarCollapse() { - return thisTime - .findByCssSelector('.chevron-cont') - .click(); + toggleSidebarCollapse: function toggleSidebarCollapse() { + return thisTime.findDisplayedByCssSelector('.sidebar-collapser .chevron-cont') + .click(); }, getSidebarWidth: function getSidebarWidth() { return thisTime - .findByCssSelector('.sidebar-list') - .getProperty('clientWidth'); + .findByClassName('sidebar-list') + .getProperty('clientWidth'); } }; diff --git a/test/support/pages/header_page.js b/test/support/pages/header_page.js index 511e5ef6e4744..b87c29095bc21 100644 --- a/test/support/pages/header_page.js +++ b/test/support/pages/header_page.js @@ -51,7 +51,7 @@ define(function (require) { clickTimepicker: function clickTimepicker() { return this.remote.setFindTimeout(defaultTimeout) - .findByClassName('navbar-timepicker-time-desc').click(); + .findDisplayedByClassName('navbar-timepicker-time-desc').click(); }, clickAbsoluteButton: function clickAbsoluteButton() { @@ -100,41 +100,27 @@ define(function (require) { return self.clickGoButton(); }) .then(function () { - self.collapseTimepicker(); + return self.collapseTimepicker(); }); }, collapseTimepicker: function collapseTimepicker() { return this.remote.setFindTimeout(defaultTimeout) - .findByCssSelector('.fa.fa-chevron-up') + .findByCssSelector('.fa.fa-chevron-circle-up') .click(); }, getToastMessage: function getToastMessage() { return this.remote.setFindTimeout(defaultTimeout) - .findByCssSelector('kbn-truncated.toast-message.ng-isolate-scope') + .findDisplayedByCssSelector('kbn-truncated.toast-message.ng-isolate-scope') .getVisibleText(); }, waitForToastMessageGone: function waitForToastMessageGone() { var self = this; - return common.tryForTime(defaultTimeout, function () { - return self.remote.setFindTimeout(500) - .findAllByCssSelector('kbn-truncated.toast-message') - .then(function toastMessage(messages) { - if (messages.length > 0) { - common.debug('toast message found, waiting...'); - throw new Error('waiting for toast message to clear'); - } else { - common.debug('toast message clear'); - return messages; - } - }) - .catch(function () { - common.debug('toast message not found'); - return; - }); - }); + + return self.remote.setFindTimeout(defaultTimeout) + .waitForDeletedByCssSelector('kbn-truncated.toast-message'); }, clickToastOK: function clickToastOK() { @@ -148,7 +134,7 @@ define(function (require) { var self = this; return this.remote .setFindTimeout(defaultTimeout * 10) - .findByCssSelector('.navbar-text.ng-hide .spinner'); + .findByCssSelector('.spinner.ng-hide'); } }; diff --git a/test/support/pages/settings_page.js b/test/support/pages/settings_page.js index 871d7081a9d35..ca0168129b3ac 100644 --- a/test/support/pages/settings_page.js +++ b/test/support/pages/settings_page.js @@ -25,8 +25,9 @@ define(function (require) { return common.findTestSubject('advancedSetting&' + propertyName + ' editButton') .click() .then(function setAdvancedSettingsClickPropertyValue(selectList) { - return self.remote.findByCssSelector('option[label="' + propertyValue + '"]') - .click(); + return self.remote + .findDisplayedByCssSelector('option[label="' + propertyValue + '"]') + .click(); }) .then(function setAdvancedSettingsClickSaveButton() { return common.findTestSubject('advancedSetting&' + propertyName + ' saveButton') @@ -95,7 +96,7 @@ define(function (require) { getTimeFieldNameField: function () { return this.remote.setFindTimeout(defaultTimeout) - .findByCssSelector('select[ng-model="index.timeField"]'); + .findDisplayedByCssSelector('select[ng-model="index.timeField"]'); }, selectTimeFieldOption: function (selection) { @@ -122,12 +123,12 @@ define(function (require) { getTimeFieldOption: function (selection) { return this.remote.setFindTimeout(defaultTimeout) - .findByCssSelector('option[label="' + selection + '"]').click(); + .findDisplayedByCssSelector('option[label="' + selection + '"]').click(); }, getCreateButton: function () { return this.remote.setFindTimeout(defaultTimeout) - .findByCssSelector('.btn'); + .findDisplayedByCssSelector('.btn'); }, clickCreateButton: function () { diff --git a/test/support/pages/visualize_page.js b/test/support/pages/visualize_page.js index f8c68abbe2a92..cffcd7e79731a 100644 --- a/test/support/pages/visualize_page.js +++ b/test/support/pages/visualize_page.js @@ -82,7 +82,7 @@ define(function (require) { var types = []; return this.remote .setFindTimeout(defaultTimeout) - .findAllByCssSelector('a.wizard-vis-type.ng-scope h4') + .findAllByCssSelector('.wizard-type-heading h4') .then(function (chartTypes) { function getChartType(chart) { return chart.getVisibleText(); @@ -134,8 +134,7 @@ define(function (require) { getMetric: function getMetric() { return this.remote - .setFindTimeout(defaultTimeout) - // .findByCssSelector('div[ng-repeat="metric in metrics"') + .setFindTimeout(2000) .findByCssSelector('div[ng-controller="KbnMetricVisController"]') .getVisibleText(); }, @@ -150,7 +149,7 @@ define(function (require) { clickNewSearch: function clickNewSearch() { return this.remote .setFindTimeout(defaultTimeout) - .findByCssSelector('li[ng-click="stepTwoMode=\'new\'"]') + .findByCssSelector('.list-group-item a') .click(); }, @@ -274,7 +273,7 @@ define(function (require) { setNumericInterval: function setNumericInterval(newValue) { return this.remote .setFindTimeout(defaultTimeout) - .findByCssSelector('input.form-control:nth-child(2)') + .findByCssSelector('input[name="interval"]') .type(newValue); }, @@ -314,7 +313,7 @@ define(function (require) { .then(function () { return self.remote .setFindTimeout(defaultTimeout) - .findByCssSelector('.btn-primary') + .findByCssSelector('.config button[type="submit"]') .click(); }) // verify that green message at the top of the page.