CLD-7841 Optimize E2E testing costs (#27883)

* Utilize free runners for E2E tests, report back to PR on run completion
* Increase test stability on smaller instances
* Merge worker reports
* merge start+prepare steps
* upgrade keycloak
* increase test timeouts
* Add video recording to report artifacts

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>

---------

Co-authored-by: Saturnino Abril <5334504+saturninoabril@users.noreply.github.com>
Этот коммит содержится в:
Mario Vitale
2024-08-14 21:39:08 +02:00
коммит произвёл GitHub
родитель 5f19d8513b
Коммит 948f8941f0
37 изменённых файлов: 261 добавлений и 151 удалений

Просмотреть файл

@@ -11,6 +11,7 @@
// Group: @channels @not_cloud @system_console
import {fileSizeToString} from '../../../utils';
import * as TIMEOUTS from '../../../fixtures/timeouts';
describe('Unsaved Changes', () => {
let defaultMaxFileSize;
@@ -26,7 +27,7 @@ describe('Unsaved Changes', () => {
it('MM-T955 Warning leaving changed page without saving: Leave page, discard changes', () => {
// # Make a change on any page.
cy.visit('/admin_console/environment/file_storage');
cy.findByTestId('FileSettings.MaxFileSizenumber').clear().type('150');
cy.findByTestId('FileSettings.MaxFileSizenumber', {timeout: TIMEOUTS.FIVE_SEC}).clear().type('150');
// # Click a navigation item in left nav.
cy.findByText('Database').click();
@@ -38,7 +39,7 @@ describe('Unsaved Changes', () => {
// * Opens other page, changes discarded.
cy.url().should('include', '/environment/database');
cy.visit('/admin_console/environment/file_storage');
cy.findByTestId('FileSettings.MaxFileSizenumber').should('have.value', fileSizeToString(defaultMaxFileSize).replace('MB', ''));
cy.findByTestId('FileSettings.MaxFileSizenumber', {timeout: TIMEOUTS.FIVE_SEC}).should('have.value', fileSizeToString(defaultMaxFileSize).replace('MB', ''));
});
it('MM-T956 Warning leaving changed page without saving: Cancel leaving page', () => {
@@ -46,7 +47,7 @@ describe('Unsaved Changes', () => {
// # Make a change on any page.
cy.visit('/admin_console/environment/file_storage');
cy.findByTestId('FileSettings.MaxFileSizenumber').clear().type(draftValue);
cy.findByTestId('FileSettings.MaxFileSizenumber', {timeout: TIMEOUTS.FIVE_SEC}).clear().type(draftValue);
// # Click a navigation item in left nav.
cy.findByText('Database').click();
@@ -57,7 +58,7 @@ describe('Unsaved Changes', () => {
// * Stays on current page, changes kept.
cy.url().should('include', '/environment/file_storage');
cy.findByTestId('FileSettings.MaxFileSizenumber').should('have.value', draftValue);
cy.findByTestId('FileSettings.MaxFileSizenumber', {timeout: TIMEOUTS.FIVE_SEC}).should('have.value', draftValue);
});
});

Просмотреть файл

@@ -68,6 +68,7 @@ describe('System Console > User Management > Users', () => {
it('MM-T932 Users - Change a user\'s password', () => {
// # Search for the user.
cy.findByPlaceholderText('Search users').type(testUser.email).wait(TIMEOUTS.HALF_SEC);
cy.get('#systemUsersTable-cell-0_emailColumn').should('contain', testUser.email);
// # Open the actions menu.
cy.get('#systemUsersTable-cell-0_actionsColumn').click().wait(TIMEOUTS.HALF_SEC);

Просмотреть файл

@@ -156,6 +156,7 @@ describe('User Management', () => {
// # Search for the user.
cy.get('#input_searchTerm').clear().type(user.email, {delay: TIMEOUTS.ONE_HUNDRED_MILLIS}).wait(TIMEOUTS.HALF_SEC);
cy.get('#systemUsersTable-cell-0_emailColumn').should('contain', user.email);
cy.get('#actionMenuButton-systemUsersTable-0').click().wait(TIMEOUTS.HALF_SEC);

Просмотреть файл

@@ -185,6 +185,7 @@ describe('User Management', () => {
// # Search for the user.
cy.get('#input_searchTerm').clear().type(gitlabUser.email).wait(TIMEOUTS.HALF_SEC);
cy.get('#systemUsersTable-cell-0_emailColumn').should('contain', gitlabUser.email);
// # Open actions menu.
cy.get('#systemUsersTable-cell-0_actionsColumn').click().wait(TIMEOUTS.HALF_SEC);
@@ -255,6 +256,7 @@ describe('User Management', () => {
// # Search for the user.
cy.get('#input_searchTerm').clear().type(oldEmail).wait(TIMEOUTS.HALF_SEC);
cy.get('#systemUsersTable-cell-0_emailColumn').should('contain', oldEmail);
cy.get('#systemUsersTable-cell-0_actionsColumn').click().wait(TIMEOUTS.HALF_SEC);
cy.findByText('Update email').click().wait(TIMEOUTS.HALF_SEC);