mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
Selenium Test for TagCloud Visualization (#11636)
Selenium Test incorporating TagCloud Viz
This commit is contained in:
parent
b2ae428aaa
commit
b28be0cfa0
3 changed files with 151 additions and 0 deletions
120
test/functional/apps/visualize/_tag_cloud.js
Normal file
120
test/functional/apps/visualize/_tag_cloud.js
Normal file
|
@ -0,0 +1,120 @@
|
|||
import expect from 'expect.js';
|
||||
|
||||
export default function ({ getService, getPageObjects }) {
|
||||
const log = getService('log');
|
||||
const retry = getService('retry');
|
||||
const PageObjects = getPageObjects(['common', 'visualize', 'header', 'settings']);
|
||||
|
||||
describe('visualize app', function describeIndexTests() {
|
||||
const fromTime = '2015-09-19 06:31:44.000';
|
||||
const toTime = '2015-09-23 18:31:44.000';
|
||||
|
||||
before(function () {
|
||||
|
||||
log.debug('navigateToApp visualize');
|
||||
return PageObjects.common.navigateToUrl('visualize', 'new')
|
||||
.then(function () {
|
||||
log.debug('clickTagCloud');
|
||||
return PageObjects.visualize.clickTagCloud();
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.visualize.clickNewSearch();
|
||||
})
|
||||
.then(function () {
|
||||
log.debug('Set absolute time range from \"' + fromTime + '\" to \"' + toTime + '\"');
|
||||
return PageObjects.header.setAbsoluteRange(fromTime, toTime);
|
||||
})
|
||||
.then(function () {
|
||||
log.debug('select Tags');
|
||||
return PageObjects.visualize.clickBucket('Tags');
|
||||
})
|
||||
.then(function () {
|
||||
log.debug('Click aggregation Terms');
|
||||
return PageObjects.visualize.selectAggregation('Terms');
|
||||
})
|
||||
.then(function () {
|
||||
log.debug('Click field machine.ram');
|
||||
return retry.try(function tryingForTime() {
|
||||
return PageObjects.visualize.selectField('machine.ram');
|
||||
});
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.visualize.selectOrderBy('_term');
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.visualize.clickGo();
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.header.waitUntilLoadingHasFinished();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
describe('tile cloud chart', function indexPatternCreation() {
|
||||
const vizName1 = 'Visualization tagCloud';
|
||||
|
||||
it('should show correct tag cloud data', function () {
|
||||
return PageObjects.common.sleep(2000)
|
||||
.then(function () {
|
||||
return PageObjects.visualize.getTextTag().then(function (results) {
|
||||
log.debug(results);
|
||||
expect(results).to.eql([ '32212254720', '21474836480','20401094656','19327352832','18253611008' ]);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it('should save and load', function () {
|
||||
return PageObjects.visualize.saveVisualization(vizName1)
|
||||
.then(function (message) {
|
||||
log.debug('Saved viz message = ' + message);
|
||||
expect(message).to.be('Visualization Editor: Saved Visualization \"' + vizName1 + '\"');
|
||||
})
|
||||
.then(function testVisualizeWaitForToastMessageGone() {
|
||||
return PageObjects.visualize.waitForToastMessageGone();
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.visualize.loadSavedVisualization(vizName1);
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.header.waitUntilLoadingHasFinished();
|
||||
})
|
||||
.then(function waitForVisualization() {
|
||||
return PageObjects.visualize.waitForVisualization();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it('should show the tags and relative size', function () {
|
||||
return PageObjects.visualize.getTextSizes()
|
||||
.then(function (results) {
|
||||
log.debug('results here ' + results);
|
||||
expect(results).to.eql(['72px', '63px', '25px', '32px', '18px' ]);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
it('should show correct data', function () {
|
||||
const expectedTableData = [ '32,212,254,720', '737',
|
||||
'21,474,836,480', '728',
|
||||
'20,401,094,656', '687',
|
||||
'19,327,352,832', '695',
|
||||
'18,253,611,008', '679'
|
||||
];
|
||||
|
||||
return PageObjects.visualize.collapseChart()
|
||||
.then(function () {
|
||||
return PageObjects.settings.setPageSize('All');
|
||||
})
|
||||
.then(function getDataTableData() {
|
||||
return PageObjects.visualize.getDataTableData();
|
||||
})
|
||||
.then(function showData(data) {
|
||||
log.debug(data.split('\n'));
|
||||
expect(data.trim().split('\n')).to.eql(expectedTableData);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
}
|
|
@ -30,6 +30,7 @@ export default function ({ getService, loadTestFile }) {
|
|||
loadTestFile(require.resolve('./_data_table'));
|
||||
loadTestFile(require.resolve('./_metric_chart'));
|
||||
loadTestFile(require.resolve('./_pie_chart'));
|
||||
loadTestFile(require.resolve('./_tag_cloud'));
|
||||
loadTestFile(require.resolve('./_tile_map'));
|
||||
loadTestFile(require.resolve('./_vertical_bar_chart'));
|
||||
loadTestFile(require.resolve('./_heatmap_chart'));
|
||||
|
|
|
@ -64,6 +64,36 @@ export function VisualizePageProvider({ getService, getPageObjects }) {
|
|||
.click();
|
||||
}
|
||||
|
||||
clickTagCloud() {
|
||||
return remote
|
||||
.setFindTimeout(defaultFindTimeout)
|
||||
.findByPartialLinkText('Tag Cloud')
|
||||
.click();
|
||||
}
|
||||
|
||||
getTextTag() {
|
||||
return remote
|
||||
.setFindTimeout(defaultFindTimeout)
|
||||
.findAllByCssSelector('text').getVisibleText();
|
||||
}
|
||||
|
||||
|
||||
getTextSizes() {
|
||||
return remote
|
||||
.setFindTimeout(defaultFindTimeout)
|
||||
.findAllByCssSelector('text')
|
||||
.then(function (tags) {
|
||||
function returnTagSize(tag) {
|
||||
return tag.getAttribute('style')
|
||||
.then(function (style) {
|
||||
return style.match(/font-size: ([^;]*);/)[1];
|
||||
});
|
||||
}
|
||||
return Promise.all(tags.map(returnTagSize));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
clickVerticalBarChart() {
|
||||
return remote
|
||||
.setFindTimeout(defaultFindTimeout)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue