[pageObjects/console] update selectors to use test subjects

This commit is contained in:
spalger 2016-09-12 16:34:07 -07:00
parent c25ac3c0cc
commit a2d37fca98
5 changed files with 56 additions and 72 deletions

View file

@ -1,4 +1,4 @@
<kbn-dev-tools-app>
<kbn-dev-tools-app data-test-subj="console">
<sense-navbar></sense-navbar>
<div id="editor_output_container">
@ -6,7 +6,10 @@
<ul id="autocomplete"></ul>
<div id="editor_actions">
<kbn-tooltip text="click to send request">
<a class="editor_action" ng-click="sendSelected()">
<a
class="editor_action"
ng-click="sendSelected()"
data-test-subj="send-request-button">
<i class="fa fa-play"></i>
</a>
</kbn-tooltip>
@ -26,14 +29,14 @@
</span>
</div>
<div id="editor">GET _search
<div id="editor" data-test-subj="request-editor">GET _search
{
"query": { "match_all": {} }
}</div>
</div>
<div id="editor_resizer">&#xFE19;</div>
<div id="output_container">
<div id="output_container" data-test-subj="response-editor">
<div id="output">{}</div>
</div>
</div>

View file

@ -1 +1 @@
<kbn-top-nav name="timelion" ng-if="sense" config="navbar.menu"></kbn-top-nav>
<kbn-top-nav name="console" ng-if="sense" config="navbar.menu" data-test-subj="top-nav"></kbn-top-nav>

View file

@ -20,7 +20,7 @@
</navbar>
<div class="config" ng-show="kbnTopNav.rendered">
<div id="template_wrapper" class="container-fluid"></div>
<div class="config-close remove">
<i class="fa fa-chevron-circle-up" ng-click="kbnTopNav.close()"></i>
<div class="config-close remove" ng-click="kbnTopNav.close()" data-test-subj="config-close-button">
<i class="fa fa-chevron-circle-up"></i>
</div>
</div>

View file

@ -1,12 +1,22 @@
import expect from 'expect.js';
import PageObjects from '../../../support/page_objects';
import {
bdd,
scenarioManager
} from '../../../support';
import PageObjects from '../../../support/page_objects';
const DEFAULT_REQUEST = `
GET _search
{
"query": {
"match_all": {}
}
}
`.trim();
bdd.describe('console app', function describeIndexTests() {
bdd.before(function () {
@ -15,15 +25,6 @@ bdd.describe('console app', function describeIndexTests() {
});
bdd.it('should show the default request', function () {
var expectedRequest = [
'GET _search',
'{',
' "query": {',
' "match_all": {}',
' }',
'}',
''
];
PageObjects.common.saveScreenshot('Console-help-expanded');
// collapse the help pane because we only get the VISIBLE TEXT, not the part that is scrolled
return PageObjects.console.collapseHelp()
@ -32,14 +33,15 @@ bdd.describe('console app', function describeIndexTests() {
return PageObjects.common.try(function () {
return PageObjects.console.getRequest()
.then(function (actualRequest) {
expect(actualRequest).to.eql(expectedRequest);
expect(actualRequest.trim()).to.eql(DEFAULT_REQUEST);
});
});
});
});
bdd.it('default request response should contain .kibana' , function () {
var expectedResponseContains = '"_index": ".kibana",';
const expectedResponseContains = '"_index": ".kibana",';
return PageObjects.console.clickPlay()
.then(function () {
PageObjects.common.saveScreenshot('Console-default-request');

View file

@ -1,59 +1,38 @@
import Bluebird from 'bluebird';
import PageObjects from './';
import {
defaultFindTimeout,
} from '../';
export default class ConsolePage {
init(remote) {
this.remote = remote;
this.findTimeout = this.remote.setFindTimeout(defaultFindTimeout);
}
getServer() {
return this.findTimeout
.findByCssSelector('#kibana-body > div.content > div > div')
.getVisibleText();
}
setServer(server) {
return this.findTimeout
.findByCssSelector('input[aria-label="Server Name"]')
.clearValue()
.type(server);
}
getRequest() {
return this.findTimeout
.findAllByCssSelector('div.ace_line_group')
.then(function (editorData) {
function getEditorData(line) {
return line.getVisibleText();
}
var getEditorDataPromises = editorData.map(getEditorData);
return Promise.all(getEditorDataPromises);
});
}
getResponse() {
return this.findTimeout
.findByCssSelector('#output > div.ace_scroller > div')
.getVisibleText();
}
clickPlay() {
return this.findTimeout
.findByCssSelector('#editor_actions > span.ng-scope > a > i')
.click();
}
collapseHelp() {
return this.findTimeout
.findByCssSelector('div.config-close.remove > i')
.click();
}
async function getVisibleTextFromAceEditor(editor) {
const lines = await editor.findAllByClassName('ace_line_group');
const linesText = await Bluebird.map(lines, l => l.getVisibleText());
return linesText.join('\n');
}
export default class ConsolePage {
init() {
}
async getRequest() {
const requestEditor = await PageObjects.common.findTestSubject('console request-editor');
return await getVisibleTextFromAceEditor(requestEditor);
}
async getResponse() {
const responseEditor = await PageObjects.common.findTestSubject('console response-editor');
return await getVisibleTextFromAceEditor(responseEditor);
}
async clickPlay() {
const sendRequestButton = await PageObjects.common.findTestSubject('console send-request-button');
await sendRequestButton.click();
}
async collapseHelp() {
const closeButton = await PageObjects.common.findTestSubject('console top-nav config-close-button');
await closeButton.click();
}
}