mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[functional tests] implement clickTestSubject helper (#10603)
Backports PR #10576
**Commit 1:**
[functional tests] implement clickTestSubject helper
Calling `.findTestSubject().click()` seems to be particularly error prone. This helper combines to the two actions and wraps them in a retry so we don't have to keep scattering `PageObject.common.try()` calls throughout the tests.
* Original sha: 14cc807b8a
* Authored by spalger <spalger@users.noreply.github.com> on 2017-02-24T20:08:33Z
This commit is contained in:
parent
771ed95a8c
commit
07b899c9b3
7 changed files with 36 additions and 49 deletions
|
@ -299,6 +299,12 @@ export default class Common {
|
|||
return exists;
|
||||
}
|
||||
|
||||
async clickTestSubject(selector) {
|
||||
return await Try.try(async () => {
|
||||
await this.findTestSubject(selector).click();
|
||||
});
|
||||
}
|
||||
|
||||
findTestSubject(selector, timeout = defaultFindTimeout) {
|
||||
this.debug('in findTestSubject: ' + testSubjSelector(selector));
|
||||
let originalFindTimeout = null;
|
||||
|
|
|
@ -31,18 +31,15 @@ export default class ConsolePage {
|
|||
}
|
||||
|
||||
async clickPlay() {
|
||||
const sendRequestButton = await PageObjects.common.findTestSubject('send-request-button');
|
||||
await sendRequestButton.click();
|
||||
await PageObjects.common.clickTestSubject('send-request-button');
|
||||
}
|
||||
|
||||
async collapseHelp() {
|
||||
const closeButton = await PageObjects.common.findTestSubject('help-close-button');
|
||||
await closeButton.click();
|
||||
await PageObjects.common.clickTestSubject('help-close-button');
|
||||
}
|
||||
|
||||
async openSettings() {
|
||||
const settingsButton = await PageObjects.common.findTestSubject('consoleSettingsButton');
|
||||
await settingsButton.click();
|
||||
await PageObjects.common.clickTestSubject('consoleSettingsButton');
|
||||
}
|
||||
|
||||
async setFontSizeSetting(newSize) {
|
||||
|
@ -56,8 +53,7 @@ export default class ConsolePage {
|
|||
await fontSizeInput.type(String(newSize));
|
||||
});
|
||||
|
||||
const saveButton = await PageObjects.common.findTestSubject('settings-save-button');
|
||||
await saveButton.click();
|
||||
await PageObjects.common.clickTestSubject('settings-save-button');
|
||||
}
|
||||
|
||||
async getFontSize(editor) {
|
||||
|
|
|
@ -51,15 +51,15 @@ export default class DashboardPage {
|
|||
}
|
||||
|
||||
clickNewDashboard() {
|
||||
return PageObjects.common.findTestSubject('newDashboardLink').click();
|
||||
return PageObjects.common.clickTestSubject('newDashboardLink');
|
||||
}
|
||||
|
||||
clickAddVisualization() {
|
||||
return PageObjects.common.findTestSubject('dashboardAddPanelButton').click();
|
||||
return PageObjects.common.clickTestSubject('dashboardAddPanelButton');
|
||||
}
|
||||
|
||||
clickOptions() {
|
||||
return PageObjects.common.findTestSubject('dashboardOptionsButton').click();
|
||||
return PageObjects.common.clickTestSubject('dashboardOptionsButton');
|
||||
}
|
||||
|
||||
isOptionsOpen() {
|
||||
|
@ -71,7 +71,7 @@ export default class DashboardPage {
|
|||
PageObjects.common.debug('openOptions');
|
||||
const isOpen = await this.isOptionsOpen();
|
||||
if (!isOpen) {
|
||||
return PageObjects.common.findTestSubject('dashboardOptionsButton').click();
|
||||
return PageObjects.common.clickTestSubject('dashboardOptionsButton');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ export default class DashboardPage {
|
|||
await this.openOptions();
|
||||
const isDarkThemeOn = await this.isDarkThemeOn();
|
||||
if (isDarkThemeOn !== on) {
|
||||
return PageObjects.common.findTestSubject('dashboardDarkThemeCheckbox').click();
|
||||
return PageObjects.common.clickTestSubject('dashboardDarkThemeCheckbox');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -161,7 +161,7 @@ export default class DashboardPage {
|
|||
* @param saveOptions {{storeTimeWithDashboard: boolean, saveAsNew: boolean}}
|
||||
*/
|
||||
async enterDashboardTitleAndClickSave(dashboardTitle, saveOptions = {}) {
|
||||
await PageObjects.common.findTestSubject('dashboardSaveButton').click();
|
||||
await PageObjects.common.clickTestSubject('dashboardSaveButton');
|
||||
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ export default class DiscoverPage {
|
|||
})
|
||||
.then(() => {
|
||||
PageObjects.common.debug('--find save button');
|
||||
return PageObjects.common.findTestSubject('discover-save-search-btn').click();
|
||||
return PageObjects.common.clickTestSubject('discover-save-search-btn');
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -57,18 +57,15 @@ export default class DiscoverPage {
|
|||
}
|
||||
|
||||
clickNewSearchButton() {
|
||||
return PageObjects.common.findTestSubject('discoverNewButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('discoverNewButton');
|
||||
}
|
||||
|
||||
clickSaveSearchButton() {
|
||||
return PageObjects.common.findTestSubject('discoverSaveButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('discoverSaveButton');
|
||||
}
|
||||
|
||||
clickLoadSavedSearchButton() {
|
||||
return PageObjects.common.findTestSubject('discoverOpenButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('discoverOpenButton');
|
||||
}
|
||||
|
||||
getCurrentQueryName() {
|
||||
|
@ -225,18 +222,15 @@ export default class DiscoverPage {
|
|||
}
|
||||
|
||||
clickShare() {
|
||||
return PageObjects.common.findTestSubject('discoverShareButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('discoverShareButton');
|
||||
}
|
||||
|
||||
clickShortenUrl() {
|
||||
return PageObjects.common.findTestSubject('sharedSnapshotShortUrlButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('sharedSnapshotShortUrlButton');
|
||||
}
|
||||
|
||||
clickCopyToClipboard() {
|
||||
return PageObjects.common.findTestSubject('sharedSnapshotCopyButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('sharedSnapshotCopyButton');
|
||||
}
|
||||
|
||||
getShareCaption() {
|
||||
|
@ -293,13 +287,12 @@ export default class DiscoverPage {
|
|||
async clickFieldListItemAdd(field) {
|
||||
const listEntry = await PageObjects.common.findTestSubject(`field-${field}`);
|
||||
await this.remote.moveMouseTo(listEntry);
|
||||
await PageObjects.common.findTestSubject(`fieldToggle-${field}`)
|
||||
.click();
|
||||
await PageObjects.common.clickTestSubject(`fieldToggle-${field}`);
|
||||
}
|
||||
|
||||
async clickFieldListItemVisualize(field) {
|
||||
return await PageObjects.common.try(async () => {
|
||||
await PageObjects.common.findTestSubject('fieldVisualize-' + field).click();
|
||||
await PageObjects.common.clickTestSubject('fieldVisualize-' + field);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -320,8 +313,8 @@ export default class DiscoverPage {
|
|||
}
|
||||
|
||||
async removeAllFilters() {
|
||||
await PageObjects.common.findTestSubject('showFilterActions').click();
|
||||
await PageObjects.common.findTestSubject('removeAllFilters').click();
|
||||
await PageObjects.common.clickTestSubject('showFilterActions');
|
||||
await PageObjects.common.clickTestSubject('removeAllFilters');
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -44,8 +44,7 @@ export default class HeaderPage {
|
|||
|
||||
clickTimepicker() {
|
||||
return PageObjects.common.try(() => {
|
||||
return PageObjects.common.findTestSubject('globalTimepickerButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('globalTimepickerButton');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -37,14 +37,13 @@ export default class SettingsPage {
|
|||
}
|
||||
|
||||
async setAdvancedSettings(propertyName, propertyValue) {
|
||||
const self = this;
|
||||
await PageObjects.common.findTestSubject('advancedSetting-' + propertyName + '-editButton').click();
|
||||
await PageObjects.common.clickTestSubject('advancedSetting-' + propertyName + '-editButton');
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await PageObjects.common.sleep(1000);
|
||||
await this.remote.setFindTimeout(defaultFindTimeout)
|
||||
.findByCssSelector('option[label="' + propertyValue + '"]').click();
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await PageObjects.common.findTestSubject('advancedSetting-' + propertyName + '-saveButton').click();
|
||||
await PageObjects.common.clickTestSubject('advancedSetting-' + propertyName + '-saveButton');
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
}
|
||||
|
||||
|
@ -290,8 +289,7 @@ export default class SettingsPage {
|
|||
});
|
||||
await PageObjects.common.try(async () => {
|
||||
PageObjects.common.debug('acceptConfirmation');
|
||||
await PageObjects.common.findTestSubject('confirmModalConfirmButton')
|
||||
.click();
|
||||
await PageObjects.common.clickTestSubject('confirmModalConfirmButton');
|
||||
});
|
||||
await PageObjects.common.try(async () => {
|
||||
const currentUrl = await this.remote.getCurrentUrl();
|
||||
|
@ -304,20 +302,17 @@ export default class SettingsPage {
|
|||
|
||||
async clickFieldsTab() {
|
||||
PageObjects.common.debug('click Fields tab');
|
||||
await PageObjects.common.findTestSubject('tab-indexFields')
|
||||
.click();
|
||||
await PageObjects.common.clickTestSubject('tab-indexFields');
|
||||
}
|
||||
|
||||
async clickScriptedFieldsTab() {
|
||||
PageObjects.common.debug('click Scripted Fields tab');
|
||||
await PageObjects.common.findTestSubject('tab-scriptedFields')
|
||||
.click();
|
||||
await PageObjects.common.clickTestSubject('tab-scriptedFields');
|
||||
}
|
||||
|
||||
async clickSourceFiltersTab() {
|
||||
PageObjects.common.debug('click Source Filters tab');
|
||||
await PageObjects.common.findTestSubject('tab-sourceFilters')
|
||||
.click();
|
||||
await PageObjects.common.clickTestSubject('tab-sourceFilters');
|
||||
}
|
||||
|
||||
async addScriptedField(name, language, type, format, popularity, script) {
|
||||
|
|
|
@ -306,8 +306,7 @@ export default class VisualizePage {
|
|||
}
|
||||
|
||||
saveVisualization(vizName) {
|
||||
return PageObjects.common.findTestSubject('visualizeSaveButton')
|
||||
.click()
|
||||
return PageObjects.common.clickTestSubject('visualizeSaveButton')
|
||||
.then(() => {
|
||||
return PageObjects.common.sleep(1000);
|
||||
})
|
||||
|
@ -321,8 +320,7 @@ export default class VisualizePage {
|
|||
// // click save button
|
||||
.then(() => {
|
||||
PageObjects.common.debug('click submit button');
|
||||
return PageObjects.common.findTestSubject('saveVisualizationButton')
|
||||
.click();
|
||||
return PageObjects.common.clickTestSubject('saveVisualizationButton');
|
||||
})
|
||||
.then(function () {
|
||||
return PageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue