Fix context test timing (#24949)
* Add sleeps so tests will pass * removed a space in a comment * replaced some sleeps with waiting for loading indicator * Removed context page object calls from filter_bar and doc_table services
This commit is contained in:
parent
feae892dcc
commit
a881a65a4c
|
@ -64,6 +64,8 @@ export default function ({ getService, getPageObjects }) {
|
||||||
it('should be toggleable via the filter bar', async function () {
|
it('should be toggleable via the filter bar', async function () {
|
||||||
const table = await docTable.getTable();
|
const table = await docTable.getTable();
|
||||||
await filterBar.addFilter(TEST_ANCHOR_FILTER_FIELD, 'IS', TEST_ANCHOR_FILTER_VALUE);
|
await filterBar.addFilter(TEST_ANCHOR_FILTER_FIELD, 'IS', TEST_ANCHOR_FILTER_VALUE);
|
||||||
|
await PageObjects.context.waitUntilContextLoadingHasFinished();
|
||||||
|
// disable filter
|
||||||
await filterBar.toggleFilterEnabled(TEST_ANCHOR_FILTER_FIELD);
|
await filterBar.toggleFilterEnabled(TEST_ANCHOR_FILTER_FIELD);
|
||||||
await PageObjects.context.waitUntilContextLoadingHasFinished();
|
await PageObjects.context.waitUntilContextLoadingHasFinished();
|
||||||
|
|
||||||
|
|
|
@ -21,12 +21,15 @@ export default function ({ getService, getPageObjects, loadTestFile }) {
|
||||||
const remote = getService('remote');
|
const remote = getService('remote');
|
||||||
const esArchiver = getService('esArchiver');
|
const esArchiver = getService('esArchiver');
|
||||||
const PageObjects = getPageObjects(['common']);
|
const PageObjects = getPageObjects(['common']);
|
||||||
|
const kibanaServer = getService('kibanaServer');
|
||||||
|
|
||||||
describe('context app', function () {
|
describe('context app', function () {
|
||||||
before(async function () {
|
before(async function () {
|
||||||
await remote.setWindowSize(1200, 800);
|
await remote.setWindowSize(1200, 800);
|
||||||
await esArchiver.loadIfNeeded('logstash_functional');
|
await esArchiver.loadIfNeeded('logstash_functional');
|
||||||
await esArchiver.load('visualize');
|
await esArchiver.load('visualize');
|
||||||
|
await kibanaServer.uiSettings.replace({ 'dateFormat:tz': 'UTC', 'defaultIndex': 'logstash-*',
|
||||||
|
'telemetry:optIn': false });
|
||||||
await PageObjects.common.navigateToApp('discover');
|
await PageObjects.common.navigateToApp('discover');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ export function ContextPageProvider({ getService, getPageObjects }) {
|
||||||
});
|
});
|
||||||
|
|
||||||
await remote.get(appUrl);
|
await remote.get(appUrl);
|
||||||
|
await PageObjects.header.awaitGlobalLoadingIndicatorHidden();
|
||||||
await this.waitUntilContextLoadingHasFinished();
|
await this.waitUntilContextLoadingHasFinished();
|
||||||
// For lack of a better way, using a sleep to ensure page is loaded before proceeding
|
// For lack of a better way, using a sleep to ensure page is loaded before proceeding
|
||||||
await PageObjects.common.sleep(1000);
|
await PageObjects.common.sleep(1000);
|
||||||
|
@ -72,6 +73,7 @@ export function ContextPageProvider({ getService, getPageObjects }) {
|
||||||
const predecessorButton = await this.getPredecessorLoadMoreButton();
|
const predecessorButton = await this.getPredecessorLoadMoreButton();
|
||||||
await predecessorButton.click();
|
await predecessorButton.click();
|
||||||
});
|
});
|
||||||
|
await this.waitUntilContextLoadingHasFinished();
|
||||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,6 +83,7 @@ export function ContextPageProvider({ getService, getPageObjects }) {
|
||||||
const sucessorButton = await this.getSuccessorLoadMoreButton();
|
const sucessorButton = await this.getSuccessorLoadMoreButton();
|
||||||
await sucessorButton.click();
|
await sucessorButton.click();
|
||||||
});
|
});
|
||||||
|
await this.waitUntilContextLoadingHasFinished();
|
||||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -289,25 +289,28 @@ export function DiscoverPageProvider({ getService, getPageObjects }) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
clickFieldListPlusFilter(field, value) {
|
async clickFieldListPlusFilter(field, value) {
|
||||||
// this method requires the field details to be open from clickFieldListItem()
|
// this method requires the field details to be open from clickFieldListItem()
|
||||||
// testSubjects.find doesn't handle spaces in the data-test-subj value
|
// testSubjects.find doesn't handle spaces in the data-test-subj value
|
||||||
return getRemote()
|
await getRemote()
|
||||||
.findByCssSelector(`[data-test-subj="plus-${field}-${value}"]`)
|
.findByCssSelector(`[data-test-subj="plus-${field}-${value}"]`)
|
||||||
.click();
|
.click();
|
||||||
|
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickFieldListMinusFilter(field, value) {
|
async clickFieldListMinusFilter(field, value) {
|
||||||
// this method requires the field details to be open from clickFieldListItem()
|
// this method requires the field details to be open from clickFieldListItem()
|
||||||
// testSubjects.find doesn't handle spaces in the data-test-subj value
|
// testSubjects.find doesn't handle spaces in the data-test-subj value
|
||||||
return getRemote()
|
await getRemote()
|
||||||
.findByCssSelector('[data-test-subj="minus-' + field + '-' + value + '"]')
|
.findByCssSelector('[data-test-subj="minus-' + field + '-' + value + '"]')
|
||||||
.click();
|
.click();
|
||||||
|
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
async selectIndexPattern(indexPattern) {
|
async selectIndexPattern(indexPattern) {
|
||||||
await getRemote().findByClassName('index-pattern-selection').click();
|
await getRemote().findByClassName('index-pattern-selection').click();
|
||||||
await getRemote().findByClassName('ui-select-search').type(indexPattern + '\n');
|
await getRemote().findByClassName('ui-select-search').type(indexPattern + '\n');
|
||||||
|
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
async removeAllFilters() {
|
async removeAllFilters() {
|
||||||
|
|
|
@ -268,6 +268,11 @@ export function HeaderPageProvider({ getService, getPageObjects }) {
|
||||||
await testSubjects.find('globalLoadingIndicator-hidden', defaultFindTimeout * 10);
|
await testSubjects.find('globalLoadingIndicator-hidden', defaultFindTimeout * 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async awaitKibanaChrome() {
|
||||||
|
log.debug('awaitKibanaChrome');
|
||||||
|
await testSubjects.find('kibanaChrome', defaultFindTimeout * 10);
|
||||||
|
}
|
||||||
|
|
||||||
async getGlobalNavigationLink(linkText) {
|
async getGlobalNavigationLink(linkText) {
|
||||||
const nav = await testSubjects.find('globalNav');
|
const nav = await testSubjects.find('globalNav');
|
||||||
return await nav.findByPartialLinkText(linkText);
|
return await nav.findByPartialLinkText(linkText);
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { map as mapAsync } from 'bluebird';
|
import { map as mapAsync } from 'bluebird';
|
||||||
|
import expect from 'expect.js';
|
||||||
|
|
||||||
export function SettingsPageProvider({ getService, getPageObjects }) {
|
export function SettingsPageProvider({ getService, getPageObjects }) {
|
||||||
const log = getService('log');
|
const log = getService('log');
|
||||||
const retry = getService('retry');
|
const retry = getService('retry');
|
||||||
|
@ -273,7 +275,9 @@ export function SettingsPageProvider({ getService, getPageObjects }) {
|
||||||
await this.navigateTo();
|
await this.navigateTo();
|
||||||
await this.clickKibanaIndices();
|
await this.clickKibanaIndices();
|
||||||
await this.clickOptionalAddNewButton();
|
await this.clickOptionalAddNewButton();
|
||||||
await this.setIndexPatternField(indexPatternName);
|
await retry.try(async () => {
|
||||||
|
await this.setIndexPatternField(indexPatternName);
|
||||||
|
});
|
||||||
await PageObjects.common.sleep(2000);
|
await PageObjects.common.sleep(2000);
|
||||||
await (await this.getCreateIndexPatternGoToStep2Button()).click();
|
await (await this.getCreateIndexPatternGoToStep2Button()).click();
|
||||||
await PageObjects.common.sleep(2000);
|
await PageObjects.common.sleep(2000);
|
||||||
|
@ -323,6 +327,9 @@ export function SettingsPageProvider({ getService, getPageObjects }) {
|
||||||
const field = await this.getIndexPatternField();
|
const field = await this.getIndexPatternField();
|
||||||
await field.clearValue();
|
await field.clearValue();
|
||||||
await field.type(indexPatternName);
|
await field.type(indexPatternName);
|
||||||
|
const currentName = await field.getAttribute('value');
|
||||||
|
log.debug(`setIndexPatternField set to ${currentName}`);
|
||||||
|
expect(currentName).to.eql(`${indexPatternName}*`);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getCreateIndexPatternGoToStep2Button() {
|
async getCreateIndexPatternGoToStep2Button() {
|
||||||
|
|
|
@ -17,9 +17,11 @@
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export function DocTableProvider({ getService }) {
|
export function DocTableProvider({ getService, getPageObjects }) {
|
||||||
const testSubjects = getService('testSubjects');
|
const testSubjects = getService('testSubjects');
|
||||||
const retry = getService('retry');
|
const retry = getService('retry');
|
||||||
|
const PageObjects = getPageObjects(['common', 'header']);
|
||||||
|
|
||||||
|
|
||||||
class DocTable {
|
class DocTable {
|
||||||
async getTable() {
|
async getTable() {
|
||||||
|
@ -70,11 +72,13 @@ export function DocTableProvider({ getService }) {
|
||||||
const tableDocViewRow = await this.getTableDocViewRow(detailsRow, fieldName);
|
const tableDocViewRow = await this.getTableDocViewRow(detailsRow, fieldName);
|
||||||
const addInclusiveFilterButton = await this.getAddInclusiveFilterButton(tableDocViewRow);
|
const addInclusiveFilterButton = await this.getAddInclusiveFilterButton(tableDocViewRow);
|
||||||
await addInclusiveFilterButton.click();
|
await addInclusiveFilterButton.click();
|
||||||
|
await PageObjects.header.awaitGlobalLoadingIndicatorHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
async toggleRowExpanded(row) {
|
async toggleRowExpanded(row) {
|
||||||
const rowExpandToggle = await this.getRowExpandToggle(row);
|
const rowExpandToggle = await this.getRowExpandToggle(row);
|
||||||
await rowExpandToggle.click();
|
await rowExpandToggle.click();
|
||||||
|
await PageObjects.header.awaitGlobalLoadingIndicatorHidden();
|
||||||
|
|
||||||
const detailsRow = await row.findByXpath('./following-sibling::*[@data-test-subj="docTableDetailsRow"]');
|
const detailsRow = await row.findByXpath('./following-sibling::*[@data-test-subj="docTableDetailsRow"]');
|
||||||
return await retry.try(async () => {
|
return await retry.try(async () => {
|
||||||
|
|
|
@ -19,10 +19,11 @@
|
||||||
|
|
||||||
import Keys from 'leadfoot/keys';
|
import Keys from 'leadfoot/keys';
|
||||||
|
|
||||||
export function FilterBarProvider({ getService }) {
|
export function FilterBarProvider({ getService, getPageObjects }) {
|
||||||
const remote = getService('remote');
|
const remote = getService('remote');
|
||||||
const testSubjects = getService('testSubjects');
|
const testSubjects = getService('testSubjects');
|
||||||
const find = getService('find');
|
const find = getService('find');
|
||||||
|
const PageObjects = getPageObjects(['common', 'header']);
|
||||||
|
|
||||||
async function typeIntoReactSelect(testSubj, value) {
|
async function typeIntoReactSelect(testSubj, value) {
|
||||||
const select = await testSubjects.find(testSubj);
|
const select = await testSubjects.find(testSubj);
|
||||||
|
@ -44,12 +45,14 @@ export function FilterBarProvider({ getService }) {
|
||||||
const filterElement = await testSubjects.find(`filter & filter-key-${key}`);
|
const filterElement = await testSubjects.find(`filter & filter-key-${key}`);
|
||||||
await remote.moveMouseTo(filterElement);
|
await remote.moveMouseTo(filterElement);
|
||||||
await testSubjects.click(`filter & filter-key-${key} removeFilter-${key}`);
|
await testSubjects.click(`filter & filter-key-${key} removeFilter-${key}`);
|
||||||
|
await PageObjects.header.awaitGlobalLoadingIndicatorHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
async toggleFilterEnabled(key) {
|
async toggleFilterEnabled(key) {
|
||||||
const filterElement = await testSubjects.find(`filter & filter-key-${key}`);
|
const filterElement = await testSubjects.find(`filter & filter-key-${key}`);
|
||||||
await remote.moveMouseTo(filterElement);
|
await remote.moveMouseTo(filterElement);
|
||||||
await testSubjects.click(`filter & filter-key-${key} disableFilter-${key}`);
|
await testSubjects.click(`filter & filter-key-${key} disableFilter-${key}`);
|
||||||
|
await PageObjects.header.awaitGlobalLoadingIndicatorHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
async toggleFilterPinned(key) {
|
async toggleFilterPinned(key) {
|
||||||
|
@ -93,6 +96,7 @@ export function FilterBarProvider({ getService }) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await testSubjects.click('saveFilter');
|
await testSubjects.click('saveFilter');
|
||||||
|
await PageObjects.header.awaitGlobalLoadingIndicatorHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
async clickEditFilter(key, value) {
|
async clickEditFilter(key, value) {
|
||||||
|
|
Loading…
Reference in a new issue