Skip to content

Commit 5d61451

Browse files
authored
[Discover] Address flaky tests related to breakdown (elastic#230441)
- Closes elastic#229970 - Closes elastic#229703 - Closes elastic#229867 - Closes elastic#230458 - Closes elastic#230435 ### Checklist - [x] [Flaky Test Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was used on any tests changed - [x] The PR description includes the appropriate Release Notes section, and the correct `release_note:*` label is applied per the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) - [x] Review the [backport guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing) and apply applicable `backport:*` labels.
1 parent 21cb548 commit 5d61451

File tree

3 files changed

+35
-6
lines changed

3 files changed

+35
-6
lines changed

src/platform/test/functional/apps/discover/group1/_discover_histogram.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,10 +303,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
303303

304304
it('should reset all histogram state when resetting the saved search', async () => {
305305
await common.navigateToApp('discover');
306+
await header.waitUntilLoadingHasFinished();
306307
await discover.waitUntilSearchingHasFinished();
307308
await timePicker.setDefaultAbsoluteRange();
309+
await header.waitUntilLoadingHasFinished();
310+
await discover.waitUntilSearchingHasFinished();
308311
const savedSearch = 'histogram state';
309312
await discover.saveSearch(savedSearch);
313+
await header.waitUntilLoadingHasFinished();
314+
await discover.waitUntilSearchingHasFinished();
310315
await discover.chooseBreakdownField('extension.keyword');
311316
await discover.setChartInterval('Second');
312317
await retry.try(async () => {
@@ -320,8 +325,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
320325
});
321326
});
322327
await discover.toggleChartVisibility();
328+
await header.waitUntilLoadingHasFinished();
323329
await discover.waitUntilSearchingHasFinished();
324330
await discover.revertUnsavedChanges();
331+
await header.waitUntilLoadingHasFinished();
325332
await discover.waitUntilSearchingHasFinished();
326333
await retry.try(async () => {
327334
const requestData =

src/platform/test/functional/page_objects/discover_page.ts

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -229,12 +229,27 @@ export class DiscoverPageObject extends FtrService {
229229
await this.testSubjects.find('unifiedHistogramBreakdownSelectorSelectorSearch')
230230
).type(field);
231231

232-
const option = await this.find.byCssSelector(
233-
`[data-test-subj="unifiedHistogramBreakdownSelectorSelectable"] .euiSelectableListItem[value="${
234-
value ?? field
235-
}"]`
236-
);
237-
await option.click();
232+
const optionValue = value ?? field;
233+
let option;
234+
235+
await this.retry.try(async () => {
236+
option = await this.find.byCssSelector(
237+
`[data-test-subj="unifiedHistogramBreakdownSelectorSelectable"] .euiSelectableListItem[value="${optionValue}"]`
238+
);
239+
240+
return Boolean(option);
241+
});
242+
243+
await option!.click();
244+
await this.retry.waitFor('the value to be selected', async () => {
245+
const breakdownButton = await this.testSubjects.find(
246+
'unifiedHistogramBreakdownSelectorButton'
247+
);
248+
return (
249+
(await breakdownButton.getAttribute('data-selected-value')) === optionValue ||
250+
(await breakdownButton.getVisibleText()) === field
251+
);
252+
});
238253
}
239254

240255
public async clearBreakdownField() {

x-pack/platform/test/serverless/functional/test_suites/discover/group1/_discover_histogram.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
310310

311311
it('should reset all histogram state when resetting the saved search', async () => {
312312
await PageObjects.common.navigateToApp('discover');
313+
await PageObjects.header.waitUntilLoadingHasFinished();
313314
await PageObjects.discover.waitUntilSearchingHasFinished();
314315
await PageObjects.timePicker.setDefaultAbsoluteRange();
316+
await PageObjects.header.waitUntilLoadingHasFinished();
317+
await PageObjects.discover.waitUntilSearchingHasFinished();
315318
const savedSearch = 'histogram state';
316319
await PageObjects.discover.saveSearch(savedSearch);
320+
await PageObjects.header.waitUntilLoadingHasFinished();
321+
await PageObjects.discover.waitUntilSearchingHasFinished();
317322
await PageObjects.discover.chooseBreakdownField('extension.keyword');
318323
await PageObjects.discover.setChartInterval('Second');
319324
await retry.try(async () => {
@@ -327,8 +332,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
327332
});
328333
});
329334
await PageObjects.discover.toggleChartVisibility();
335+
await PageObjects.header.waitUntilLoadingHasFinished();
330336
await PageObjects.discover.waitUntilSearchingHasFinished();
331337
await PageObjects.discover.revertUnsavedChanges();
338+
await PageObjects.header.waitUntilLoadingHasFinished();
332339
await PageObjects.discover.waitUntilSearchingHasFinished();
333340
await retry.try(async () => {
334341
const requestData =

0 commit comments

Comments
 (0)