diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress.json b/src/Umbraco.Tests.AcceptanceTest/cypress.json index 33978211edca..340eede2a03d 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress.json +++ b/src/Umbraco.Tests.AcceptanceTest/cypress.json @@ -7,5 +7,9 @@ "password": "" }, "supportFile": "cypress/support/index.ts", - "videoUploadOnPasses" : false + "videoUploadOnPasses" : false, + "retries": { + "runMode": 5, + "openMode": 1 + } } diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/documentTypes.ts b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/documentTypes.ts index 1a86e908528c..fa4c6ec9a3cc 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/documentTypes.ts +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/documentTypes.ts @@ -35,7 +35,7 @@ context('Document Types', () => { cy.get('#datatype-search').type('Textstring'); // Choose first item - cy.get('ul.umb-card-grid li [title="Textstring"]').closest("li").click(); + cy.get('ul.umb-card-grid [title="Textstring"]').closest("li").click(); // Save property cy.get('.btn-success').last().click(); diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/mediaTypes.ts b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/mediaTypes.ts index 4064c1f41e87..385a70bd5b3b 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/mediaTypes.ts +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/mediaTypes.ts @@ -34,7 +34,7 @@ context('Media Types', () => { cy.get('#datatype-search').type('Textstring'); // Choose first item - cy.get('ul.umb-card-grid li [title="Textstring"]').closest("li").click(); + cy.get('ul.umb-card-grid [title="Textstring"]').closest("li").click(); // Save property cy.get('.btn-success').last().click(); diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/memberTypes.ts b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/memberTypes.ts index e84c29c0d8b1..4dcc80432e36 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/memberTypes.ts +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Settings/memberTypes.ts @@ -32,7 +32,7 @@ context('Member Types', () => { cy.get('#datatype-search').type('Textstring'); // Choose first item - cy.get('ul.umb-card-grid li [title="Textstring"]').closest("li").click(); + cy.get('ul.umb-card-grid [title="Textstring"]').closest("li").click(); // Save property cy.get('.btn-success').last().click(); diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Tour/backofficeTour.ts b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Tours/backofficeTour.ts similarity index 100% rename from src/Umbraco.Tests.AcceptanceTest/cypress/integration/Tour/backofficeTour.ts rename to src/Umbraco.Tests.AcceptanceTest/cypress/integration/Tours/backofficeTour.ts diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.js b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.js index afef0e7701f7..ce2e366f2c66 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.js +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/integration/Users/userGroups.js @@ -19,7 +19,7 @@ context('User Groups', () => { // Assign sections cy.get('.umb-box:nth-child(1) .umb-property:nth-child(1) localize').click(); - cy.get('.umb-tree-item span').click({multiple:true}); + cy.get('.umb-tree-item__inner').click({multiple:true, timeout: 10000}); cy.get('.btn-success').last().click(); // Save diff --git a/src/Umbraco.Tests.AcceptanceTest/cypress/plugins/index.js b/src/Umbraco.Tests.AcceptanceTest/cypress/plugins/index.js index 59283feec5c2..51b79a1fef46 100644 --- a/src/Umbraco.Tests.AcceptanceTest/cypress/plugins/index.js +++ b/src/Umbraco.Tests.AcceptanceTest/cypress/plugins/index.js @@ -11,6 +11,7 @@ // This function is called when a project is opened or re-opened (e.g. due to // the project's config changing) +const del = require('del') /** * @type {Cypress.PluginConfig} @@ -24,5 +25,13 @@ module.exports = (on, config) => { config.baseUrl = baseUrl; } + on('after:spec', (spec, results) => { + if(results.stats.failures === 0 && results.video) { + // `del()` returns a promise, so it's important to return it to ensure + // deleting the video is finished before moving + return del(results.video) + } + }) + return config; } diff --git a/src/Umbraco.Tests.AcceptanceTest/package.json b/src/Umbraco.Tests.AcceptanceTest/package.json index fd401c72c0cd..3b9b2864e1c9 100644 --- a/src/Umbraco.Tests.AcceptanceTest/package.json +++ b/src/Umbraco.Tests.AcceptanceTest/package.json @@ -9,11 +9,11 @@ }, "devDependencies": { "cross-env": "^7.0.2", - "cypress": "8.4.1", + "cypress": "^8.7.0", "del": "^6.0.0", "ncp": "^2.0.0", "prompt": "^1.2.0", - "umbraco-cypress-testhelpers": "^1.0.0-beta-58" + "umbraco-cypress-testhelpers": "^1.0.0-beta-60" }, "dependencies": { "typescript": "^3.9.2"