public async exists(selector: string, options: ExistsOptions = {}): Promise<boolean> { const { timeout = WAIT_FOR_EXISTS_TIME, allowHidden = false } = options; log.debug(`TestSubjects.exists(${selector})`); return await (allowHidden ? find.existsByCssSelector(testSubjSelector(selector), timeout) : find.existsByDisplayedByCssSelector(testSubjSelector(selector), timeout)); }
public async clickWhenNotDisabled( selector: string, { timeout = FIND_TIME }: { timeout?: number } = {} ): Promise<void> { log.debug(`TestSubjects.clickWhenNotDisabled(${selector})`); await find.clickByCssSelectorWhenNotDisabled(testSubjSelector(selector), { timeout }); }
public async waitForDeleted(selectorOrElement: string | WebElementWrapper): Promise<void> { if (typeof selectorOrElement === 'string') { await find.waitForDeletedByCssSelector(testSubjSelector(selectorOrElement)); } else { await find.waitForElementStale(selectorOrElement); } }
public async waitForAttributeToChange( selector: string, attribute: string, value: string ): Promise<void> { await find.waitForAttributeToChange(testSubjSelector(selector), attribute, value); }
public async findDescendant( selector: string, parentElement: WebElementWrapper ): Promise<WebElementWrapper> { log.debug(`TestSubjects.findDescendant(${selector})`); return await find.descendantDisplayedByCssSelector(testSubjSelector(selector), parentElement); }
export function InfraHomePageProvider({ getService }: KibanaFunctionalTestDefaultProviders) { const testSubjects = getService('testSubjects'); const find = getService('find'); const browser = getService('browser'); return { async goToTime(time: number) { const datePickerInput = await find.byCssSelector( `${testSubjSelector('waffleDatePicker')} .euiDatePicker.euiFieldText` ); await datePickerInput.type(Array(30).fill(browser.keys.BACK_SPACE)); await datePickerInput.type([moment(time).format('L LTS'), browser.keys.RETURN]); }, async getWaffleMap() { return await testSubjects.find('waffleMap'); }, async getNoMetricsIndicesPrompt() { return await testSubjects.find('noMetricsIndicesPrompt'); }, async getNoMetricsDataPrompt() { return await testSubjects.find('noMetricsDataPrompt'); }, async openSourceConfigurationFlyout() { await testSubjects.click('configureSourceButton'); await testSubjects.exists('sourceConfigurationFlyout'); }, }; }
export function InfraHomePageProvider({ getService }: KibanaFunctionalTestDefaultProviders) { const testSubjects = getService('testSubjects'); const find = getService('find'); return { async goToTime(time: number) { const datePickerInput = await find.byCssSelector( `${testSubjSelector('waffleDatePicker')} .euiDatePicker.euiFieldText` ); await datePickerInput.type(Array(30).fill(Keys.BACKSPACE)); await datePickerInput.type([moment(time).format('L LTS'), Keys.RETURN]); }, async getWaffleMap() { return await testSubjects.find('waffleMap'); }, async getNoMetricsIndicesPrompt() { return await testSubjects.find('noMetricsIndicesPrompt'); }, async getNoMetricsDataPrompt() { return await testSubjects.find('noMetricsDataPrompt'); }, }; }
async descendantExists(selector: string, parentElement: WebElementWrapper): Promise<boolean> { log.debug(`TestSubjects.descendantExists(${selector})`); return await find.descendantExistsByCssSelector(testSubjSelector(selector), parentElement); }
public async click(selector: string, timeout: number = FIND_TIME): Promise<void> { log.debug(`TestSubjects.click(${selector})`); await find.clickByCssSelector(testSubjSelector(selector), timeout); }
public getCssSelector(selector: string): string { return testSubjSelector(selector); }