mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
Backports the following commits to 7.0: - Stabilize dashboard render and filtering tests (#30419)
This commit is contained in:
parent
6633091a8b
commit
6c920912c8
5 changed files with 16 additions and 11 deletions
|
@ -79,7 +79,7 @@ export const schema = Joi.object().keys({
|
|||
|
||||
timeouts: Joi.object().keys({
|
||||
find: Joi.number().default(10000),
|
||||
try: Joi.number().default(40000),
|
||||
try: Joi.number().default(120000),
|
||||
waitFor: Joi.number().default(20000),
|
||||
esRequestTimeout: Joi.number().default(30000),
|
||||
kibanaStabilize: Joi.number().default(15000),
|
||||
|
|
|
@ -181,7 +181,7 @@ export default function ({ getService, getPageObjects }) {
|
|||
await pieChart.expectPieSliceCount(5);
|
||||
});
|
||||
|
||||
it.skip('area, bar and heatmap charts', async () => {
|
||||
it('area, bar and heatmap charts', async () => {
|
||||
await dashboardExpect.seriesElementCount(3);
|
||||
});
|
||||
|
||||
|
|
|
@ -90,9 +90,7 @@ export default function ({ getService, getPageObjects }) {
|
|||
await dashboardExpect.vegaTextsDoNotExist(['5,000']);
|
||||
};
|
||||
|
||||
|
||||
// FLAKY: https://github.com/elastic/kibana/issues/28818
|
||||
describe.skip('dashboard embeddable rendering', function describeIndexTests() {
|
||||
describe('dashboard embeddable rendering', function describeIndexTests() {
|
||||
before(async () => {
|
||||
await PageObjects.dashboard.clickNewDashboard();
|
||||
|
||||
|
@ -115,18 +113,16 @@ export default function ({ getService, getPageObjects }) {
|
|||
await dashboardAddPanel.addVisualization('Filter Bytes Test: vega');
|
||||
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await dashboardExpect.panelCount(27);
|
||||
await PageObjects.dashboard.waitForRenderComplete();
|
||||
const panelCount = await PageObjects.dashboard.getPanelCount();
|
||||
expect(panelCount).to.be(27);
|
||||
});
|
||||
|
||||
it('adding saved searches', async () => {
|
||||
await dashboardAddPanel.addEverySavedSearch('"Rendering Test"');
|
||||
await dashboardAddPanel.closeAddPanel();
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await dashboardExpect.panelCount(28);
|
||||
await PageObjects.dashboard.waitForRenderComplete();
|
||||
const panelCount = await PageObjects.dashboard.getPanelCount();
|
||||
expect(panelCount).to.be(28);
|
||||
|
||||
await PageObjects.dashboard.saveDashboard('embeddable rendering test', { storeTimeWithDashboard: true });
|
||||
});
|
||||
|
|
|
@ -46,6 +46,7 @@ export function DashboardAddPanelProvider({ getService, getPageObjects }) {
|
|||
const embeddableRows = await addPanel.findAllByClassName('euiLink');
|
||||
for (let i = 0; i < embeddableRows.length; i++) {
|
||||
await embeddableRows[i].click();
|
||||
await PageObjects.common.closeToast();
|
||||
}
|
||||
log.debug(`Added ${embeddableRows.length} embeddables`);
|
||||
}
|
||||
|
@ -171,7 +172,7 @@ export function DashboardAddPanelProvider({ getService, getPageObjects }) {
|
|||
// The search input field may be disabled while the table is loading so wait for it
|
||||
await this.waitForEuiTableLoading();
|
||||
await testSubjects.setValue('savedObjectFinderSearchInput', name);
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
await this.waitForEuiTableLoading();
|
||||
}
|
||||
|
||||
async panelAddLinkExists(name) {
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
const RENDER_COMPLETE_SELECTOR = '[data-render-complete="true"]';
|
||||
const RENDER_COMPLETE_PENDING_SELECTOR = '[data-render-complete="false"]';
|
||||
const DATA_LOADING_SELECTOR = '[data-loading]';
|
||||
|
||||
export function RenderableProvider({ getService }) {
|
||||
|
@ -39,7 +40,14 @@ export function RenderableProvider({ getService }) {
|
|||
await retry.try(async () => {
|
||||
const completedElements = await find.allByCssSelector(RENDER_COMPLETE_SELECTOR);
|
||||
if (completedElements.length < count) {
|
||||
throw new Error(`${completedElements.length} elements completed rendering, waiting on a total of ${count}`);
|
||||
const pendingElements = await find.allByCssSelector(RENDER_COMPLETE_PENDING_SELECTOR);
|
||||
const pendingElementNames = [];
|
||||
for (const pendingElement of pendingElements) {
|
||||
const title = await pendingElement.getAttribute('data-title');
|
||||
pendingElementNames.push(title);
|
||||
}
|
||||
throw new Error(`${completedElements.length} elements completed rendering, still waiting on a total of ${count}
|
||||
specifically:\n${pendingElementNames.join('\n')}`);
|
||||
}
|
||||
|
||||
const stillLoadingElements = await find.allByCssSelector(DATA_LOADING_SELECTOR, 1000);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue