Migrate visualize functional tests to PageObjects.

This commit is contained in:
CJ Cenizal 2016-06-27 15:51:29 -07:00
parent 4cc868c932
commit e7189e5349
9 changed files with 310 additions and 313 deletions

View file

@ -1,62 +1,61 @@
import expect from 'expect.js';
import {
bdd,
common,
headerPage,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
bdd.before(function () {
var fromTime = '2015-09-19 06:31:44.000';
var toTime = '2015-09-23 18:31:44.000';
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize')
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize')
.then(function () {
common.debug('clickAreaChart');
return visualizePage.clickAreaChart();
PageObjects.common.debug('clickAreaChart');
return PageObjects.visualize.clickAreaChart();
})
.then(function clickNewSearch() {
common.debug('clickNewSearch');
return visualizePage.clickNewSearch();
PageObjects.common.debug('clickNewSearch');
return PageObjects.visualize.clickNewSearch();
})
.then(function setAbsoluteRange() {
common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return headerPage.setAbsoluteRange(fromTime, toTime);
PageObjects.common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
})
.then(function clickBucket() {
common.debug('Click X-Axis');
return visualizePage.clickBucket('X-Axis');
PageObjects.common.debug('Click X-Axis');
return PageObjects.visualize.clickBucket('X-Axis');
})
.then(function selectAggregation() {
common.debug('Click Date Histogram');
return visualizePage.selectAggregation('Date Histogram');
PageObjects.common.debug('Click Date Histogram');
return PageObjects.visualize.selectAggregation('Date Histogram');
})
.then(function getField() {
common.debug('Check field value');
return visualizePage.getField();
PageObjects.common.debug('Check field value');
return PageObjects.visualize.getField();
})
.then(function (fieldValue) {
common.debug('fieldValue = ' + fieldValue);
PageObjects.common.debug('fieldValue = ' + fieldValue);
expect(fieldValue).to.be('@timestamp');
})
.then(function getInterval() {
return visualizePage.getInterval();
return PageObjects.visualize.getInterval();
})
.then(function (intervalValue) {
common.debug('intervalValue = ' + intervalValue);
PageObjects.common.debug('intervalValue = ' + intervalValue);
expect(intervalValue).to.be('Auto');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function getSpinnerDone() {
common.debug('Waiting...');
return headerPage.getSpinnerDone();
PageObjects.common.debug('Waiting...');
return PageObjects.header.getSpinnerDone();
});
});
@ -64,26 +63,26 @@ bdd.describe('visualize app', function describeIndexTests() {
var vizName1 = 'Visualization AreaChart';
bdd.it('should save and load', function pageHeader() {
return visualizePage.saveVisualization(vizName1)
return PageObjects.visualize.saveVisualization(vizName1)
.then(function (message) {
common.debug('Saved viz message = ' + message);
common.saveScreenshot('Visualize-area-chart-save-toast');
PageObjects.common.debug('Saved viz message = ' + message);
PageObjects.common.saveScreenshot('Visualize-area-chart-save-toast');
expect(message).to.be('Visualization Editor: Saved Visualization \"' + vizName1 + '\"');
})
.then(function testVisualizeWaitForToastMessageGone() {
return visualizePage.waitForToastMessageGone();
return PageObjects.visualize.waitForToastMessageGone();
})
.then(function loadSavedVisualization() {
return visualizePage.loadSavedVisualization(vizName1);
return PageObjects.visualize.loadSavedVisualization(vizName1);
})
.then(function () {
return visualizePage.waitForVisualization();
return PageObjects.visualize.waitForVisualization();
})
// We have to sleep sometime between loading the saved visTitle
// and trying to access the chart below with getXAxisLabels
// otherwise it hangs.
.then(function sleep() {
return common.sleep(2000);
return PageObjects.common.sleep(2000);
});
});
@ -97,27 +96,27 @@ bdd.describe('visualize app', function describeIndexTests() {
683, 1361, 1415, 707, 177, 27, 32, 175, 707, 1408, 1355, 726, 201, 29
];
return common.try(function tryingForTime() {
return visualizePage.getXAxisLabels()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getXAxisLabels()
.then(function compareLabels(labels) {
common.debug('X-Axis labels = ' + labels);
PageObjects.common.debug('X-Axis labels = ' + labels);
expect(labels).to.eql(xAxisLabels);
});
})
.then(function getYAxisLabels() {
return visualizePage.getYAxisLabels();
return PageObjects.visualize.getYAxisLabels();
})
.then(function (labels) {
common.debug('Y-Axis labels = ' + labels);
PageObjects.common.debug('Y-Axis labels = ' + labels);
expect(labels).to.eql(yAxisLabels);
})
.then(function getAreaChartData() {
return visualizePage.getAreaChartData('Count');
return PageObjects.visualize.getAreaChartData('Count');
})
.then(function (paths) {
common.debug('expectedAreaChartData = ' + expectedAreaChartData);
common.debug('actual chart data = ' + paths);
common.saveScreenshot('Visualize-area-chart');
PageObjects.common.debug('expectedAreaChartData = ' + expectedAreaChartData);
PageObjects.common.debug('actual chart data = ' + paths);
PageObjects.common.saveScreenshot('Visualize-area-chart');
expect(paths).to.eql(expectedAreaChartData);
});
});
@ -149,15 +148,15 @@ bdd.describe('visualize app', function describeIndexTests() {
'September 22nd 2015, 21:00:00.000 29'
];
return visualizePage.collapseChart()
return PageObjects.visualize.collapseChart()
.then(function setPageSize() {
return settingsPage.setPageSize('All');
return PageObjects.settings.setPageSize('All');
})
.then(function getDataTableData() {
return visualizePage.getDataTableData();
return PageObjects.visualize.getDataTableData();
})
.then(function showData(data) {
common.debug('getDataTableData = ' + data.split('\n'));
PageObjects.common.debug('getDataTableData = ' + data.split('\n'));
expect(data.trim().split('\n')).to.eql(expectedTableData);
});
});

View file

@ -1,18 +1,18 @@
import expect from 'expect.js';
import {
bdd,
common,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
bdd.before(function () {
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize');
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize');
});
bdd.describe('chart types', function indexPatternCreation() {
@ -22,11 +22,11 @@ bdd.describe('visualize app', function describeIndexTests() {
'Metric', 'Pie chart', 'Tile map', 'Vertical bar chart'
];
// find all the chart types and make sure there all there
return visualizePage.getChartTypes()
return PageObjects.visualize.getChartTypes()
.then(function testChartTypes(chartTypes) {
common.debug('returned chart types = ' + chartTypes);
common.debug('expected chart types = ' + expectedChartTypes);
common.saveScreenshot('Visualize-chart-types');
PageObjects.common.debug('returned chart types = ' + chartTypes);
PageObjects.common.debug('expected chart types = ' + expectedChartTypes);
PageObjects.common.saveScreenshot('Visualize-chart-types');
expect(chartTypes).to.eql(expectedChartTypes);
});
});

View file

@ -1,54 +1,53 @@
import expect from 'expect.js';
import {
bdd,
common,
headerPage,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
var fromTime = '2015-09-19 06:31:44.000';
var toTime = '2015-09-23 18:31:44.000';
bdd.before(function () {
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize')
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize')
.then(function () {
common.debug('clickDataTable');
return visualizePage.clickDataTable();
PageObjects.common.debug('clickDataTable');
return PageObjects.visualize.clickDataTable();
})
.then(function clickNewSearch() {
common.debug('clickNewSearch');
return visualizePage.clickNewSearch();
PageObjects.common.debug('clickNewSearch');
return PageObjects.visualize.clickNewSearch();
})
.then(function setAbsoluteRange() {
common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return headerPage.setAbsoluteRange(fromTime, toTime);
PageObjects.common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
})
.then(function clickBucket() {
common.debug('Bucket = Split Rows');
return visualizePage.clickBucket('Split Rows');
PageObjects.common.debug('Bucket = Split Rows');
return PageObjects.visualize.clickBucket('Split Rows');
})
.then(function selectAggregation() {
common.debug('Aggregation = Histogram');
return visualizePage.selectAggregation('Histogram');
PageObjects.common.debug('Aggregation = Histogram');
return PageObjects.visualize.selectAggregation('Histogram');
})
.then(function selectField() {
common.debug('Field = bytes');
return visualizePage.selectField('bytes');
PageObjects.common.debug('Field = bytes');
return PageObjects.visualize.selectField('bytes');
})
.then(function setInterval() {
common.debug('Interval = 2000');
return visualizePage.setNumericInterval('2000');
PageObjects.common.debug('Interval = 2000');
return PageObjects.visualize.setNumericInterval('2000');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return headerPage.getSpinnerDone();
return PageObjects.header.getSpinnerDone();
});
});
@ -56,19 +55,19 @@ bdd.describe('visualize app', function describeIndexTests() {
var vizName1 = 'Visualization DataTable';
bdd.it('should be able to save and load', function pageHeader() {
return visualizePage.saveVisualization(vizName1)
return PageObjects.visualize.saveVisualization(vizName1)
.then(function (message) {
common.debug('Saved viz message = ' + message);
PageObjects.common.debug('Saved viz message = ' + message);
expect(message).to.be('Visualization Editor: Saved Visualization \"' + vizName1 + '\"');
})
.then(function testVisualizeWaitForToastMessageGone() {
return visualizePage.waitForToastMessageGone();
return PageObjects.visualize.waitForToastMessageGone();
})
.then(function () {
return visualizePage.loadSavedVisualization(vizName1);
return PageObjects.visualize.loadSavedVisualization(vizName1);
})
.then(function () {
return visualizePage.waitForVisualization();
return PageObjects.visualize.waitForVisualization();
});
});
@ -78,10 +77,10 @@ bdd.describe('visualize app', function describeIndexTests() {
'8,000 2,863', '10,000 147', '12,000 148', '14,000 129', '16,000 161', '18,000 137'
];
return visualizePage.getDataTableData()
return PageObjects.visualize.getDataTableData()
.then(function showData(data) {
common.debug(data.split('\n'));
common.saveScreenshot('Visualize-data-table');
PageObjects.common.debug(data.split('\n'));
PageObjects.common.saveScreenshot('Visualize-data-table');
expect(data.split('\n')).to.eql(expectedChartData);
});
});

View file

@ -1,53 +1,52 @@
import expect from 'expect.js';
import {
bdd,
common,
headerPage,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
bdd.before(function () {
var fromTime = '2015-09-19 06:31:44.000';
var toTime = '2015-09-23 18:31:44.000';
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize')
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize')
.then(function () {
common.debug('clickLineChart');
return visualizePage.clickLineChart();
PageObjects.common.debug('clickLineChart');
return PageObjects.visualize.clickLineChart();
})
.then(function clickNewSearch() {
return visualizePage.clickNewSearch();
return PageObjects.visualize.clickNewSearch();
})
.then(function setAbsoluteRange() {
common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return headerPage.setAbsoluteRange(fromTime, toTime);
PageObjects.common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
})
.then(function clickBucket() {
common.debug('Bucket = Split Chart');
return visualizePage.clickBucket('Split Chart');
PageObjects.common.debug('Bucket = Split Chart');
return PageObjects.visualize.clickBucket('Split Chart');
})
.then(function selectAggregation() {
common.debug('Aggregation = Terms');
return visualizePage.selectAggregation('Terms');
PageObjects.common.debug('Aggregation = Terms');
return PageObjects.visualize.selectAggregation('Terms');
})
.then(function selectField() {
common.debug('Field = extension');
return visualizePage.selectField('extension.raw');
PageObjects.common.debug('Field = extension');
return PageObjects.visualize.selectField('extension.raw');
})
.then(function setInterval() {
common.debug('switch from Rows to Columns');
return visualizePage.clickColumns();
PageObjects.common.debug('switch from Rows to Columns');
return PageObjects.visualize.clickColumns();
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return headerPage.getSpinnerDone(); // only matches the hidden spinner
return PageObjects.header.getSpinnerDone(); // only matches the hidden spinner
});
});
@ -57,19 +56,19 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should be able to save and load', function pageHeader() {
var remote = this.remote;
return visualizePage.saveVisualization(vizName1)
return PageObjects.visualize.saveVisualization(vizName1)
.then(function (message) {
common.debug('Saved viz message = ' + message);
PageObjects.common.debug('Saved viz message = ' + message);
expect(message).to.be('Visualization Editor: Saved Visualization \"' + vizName1 + '\"');
})
.then(function testVisualizeWaitForToastMessageGone() {
return visualizePage.waitForToastMessageGone();
return PageObjects.visualize.waitForToastMessageGone();
})
.then(function () {
return visualizePage.loadSavedVisualization(vizName1);
return PageObjects.visualize.loadSavedVisualization(vizName1);
})
.then(function waitForVisualization() {
return visualizePage.waitForVisualization();
return PageObjects.visualize.waitForVisualization();
});
});
@ -83,19 +82,19 @@ bdd.describe('visualize app', function describeIndexTests() {
var expectedChartData = ['jpg 9,109', 'css 2,159', 'png 1,373', 'gif 918', 'php 445'];
// sleep a bit before trying to get the chart data
return common.sleep(3000)
return PageObjects.common.sleep(3000)
.then(function () {
return visualizePage.getLineChartData('fill="#57c17b"')
return PageObjects.visualize.getLineChartData('fill="#57c17b"')
.then(function showData(data) {
common.saveScreenshot('Visualize-line-chart');
PageObjects.common.saveScreenshot('Visualize-line-chart');
var tolerance = 10; // the y-axis scale is 10000 so 10 is 0.1%
for (var x = 0; x < data.length; x++) {
common.debug('x=' + x + ' expectedChartData[x].split(\' \')[1] = ' +
PageObjects.common.debug('x=' + x + ' expectedChartData[x].split(\' \')[1] = ' +
(expectedChartData[x].split(' ')[1]).replace(',', '') + ' data[x]=' + data[x] +
' diff=' + Math.abs(expectedChartData[x].split(' ')[1].replace(',', '') - data[x]));
expect(Math.abs(expectedChartData[x].split(' ')[1].replace(',', '') - data[x]) < tolerance).to.be.ok();
}
common.debug('Done');
PageObjects.common.debug('Done');
});
});
});
@ -105,12 +104,12 @@ bdd.describe('visualize app', function describeIndexTests() {
var remote = this.remote;
var expectedChartData = ['jpg 9,109', 'css 2,159', 'png 1,373', 'gif 918', 'php 445'];
return visualizePage.collapseChart()
return PageObjects.visualize.collapseChart()
.then(function getDataTableData() {
return visualizePage.getDataTableData();
return PageObjects.visualize.getDataTableData();
})
.then(function showData(data) {
common.debug(data.split('\n'));
PageObjects.common.debug(data.split('\n'));
expect(data.trim().split('\n')).to.eql(expectedChartData);
});
});

View file

@ -1,31 +1,30 @@
import expect from 'expect.js';
import {
bdd,
common,
headerPage,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
var fromTime = '2015-09-19 06:31:44.000';
var toTime = '2015-09-23 18:31:44.000';
bdd.before(function () {
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize')
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize')
.then(function () {
common.debug('clickMetric');
return visualizePage.clickMetric();
PageObjects.common.debug('clickMetric');
return PageObjects.visualize.clickMetric();
})
.then(function clickNewSearch() {
return visualizePage.clickNewSearch();
return PageObjects.visualize.clickNewSearch();
})
.then(function setAbsoluteRange() {
common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return headerPage.setAbsoluteRange(fromTime, toTime);
PageObjects.common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
});
});
@ -35,10 +34,10 @@ bdd.describe('visualize app', function describeIndexTests() {
var expectedCount = ['14,004', 'Count'];
// initial metric of "Count" is selected by default
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
common.saveScreenshot('Visualize-metric-chart');
PageObjects.common.saveScreenshot('Visualize-metric-chart');
expect(expectedCount).to.eql(metricValue.split('\n'));
});
});
@ -46,21 +45,21 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should show Average', function pageHeader() {
var avgMachineRam = ['13,104,036,080.615', 'Average machine.ram'];
return visualizePage.clickMetricEditor()
return PageObjects.visualize.clickMetricEditor()
.then(function () {
common.debug('Aggregation = Average');
return visualizePage.selectAggregation('Average');
PageObjects.common.debug('Aggregation = Average');
return PageObjects.visualize.selectAggregation('Average');
})
.then(function selectField() {
common.debug('Field = machine.ram');
return visualizePage.selectField('machine.ram');
PageObjects.common.debug('Field = machine.ram');
return PageObjects.visualize.selectField('machine.ram');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(avgMachineRam).to.eql(metricValue.split('\n'));
});
@ -70,18 +69,18 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should show Sum', function pageHeader() {
var sumPhpMemory = ['85,865,880', 'Sum of phpmemory'];
common.debug('Aggregation = Sum');
return visualizePage.selectAggregation('Sum')
PageObjects.common.debug('Aggregation = Sum');
return PageObjects.visualize.selectAggregation('Sum')
.then(function selectField() {
common.debug('Field = phpmemory');
return visualizePage.selectField('phpmemory');
PageObjects.common.debug('Field = phpmemory');
return PageObjects.visualize.selectField('phpmemory');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(sumPhpMemory).to.eql(metricValue.split('\n'));
});
@ -92,18 +91,18 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should show Median', function pageHeader() {
var medianBytes = ['5,565.263', '50th percentile of bytes'];
// For now, only comparing the text label part of the metric
common.debug('Aggregation = Median');
return visualizePage.selectAggregation('Median')
PageObjects.common.debug('Aggregation = Median');
return PageObjects.visualize.selectAggregation('Median')
.then(function selectField() {
common.debug('Field = bytes');
return visualizePage.selectField('bytes');
PageObjects.common.debug('Field = bytes');
return PageObjects.visualize.selectField('bytes');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
// only comparing the text label!
expect(medianBytes[1]).to.eql(metricValue.split('\n')[1]);
@ -114,18 +113,18 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should show Min', function pageHeader() {
var minTimestamp = ['September 20th 2015, 00:00:00.000', 'Min @timestamp'];
common.debug('Aggregation = Min');
return visualizePage.selectAggregation('Min')
PageObjects.common.debug('Aggregation = Min');
return PageObjects.visualize.selectAggregation('Min')
.then(function selectField() {
common.debug('Field = @timestamp');
return visualizePage.selectField('@timestamp');
PageObjects.common.debug('Field = @timestamp');
return PageObjects.visualize.selectField('@timestamp');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(minTimestamp).to.eql(metricValue.split('\n'));
});
@ -135,18 +134,18 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should show Max', function pageHeader() {
var maxRelatedContentArticleModifiedTime = ['April 4th 2015, 00:54:41.000', 'Max relatedContent.article:modified_time'];
common.debug('Aggregation = Max');
return visualizePage.selectAggregation('Max')
PageObjects.common.debug('Aggregation = Max');
return PageObjects.visualize.selectAggregation('Max')
.then(function selectField() {
common.debug('Field = relatedContent.article:modified_time');
return visualizePage.selectField('relatedContent.article:modified_time');
PageObjects.common.debug('Field = relatedContent.article:modified_time');
return PageObjects.visualize.selectField('relatedContent.article:modified_time');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(maxRelatedContentArticleModifiedTime).to.eql(metricValue.split('\n'));
});
@ -160,18 +159,18 @@ bdd.describe('visualize app', function describeIndexTests() {
'5,727.314', 'Average of bytes',
'12,889.766', 'Upper Standard Deviation of bytes'
];
common.debug('Aggregation = Standard Deviation');
return visualizePage.selectAggregation('Standard Deviation')
PageObjects.common.debug('Aggregation = Standard Deviation');
return PageObjects.visualize.selectAggregation('Standard Deviation')
.then(function selectField() {
common.debug('Field = bytes');
return visualizePage.selectField('bytes');
PageObjects.common.debug('Field = bytes');
return PageObjects.visualize.selectField('bytes');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(standardDeviationBytes).to.eql(metricValue.split('\n'));
});
@ -181,27 +180,27 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should show Unique Count', function pageHeader() {
var uniqueCountClientip = ['1,000', 'Unique count of clientip'];
common.debug('Aggregation = Unique Count');
return visualizePage.selectAggregation('Unique Count')
PageObjects.common.debug('Aggregation = Unique Count');
return PageObjects.visualize.selectAggregation('Unique Count')
.then(function selectField() {
common.debug('Field = clientip');
return visualizePage.selectField('clientip');
PageObjects.common.debug('Field = clientip');
return PageObjects.visualize.selectField('clientip');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(uniqueCountClientip).to.eql(metricValue.split('\n'));
});
});
})
.then(function () {
return visualizePage.getMetric()
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
common.debug('metricValue=' + metricValue.split('\n'));
PageObjects.common.debug('metricValue=' + metricValue.split('\n'));
expect(uniqueCountClientip).to.eql(metricValue.split('\n'));
});
});
@ -218,18 +217,18 @@ bdd.describe('visualize app', function describeIndexTests() {
'32,212,254,720', '99th percentile of machine.ram'
];
common.debug('Aggregation = Percentiles');
return visualizePage.selectAggregation('Percentiles')
PageObjects.common.debug('Aggregation = Percentiles');
return PageObjects.visualize.selectAggregation('Percentiles')
.then(function selectField() {
common.debug('Field = machine.ram');
return visualizePage.selectField('machine.ram');
PageObjects.common.debug('Field = machine.ram');
return PageObjects.visualize.selectField('machine.ram');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(percentileMachineRam).to.eql(metricValue.split('\n'));
});
@ -239,22 +238,22 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should show Percentile Ranks', function pageHeader() {
var percentileRankBytes = [ '2.036%', 'Percentile rank 99 of "memory"'];
common.debug('Aggregation = Percentile Ranks');
return visualizePage.selectAggregation('Percentile Ranks')
PageObjects.common.debug('Aggregation = Percentile Ranks');
return PageObjects.visualize.selectAggregation('Percentile Ranks')
.then(function selectField() {
common.debug('Field = bytes');
return visualizePage.selectField('memory');
PageObjects.common.debug('Field = bytes');
return PageObjects.visualize.selectField('memory');
})
.then(function selectField() {
common.debug('Values = 99');
return visualizePage.setValue('99');
PageObjects.common.debug('Values = 99');
return PageObjects.visualize.setValue('99');
})
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return common.try(function tryingForTime() {
return visualizePage.getMetric()
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.getMetric()
.then(function (metricValue) {
expect(percentileRankBytes).to.eql(metricValue.split('\n'));
});

View file

@ -1,60 +1,59 @@
import expect from 'expect.js';
import {
bdd,
common,
headerPage,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
bdd.before(function () {
var fromTime = '2015-09-19 06:31:44.000';
var toTime = '2015-09-23 18:31:44.000';
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize')
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize')
.then(function () {
common.debug('clickPieChart');
return visualizePage.clickPieChart();
PageObjects.common.debug('clickPieChart');
return PageObjects.visualize.clickPieChart();
})
.then(function clickNewSearch() {
return visualizePage.clickNewSearch();
return PageObjects.visualize.clickNewSearch();
})
.then(function setAbsoluteRange() {
common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return headerPage.setAbsoluteRange(fromTime, toTime);
PageObjects.common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
})
.then(function () {
common.debug('select bucket Split Slices');
return visualizePage.clickBucket('Split Slices');
PageObjects.common.debug('select bucket Split Slices');
return PageObjects.visualize.clickBucket('Split Slices');
})
.then(function () {
common.debug('Click aggregation Histogram');
return visualizePage.selectAggregation('Histogram');
PageObjects.common.debug('Click aggregation Histogram');
return PageObjects.visualize.selectAggregation('Histogram');
})
.then(function () {
common.debug('Click field memory');
return visualizePage.selectField('memory');
PageObjects.common.debug('Click field memory');
return PageObjects.visualize.selectField('memory');
})
.then(function () {
return headerPage.getSpinnerDone();
return PageObjects.header.getSpinnerDone();
})
.then(function sleep() {
return common.sleep(1003);
return PageObjects.common.sleep(1003);
})
.then(function () {
common.debug('setNumericInterval 4000');
return visualizePage.setNumericInterval('40000');
PageObjects.common.debug('setNumericInterval 4000');
return PageObjects.visualize.setNumericInterval('40000');
})
.then(function () {
common.debug('clickGo');
return visualizePage.clickGo();
PageObjects.common.debug('clickGo');
return PageObjects.visualize.clickGo();
})
.then(function () {
return headerPage.getSpinnerDone();
return PageObjects.header.getSpinnerDone();
});
});
@ -65,23 +64,23 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should save and load', function pageHeader() {
var remote = this.remote;
return visualizePage.saveVisualization(vizName1)
return PageObjects.visualize.saveVisualization(vizName1)
.then(function (message) {
common.debug('Saved viz message = ' + message);
PageObjects.common.debug('Saved viz message = ' + message);
expect(message).to.be('Visualization Editor: Saved Visualization \"' + vizName1 + '\"');
})
.then(function testVisualizeWaitForToastMessageGone() {
return visualizePage.waitForToastMessageGone();
return PageObjects.visualize.waitForToastMessageGone();
})
.then(function () {
return visualizePage.loadSavedVisualization(vizName1);
return PageObjects.visualize.loadSavedVisualization(vizName1);
})
.then(function waitForVisualization() {
return visualizePage.waitForVisualization();
return PageObjects.visualize.waitForVisualization();
})
// sleep a bit before trying to get the pie chart data below
.then(function sleep() {
return common.sleep(2000);
return PageObjects.common.sleep(2000);
});
});
@ -89,11 +88,11 @@ bdd.describe('visualize app', function describeIndexTests() {
var remote = this.remote;
var expectedPieChartSliceCount = 10;
return visualizePage.getPieChartData()
return PageObjects.visualize.getPieChartData()
.then(function (pieData) {
var barHeightTolerance = 1;
common.debug('pieData.length = ' + pieData.length);
common.saveScreenshot('Visualize-pie-chart');
PageObjects.common.debug('pieData.length = ' + pieData.length);
PageObjects.common.saveScreenshot('Visualize-pie-chart');
expect(pieData.length).to.be(expectedPieChartSliceCount);
});
});
@ -104,15 +103,15 @@ bdd.describe('visualize app', function describeIndexTests() {
'160,000 44', '200,000 40', '240,000 46', '280,000 39', '320,000 40', '360,000 47'
];
return visualizePage.collapseChart()
return PageObjects.visualize.collapseChart()
.then(function () {
return settingsPage.setPageSize('All');
return PageObjects.settings.setPageSize('All');
})
.then(function getDataTableData() {
return visualizePage.getDataTableData();
return PageObjects.visualize.getDataTableData();
})
.then(function showData(data) {
common.debug(data.split('\n'));
PageObjects.common.debug(data.split('\n'));
expect(data.trim().split('\n')).to.eql(expectedTableData);
});
});

View file

@ -1,13 +1,12 @@
import expect from 'expect.js';
import {
bdd,
common,
headerPage,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
var fromTime = '2015-09-19 06:31:44.000';
@ -15,38 +14,38 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.before(function () {
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize')
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize')
.then(function () {
common.debug('clickTileMap');
return visualizePage.clickTileMap();
PageObjects.common.debug('clickTileMap');
return PageObjects.visualize.clickTileMap();
})
.then(function () {
return visualizePage.clickNewSearch();
return PageObjects.visualize.clickNewSearch();
})
.then(function () {
common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return headerPage.setAbsoluteRange(fromTime, toTime);
PageObjects.common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
})
.then(function () {
common.debug('select bucket Geo Coordinates');
return visualizePage.clickBucket('Geo Coordinates');
PageObjects.common.debug('select bucket Geo Coordinates');
return PageObjects.visualize.clickBucket('Geo Coordinates');
})
.then(function () {
common.debug('Click aggregation Geohash');
return visualizePage.selectAggregation('Geohash');
PageObjects.common.debug('Click aggregation Geohash');
return PageObjects.visualize.selectAggregation('Geohash');
})
.then(function () {
common.debug('Click field geo.coordinates');
return common.try(function tryingForTime() {
return visualizePage.selectField('geo.coordinates');
PageObjects.common.debug('Click field geo.coordinates');
return PageObjects.common.try(function tryingForTime() {
return PageObjects.visualize.selectField('geo.coordinates');
});
})
.then(function () {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return headerPage.getSpinnerDone();
return PageObjects.header.getSpinnerDone();
});
});
@ -55,27 +54,27 @@ bdd.describe('visualize app', function describeIndexTests() {
bdd.it('should save and load, take screenshot', function pageHeader() {
var vizName1 = 'Visualization TileMap';
return visualizePage.saveVisualization(vizName1)
return PageObjects.visualize.saveVisualization(vizName1)
.then(function (message) {
common.debug('Saved viz message = ' + message);
PageObjects.common.debug('Saved viz message = ' + message);
expect(message).to.be('Visualization Editor: Saved Visualization \"' + vizName1 + '\"');
})
.then(function testVisualizeWaitForToastMessageGone() {
return visualizePage.waitForToastMessageGone();
return PageObjects.visualize.waitForToastMessageGone();
})
.then(function () {
return visualizePage.loadSavedVisualization(vizName1);
return PageObjects.visualize.loadSavedVisualization(vizName1);
})
.then(function waitForVisualization() {
return visualizePage.waitForVisualization();
return PageObjects.visualize.waitForVisualization();
})
// sleep a bit before taking the screenshot or it won't show data
.then(function sleep() {
return common.sleep(4000);
return PageObjects.common.sleep(4000);
})
.then(function takeScreenshot() {
common.debug('Take screenshot');
common.saveScreenshot('Visualize-site-map');
PageObjects.common.debug('Take screenshot');
PageObjects.common.saveScreenshot('Visualize-site-map');
});
});
@ -88,14 +87,14 @@ bdd.describe('visualize app', function describeIndexTests() {
'84 14', 'dx 9', 'bu 9', 'b1 9', 'b4 6', '9n 3', '8g 3'
];
return visualizePage.collapseChart()
return PageObjects.visualize.collapseChart()
.then(function () {
return settingsPage.setPageSize('All');
return PageObjects.settings.setPageSize('All');
})
.then(function getDataTableData() {
return visualizePage.getDataTableData()
return PageObjects.visualize.getDataTableData()
.then(function showData(data) {
common.debug(data.split('\n'));
PageObjects.common.debug(data.split('\n'));
expect(data.trim().split('\n')).to.eql(expectedTableData);
});
});

View file

@ -1,53 +1,52 @@
import expect from 'expect.js';
import {
bdd,
common,
headerPage,
scenarioManager,
settingsPage,
visualizePage
} from '../../../support';
var expect = require('expect.js');
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function describeIndexTests() {
var fromTime = '2015-09-19 06:31:44.000';
var toTime = '2015-09-23 18:31:44.000';
bdd.before(function () {
common.debug('navigateToApp visualize');
return common.navigateToApp('visualize')
PageObjects.common.debug('navigateToApp visualize');
return PageObjects.common.navigateToApp('visualize')
.then(function () {
common.debug('clickVerticalBarChart');
return visualizePage.clickVerticalBarChart();
PageObjects.common.debug('clickVerticalBarChart');
return PageObjects.visualize.clickVerticalBarChart();
})
.then(function clickNewSearch() {
return visualizePage.clickNewSearch();
return PageObjects.visualize.clickNewSearch();
})
.then(function setAbsoluteRange() {
common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return headerPage.setAbsoluteRange(fromTime, toTime);
PageObjects.common.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
})
.then(function clickBucket() {
common.debug('Bucket = X-Axis');
return visualizePage.clickBucket('X-Axis');
PageObjects.common.debug('Bucket = X-Axis');
return PageObjects.visualize.clickBucket('X-Axis');
})
.then(function selectAggregation() {
common.debug('Aggregation = Date Histogram');
return visualizePage.selectAggregation('Date Histogram');
PageObjects.common.debug('Aggregation = Date Histogram');
return PageObjects.visualize.selectAggregation('Date Histogram');
})
.then(function selectField() {
common.debug('Field = @timestamp');
return visualizePage.selectField('@timestamp');
PageObjects.common.debug('Field = @timestamp');
return PageObjects.visualize.selectField('@timestamp');
})
// leaving Interval set to Auto
.then(function clickGo() {
return visualizePage.clickGo();
return PageObjects.visualize.clickGo();
})
.then(function () {
return headerPage.getSpinnerDone(); // only matches the hidden spinner
return PageObjects.header.getSpinnerDone(); // only matches the hidden spinner
})
.then(function waitForVisualization() {
return visualizePage.waitForVisualization();
return PageObjects.visualize.waitForVisualization();
});
});
@ -55,22 +54,22 @@ bdd.describe('visualize app', function describeIndexTests() {
var vizName1 = 'Visualization VerticalBarChart';
bdd.it('should save and load', function pageHeader() {
return visualizePage.saveVisualization(vizName1)
return PageObjects.visualize.saveVisualization(vizName1)
.then(function (message) {
common.debug('Saved viz message = ' + message);
PageObjects.common.debug('Saved viz message = ' + message);
expect(message).to.be('Visualization Editor: Saved Visualization \"' + vizName1 + '\"');
})
.then(function testVisualizeWaitForToastMessageGone() {
return visualizePage.waitForToastMessageGone();
return PageObjects.visualize.waitForToastMessageGone();
})
.then(function () {
return visualizePage.loadSavedVisualization(vizName1);
return PageObjects.visualize.loadSavedVisualization(vizName1);
})
.then(function () {
return headerPage.getSpinnerDone(); // only matches the hidden spinner
return PageObjects.header.getSpinnerDone(); // only matches the hidden spinner
})
.then(function waitForVisualization() {
return visualizePage.waitForVisualization();
return PageObjects.visualize.waitForVisualization();
});
});
@ -82,14 +81,14 @@ bdd.describe('visualize app', function describeIndexTests() {
// Most recent failure on Jenkins usually indicates the bar chart is still being drawn?
// return arguments[0].getAttribute(arguments[1]);","args":[{"ELEMENT":"592"},"fill"]}] arguments[0].getAttribute is not a function
// try sleeping a bit before getting that data
return common.sleep(5000)
return PageObjects.common.sleep(5000)
.then(function () {
return visualizePage.getBarChartData();
return PageObjects.visualize.getBarChartData();
})
.then(function showData(data) {
common.debug('data=' + data);
common.debug('data.length=' + data.length);
common.saveScreenshot('Visualize-vertical-bar-chart');
PageObjects.common.debug('data=' + data);
PageObjects.common.debug('data.length=' + data.length);
PageObjects.common.saveScreenshot('Visualize-vertical-bar-chart');
expect(data).to.eql(expectedChartValues);
});
});
@ -109,12 +108,12 @@ bdd.describe('visualize app', function describeIndexTests() {
'September 21st 2015, 03:00:00.000 202'
];
return visualizePage.collapseChart()
return PageObjects.visualize.collapseChart()
.then(function showData(data) {
return visualizePage.getDataTableData();
return PageObjects.visualize.getDataTableData();
})
.then(function showData(data) {
common.debug(data.split('\n'));
PageObjects.common.debug(data.split('\n'));
expect(data.trim().split('\n')).to.eql(expectedChartData);
});
});

View file

@ -1,13 +1,17 @@
import expect from 'expect.js';
import {
bdd,
remote,
common,
defaultTimeout,
scenarioManager,
esClient,
elasticDump
} from '../../../support';
import PageObjects from '../../../support/page_objects';
bdd.describe('visualize app', function () {
this.timeout = defaultTimeout;
@ -15,12 +19,12 @@ bdd.describe('visualize app', function () {
var self = this;
remote.setWindowSize(1200,800);
common.debug('Starting visualize before method');
PageObjects.common.debug('Starting visualize before method');
var logstash = scenarioManager.loadIfEmpty('logstashFunctional');
// delete .kibana index and update configDoc
return esClient.deleteAndUpdateConfigDoc({'dateFormat:tz':'UTC', 'defaultIndex':'logstash-*'})
.then(function loadkibanaIndexPattern() {
common.debug('load kibana index with default index pattern');
PageObjects.common.debug('load kibana index with default index pattern');
return elasticDump.elasticLoad('visualize','.kibana');
})
// wait for the logstash data load to finish if it hasn't already