mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
* [services/test_subject] fix missingOrFail * [services/test_subjects] allowHidden option for missingOrFail * [page_objects/dashboard_page] wait for euiTable loaded, increase timeout for loading page check
This commit is contained in:
parent
0b3c817f69
commit
13c1591fcf
4 changed files with 19 additions and 8 deletions
|
@ -429,6 +429,7 @@ export function DashboardPageProvider({ getService, getPageObjects }) {
|
|||
// Note: this replacement of - to space is to preserve original logic but I'm not sure why or if it's needed.
|
||||
await searchFilter.type(dashName.replace('-', ' '));
|
||||
await PageObjects.common.pressEnterKey();
|
||||
await find.waitForDeletedByCssSelector('.euiBasicTable-loading', 5000);
|
||||
});
|
||||
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
@ -459,7 +460,7 @@ export function DashboardPageProvider({ getService, getPageObjects }) {
|
|||
await this.selectDashboard(dashName);
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
// check Dashboard landing page is not present
|
||||
await testSubjects.missingOrFail('newItemButton');
|
||||
await testSubjects.missingOrFail('dashboardLandingPage', { timeout: 10000 });
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -248,7 +248,7 @@ export function DiscoverPageProvider({ getService, getPageObjects }) {
|
|||
}
|
||||
|
||||
async expectMissingFieldListItemVisualize(field) {
|
||||
await testSubjects.missingOrFail(`fieldVisualize-${field}`);
|
||||
await testSubjects.missingOrFail(`fieldVisualize-${field}`, { allowHidden: true });
|
||||
}
|
||||
|
||||
async clickFieldListPlusFilter(field, value) {
|
||||
|
@ -288,7 +288,7 @@ export function DiscoverPageProvider({ getService, getPageObjects }) {
|
|||
const fieldFilterFormExists = await testSubjects.exists('discoverFieldFilter');
|
||||
if (fieldFilterFormExists) {
|
||||
await testSubjects.click('toggleFieldFilterButton');
|
||||
await testSubjects.missingOrFail('discoverFieldFilter');
|
||||
await testSubjects.missingOrFail('discoverFieldFilter', { allowHidden: true });
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ export async function FindProvider({ getService }: FtrProviderContext) {
|
|||
const browserType = webdriver.browserType;
|
||||
|
||||
const WAIT_FOR_EXISTS_TIME = config.get('timeouts.waitForExists');
|
||||
const POLLING_TIME = 500;
|
||||
const defaultFindTimeout = config.get('timeouts.find');
|
||||
const fixedHeaderHeight = config.get('layout.fixedHeaderHeight');
|
||||
|
||||
|
@ -426,7 +427,7 @@ export async function FindProvider({ getService }: FtrProviderContext) {
|
|||
timeout: number = defaultFindTimeout
|
||||
) {
|
||||
log.debug(`Find.waitForDeletedByCssSelector('${selector}') with timeout=${timeout}`);
|
||||
await this._withTimeout(1000);
|
||||
await this._withTimeout(POLLING_TIME);
|
||||
await driver.wait(
|
||||
async () => {
|
||||
const found = await driver.findElements(By.css(selector));
|
||||
|
|
|
@ -59,11 +59,14 @@ export function TestSubjectsProvider({ getService }: FtrProviderContext) {
|
|||
|
||||
public async missingOrFail(
|
||||
selector: string,
|
||||
existsOptions?: ExistsOptions
|
||||
options: ExistsOptions = {}
|
||||
): Promise<void | never> {
|
||||
if (await this.exists(selector, existsOptions)) {
|
||||
throw new Error(`expected testSubject(${selector}) to not exist`);
|
||||
}
|
||||
const { timeout = WAIT_FOR_EXISTS_TIME, allowHidden = false } = options;
|
||||
|
||||
log.debug(`TestSubjects.missingOrFail(${selector})`);
|
||||
return await (allowHidden
|
||||
? this.waitForHidden(selector, timeout)
|
||||
: find.waitForDeletedByCssSelector(testSubjSelector(selector), timeout));
|
||||
}
|
||||
|
||||
public async append(selector: string, text: string): Promise<void> {
|
||||
|
@ -245,6 +248,12 @@ export function TestSubjectsProvider({ getService }: FtrProviderContext) {
|
|||
await find.waitForAttributeToChange(testSubjSelector(selector), attribute, value);
|
||||
}
|
||||
|
||||
public async waitForHidden(selector: string, timeout?: number): Promise<void> {
|
||||
log.debug(`TestSubjects.waitForHidden(${selector})`);
|
||||
const element = await this.find(selector);
|
||||
await find.waitForElementHidden(element, timeout);
|
||||
}
|
||||
|
||||
public getCssSelector(selector: string): string {
|
||||
return testSubjSelector(selector);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue