diff --git a/tests/ui-testing/pages/dashboardPages/dashboard-panel-actions.js b/tests/ui-testing/pages/dashboardPages/dashboard-panel-actions.js index 616db91472..a2bfb28355 100644 --- a/tests/ui-testing/pages/dashboardPages/dashboard-panel-actions.js +++ b/tests/ui-testing/pages/dashboardPages/dashboard-panel-actions.js @@ -363,7 +363,10 @@ export default class DashboardactionPage { ); await this.applyDashboardBtn(); const response = await promqlResponse; - await response.finished(); + // A streamed (text/event-stream) response may never report finished; waitForChartToRender covers completion. + if (!(await response.headerValue("content-type"))?.includes("text/event-stream")) { + await response.finished(); + } await this.waitForChartToRender(); return response; } @@ -384,9 +387,10 @@ export default class DashboardactionPage { ); } - /** Sorted sample values of every series in a finished PromQL query_range event-stream response. */ + /** Sorted sample values of every series in a PromQL query_range event-stream response. */ async promqlSampleValues(response) { - return (await response.text()) + // The browser can abort the stream after the last event and keep no body, so fetch the same absolute range again. + return (await (await this.page.request.get(response.url())).text()) .split("\n") .filter((line) => line.startsWith("data: ")) .map((line) => {