Skip to content

Commit c285287

Browse files
Fix Lens smokescreen flaky tests (#78566)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
1 parent 37d49b0 commit c285287

File tree

4 files changed

+16
-23
lines changed

4 files changed

+16
-23
lines changed

x-pack/test/functional/apps/dashboard_mode/dashboard_empty_screen.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,18 @@ export default function ({ getPageObjects, getService }) {
4040
operation: 'date_histogram',
4141
field: '@timestamp',
4242
});
43-
await PageObjects.lens.closeDimensionEditor();
4443

4544
await PageObjects.lens.configureDimension({
4645
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
4746
operation: 'avg',
4847
field: 'bytes',
4948
});
50-
await PageObjects.lens.closeDimensionEditor();
5149

5250
await PageObjects.lens.configureDimension({
5351
dimension: 'lnsXY_splitDimensionPanel > lns-empty-dimension',
5452
operation: 'terms',
5553
field: 'ip',
5654
});
57-
await PageObjects.lens.closeDimensionEditor();
5855
await PageObjects.lens.save(title, saveAsNew, redirectToOrigin);
5956
}
6057

x-pack/test/functional/apps/lens/rollup.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,18 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
3434
operation: 'date_histogram',
3535
field: '@timestamp',
3636
});
37-
await PageObjects.lens.closeDimensionEditor();
3837

3938
await PageObjects.lens.configureDimension({
4039
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
4140
operation: 'sum',
4241
field: 'bytes',
4342
});
44-
await PageObjects.lens.closeDimensionEditor();
4543

4644
await PageObjects.lens.configureDimension({
4745
dimension: 'lnsXY_splitDimensionPanel > lns-empty-dimension',
4846
operation: 'terms',
4947
field: 'geo.src',
5048
});
51-
await PageObjects.lens.closeDimensionEditor();
5249
expect(await find.allByCssSelector('.echLegendItem')).to.have.length(2);
5350

5451
await PageObjects.lens.save('Afancilenstest');

x-pack/test/functional/apps/lens/smokescreen.ts

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,18 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
2525
operation: 'date_histogram',
2626
field: '@timestamp',
2727
});
28-
await PageObjects.lens.closeDimensionEditor();
2928

3029
await PageObjects.lens.configureDimension({
3130
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
3231
operation: 'avg',
3332
field: 'bytes',
3433
});
35-
await PageObjects.lens.closeDimensionEditor();
3634

3735
await PageObjects.lens.configureDimension({
3836
dimension: 'lnsXY_splitDimensionPanel > lns-empty-dimension',
3937
operation: 'terms',
4038
field: '@message.raw',
4139
});
42-
await PageObjects.lens.closeDimensionEditor();
4340

4441
await PageObjects.lens.switchToVisualization('lnsDatatable');
4542
await PageObjects.lens.removeDimension('lnsDatatable_column');
@@ -50,7 +47,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
5047
operation: 'terms',
5148
field: 'ip',
5249
});
53-
await PageObjects.lens.closeDimensionEditor();
5450

5551
await PageObjects.lens.save('Afancilenstest');
5652

@@ -78,6 +74,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
7874
dimension: 'lnsXY_splitDimensionPanel > lns-dimensionTrigger',
7975
operation: 'filters',
8076
isPreviousIncompatible: true,
77+
keepOpen: true,
8178
});
8279
await PageObjects.lens.addFilterToAgg(`geo.src : CN`);
8380

@@ -110,14 +107,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
110107
field: '@timestamp',
111108
});
112109

113-
await PageObjects.lens.closeDimensionEditor();
114110
await PageObjects.lens.configureDimension({
115111
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
116112
operation: 'avg',
117113
field: 'bytes',
118114
});
119115

120-
await PageObjects.lens.closeDimensionEditor();
121116
await PageObjects.lens.createLayer();
122117

123118
expect(await PageObjects.lens.hasChartSwitchWarning('line')).to.eql(false);
@@ -132,7 +127,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
132127
1
133128
);
134129

135-
await PageObjects.lens.closeDimensionEditor();
136130
await PageObjects.lens.configureDimension(
137131
{
138132
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@@ -142,7 +136,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
142136
1
143137
);
144138

145-
await PageObjects.lens.closeDimensionEditor();
146139
expect(await PageObjects.lens.getLayerCount()).to.eql(2);
147140
await testSubjects.click('lnsLayerRemove');
148141
await testSubjects.click('lnsLayerRemove');
@@ -171,8 +164,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
171164

172165
await testSubjects.existOrFail('indexPattern-dimension-formatDecimals');
173166

174-
await PageObjects.lens.closeDimensionEditor();
175-
176167
expect(await PageObjects.lens.getDimensionTriggerText('lnsXY_yDimensionPanel')).to.eql(
177168
'Test of label'
178169
);
@@ -189,14 +180,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
189180
field: 'geo.dest',
190181
});
191182

192-
await PageObjects.lens.closeDimensionEditor();
193183
await PageObjects.lens.configureDimension({
194184
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
195185
operation: 'avg',
196186
field: 'bytes',
197187
});
198188

199-
await PageObjects.lens.closeDimensionEditor();
200189
await PageObjects.lens.createLayer();
201190

202191
await PageObjects.lens.configureDimension(
@@ -208,7 +197,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
208197
1
209198
);
210199

211-
await PageObjects.lens.closeDimensionEditor();
212200
await PageObjects.lens.configureDimension(
213201
{
214202
dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension',
@@ -218,7 +206,6 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
218206
1
219207
);
220208

221-
await PageObjects.lens.closeDimensionEditor();
222209
await PageObjects.lens.save('twolayerchart');
223210
await testSubjects.click('lnsSuggestion-asDonut > lnsSuggestion');
224211

@@ -304,15 +291,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
304291
operation: 'date_histogram',
305292
field: '@timestamp',
306293
});
307-
await PageObjects.lens.closeDimensionEditor();
308294

309295
await PageObjects.lens.configureDimension({
310296
dimension: 'lnsPie_sizeByDimensionPanel > lns-empty-dimension',
311297
operation: 'avg',
312298
field: 'bytes',
313299
});
314300

315-
await PageObjects.lens.closeDimensionEditor();
316301
expect(await PageObjects.lens.hasChartSwitchWarning('lnsDatatable')).to.eql(false);
317302
await PageObjects.lens.switchToVisualization('lnsDatatable');
318303

x-pack/test/functional/page_objects/lens_page.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont
9090
operation: string;
9191
field?: string;
9292
isPreviousIncompatible?: boolean;
93+
keepOpen?: boolean;
9394
},
9495
layerIndex = 0
9596
) {
@@ -107,6 +108,10 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont
107108
await comboBox.openOptionsList(target);
108109
await comboBox.setElement(target, opts.field);
109110
}
111+
112+
if (!opts.keepOpen) {
113+
this.closeDimensionEditor();
114+
}
110115
},
111116

112117
// closes the dimension editor flyout
@@ -127,7 +132,16 @@ export function LensPageProvider({ getService, getPageObjects }: FtrProviderCont
127132
await testSubjects.click('lns-newBucket-add');
128133
const queryInput = await testSubjects.find('indexPattern-filters-queryStringInput');
129134
await queryInput.type(queryString);
130-
await PageObjects.common.pressEnterKey();
135+
// Problem here is that after typing in the queryInput a dropdown will fetch the server
136+
// with suggestions and show up. Depending on the cursor position and some other factors
137+
// pressing Enter at this point may lead to auto-complete the queryInput with random stuff from the
138+
// dropdown which was not intended originally.
139+
// To close the Filter popover we need to move to the label input and then press Enter:
140+
// solution is to press Tab 2 twice (first Tab will close the dropdown) instead of Enter to avoid
141+
// race condition with the dropdown
142+
await PageObjects.common.pressTabKey();
143+
await PageObjects.common.pressTabKey();
144+
// Now it is safe to press Enter as we're in the label input
131145
await PageObjects.common.pressEnterKey();
132146
await PageObjects.common.sleep(1000); // give time for debounced components to rerender
133147
},

0 commit comments

Comments
 (0)