39c9096a87
Dashboard: POC to run existing e2e with `dashboardScene` feature toggle (#84598) * Standarize e2e for addDashbaord e2e flow * WIP: Duplicate e2e dashboard flows and smoke test for scene e2e tests * Fix autoformatting mistake for bash file * Enable dashboardScene using local storage and only for the scene folder * Add missing folders * Set the feature toggle in the before of all tests * Revert "Standarize e2e for addDashbaord e2e flow" This reverts commit6b9ea9d5a4. * Add missing e2e selectors to NavToolbarActions, and modify addDashboard scene flow * e2e: panels_smokescreen.spec.ts migrated * e2e smokeTestSceneario migrated * Start migrating dashbaord-suite e2e * WIP create variable types * adjust tests for scenes * restore dashboard json file * update scenes version * restore pkg/build/wire/internal/wire/testdata modifications * finalising test adjusments * restore pkg/build/wire/internal/wire/testdata files * add latest scenes version and update tests * add drone setup for dashboard scenes tests * update to latest scenes version * adjust drone errors * adjust indentation in drone yml file * drone adjustments * add github workflow to run scenes e2e * restore drone file * adjust github workflow * wip: github workflow adjustments * test remove gpu * bump * undo formating changes * wip: github workflow debugging * adjusting flaky tests * update to latest scenes * clean up workflow file * adjust flaky test * clean up pr * finalise worflow logic and add to codeowners * clean up launching old arch dashboards e2e separately --------- Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com> Co-authored-by: Jeff Levin <jeff@levinology.com> (cherry picked from commit9ea1042329) Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
54 lines
1.5 KiB
JavaScript
54 lines
1.5 KiB
JavaScript
require('./commands');
|
|
|
|
Cypress.Screenshot.defaults({
|
|
screenshotOnRunFailure: false,
|
|
});
|
|
|
|
const COMMAND_DELAY = 1000;
|
|
|
|
if (Cypress.env('SLOWMO')) {
|
|
const commandsToModify = ['clear', 'click', 'contains', 'reload', 'then', 'trigger', 'type', 'visit'];
|
|
|
|
commandsToModify.forEach((command) => {
|
|
// @ts-ignore -- https://github.com/cypress-io/cypress/issues/7807
|
|
Cypress.Commands.overwrite(command, (originalFn, ...args) => {
|
|
const origVal = originalFn(...args);
|
|
|
|
return new Promise((resolve) => {
|
|
setTimeout(() => resolve(origVal), COMMAND_DELAY);
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
// @todo remove when possible: https://github.com/cypress-io/cypress/issues/95
|
|
Cypress.on('window:before:load', (win) => {
|
|
// @ts-ignore
|
|
delete win.fetch;
|
|
});
|
|
|
|
// See https://github.com/quasarframework/quasar/issues/2233 for details
|
|
const resizeObserverLoopErrRe = /^[^(ResizeObserver loop limit exceeded)]/;
|
|
Cypress.on('uncaught:exception', (err) => {
|
|
/* returning false here prevents Cypress from failing the test */
|
|
if (resizeObserverLoopErrRe.test(err.message)) {
|
|
return false;
|
|
}
|
|
return true;
|
|
});
|
|
|
|
// uncomment below to prevent Cypress from failing tests when unhandled errors are thrown
|
|
// Cypress.on('uncaught:exception', (err, runnable) => {
|
|
// // returning false here prevents Cypress from
|
|
// // failing the test
|
|
// return false;
|
|
// });
|
|
//
|
|
|
|
beforeEach(() => {
|
|
if (Cypress.env('SCENES')) {
|
|
cy.logToConsole('enabling dashboardScene feature toggle in localstorage');
|
|
cy.setLocalStorage('grafana.featureToggles', 'dashboardScene=true');
|
|
}
|
|
});
|