Enable Cypress and Playwright retries (#29056)

* Enable Cypress and Playwright retries
* Improve E2E commit status messages
* Demote unstable testcases, increase task timeout
Этот коммит содержится в:
Mario Vitale
2024-11-05 11:46:06 +01:00
коммит произвёл GitHub
родитель 4b9eb73bd2
Коммит 2975e529d5
12 изменённых файлов: 82 добавлений и 81 удалений

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

@@ -12,6 +12,7 @@ export default defineConfig({
globalSetup: require.resolve('./global_setup'),
forbidOnly: testConfig.isCI,
outputDir: './results/tests',
retries: testConfig.isCI ? 2 : 0,
testDir: 'tests',
timeout: duration.one_min,
workers: testConfig.workers,

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

@@ -3,7 +3,7 @@
import {expect, test} from '@e2e-support/test_fixture';
test('Base channel accessibility', async ({pw, pages, axe}) => {
test.fixme('Base channel accessibility', async ({pw, pages, axe}) => {
// # Create and sign in a new user
const {user} = await pw.initSetup();

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

@@ -3,95 +3,95 @@
import {expect, test} from '@e2e-support/test_fixture';
test('MM-T5445 Should search, select and post correct Gif when Gif picker is opened from center textbox', async ({
pw,
pages,
}) => {
const {user} = await pw.initSetup();
test.fixme(
'MM-T5445 Should search, select and post correct Gif when Gif picker is opened from center textbox',
async ({pw, pages}) => {
const {user} = await pw.initSetup();
// # Log in as a user in new browser context
const {page} = await pw.testBrowser.login(user);
// # Log in as a user in new browser context
const {page} = await pw.testBrowser.login(user);
// # Visit default channel page
const channelPage = new pages.ChannelsPage(page);
await channelPage.goto();
await channelPage.toBeVisible();
// # Visit default channel page
const channelPage = new pages.ChannelsPage(page);
await channelPage.goto();
await channelPage.toBeVisible();
// # Open emoji/gif picker
await channelPage.centerView.postCreate.openEmojiPicker();
await channelPage.emojiGifPickerPopup.toBeVisible();
// # Open emoji/gif picker
await channelPage.centerView.postCreate.openEmojiPicker();
await channelPage.emojiGifPickerPopup.toBeVisible();
// # Open gif tab
await channelPage.emojiGifPickerPopup.openGifTab();
// # Open gif tab
await channelPage.emojiGifPickerPopup.openGifTab();
// # Search for gif
await channelPage.emojiGifPickerPopup.searchGif('hello');
// # Search for gif
await channelPage.emojiGifPickerPopup.searchGif('hello');
// # Select the first gif
const {img: firstSearchGifResult, alt: altOfFirstSearchGifResult} =
await channelPage.emojiGifPickerPopup.getNthGif(0);
await firstSearchGifResult.click();
// # Select the first gif
const {img: firstSearchGifResult, alt: altOfFirstSearchGifResult} =
await channelPage.emojiGifPickerPopup.getNthGif(0);
await firstSearchGifResult.click();
// # Send the selected gif as a message
await channelPage.centerView.postCreate.sendMessage();
// # Send the selected gif as a message
await channelPage.centerView.postCreate.sendMessage();
// * Verify that last message has the gif
const lastPost = await channelPage.centerView.getLastPost();
await lastPost.toBeVisible();
await expect(lastPost.body.getByLabel('file thumbnail')).toHaveAttribute('alt', altOfFirstSearchGifResult);
});
// * Verify that last message has the gif
const lastPost = await channelPage.centerView.getLastPost();
await lastPost.toBeVisible();
await expect(lastPost.body.getByLabel('file thumbnail')).toHaveAttribute('alt', altOfFirstSearchGifResult);
},
);
test('MM-T5446 Should search, select and post correct Gif when Gif picker is opened from RHS textbox', async ({
pw,
pages,
}) => {
const {user} = await pw.initSetup();
test.fixme(
'MM-T5446 Should search, select and post correct Gif when Gif picker is opened from RHS textbox',
async ({pw, pages}) => {
const {user} = await pw.initSetup();
// # Log in as a user in new browser context
const {page} = await pw.testBrowser.login(user);
// # Log in as a user in new browser context
const {page} = await pw.testBrowser.login(user);
// # Visit default channel page
const channelPage = new pages.ChannelsPage(page);
await channelPage.goto();
await channelPage.toBeVisible();
// # Visit default channel page
const channelPage = new pages.ChannelsPage(page);
await channelPage.goto();
await channelPage.toBeVisible();
// # Send a message
await channelPage.centerView.postCreate.postMessage('Message to open RHS');
// # Send a message
await channelPage.centerView.postCreate.postMessage('Message to open RHS');
// # Open the last post sent in RHS
const lastPost = await channelPage.centerView.getLastPost();
await lastPost.hover();
await lastPost.postMenu.toBeVisible();
await lastPost.postMenu.reply();
// # Open the last post sent in RHS
const lastPost = await channelPage.centerView.getLastPost();
await lastPost.hover();
await lastPost.postMenu.toBeVisible();
await lastPost.postMenu.reply();
const sidebarRight = channelPage.sidebarRight;
await sidebarRight.toBeVisible();
const sidebarRight = channelPage.sidebarRight;
await sidebarRight.toBeVisible();
// # Send a message in the thread
await sidebarRight.postCreate.toBeVisible();
await sidebarRight.postCreate.writeMessage('Replying to a thread');
await sidebarRight.postCreate.sendMessage();
// # Send a message in the thread
await sidebarRight.postCreate.toBeVisible();
await sidebarRight.postCreate.writeMessage('Replying to a thread');
await sidebarRight.postCreate.sendMessage();
// # Open emoji/gif picker
await sidebarRight.postCreate.openEmojiPicker();
await channelPage.emojiGifPickerPopup.toBeVisible();
// # Open emoji/gif picker
await sidebarRight.postCreate.openEmojiPicker();
await channelPage.emojiGifPickerPopup.toBeVisible();
// # Open gif tab
await channelPage.emojiGifPickerPopup.openGifTab();
// # Open gif tab
await channelPage.emojiGifPickerPopup.openGifTab();
// # Search for gif
await channelPage.emojiGifPickerPopup.searchGif('hello');
// # Search for gif
await channelPage.emojiGifPickerPopup.searchGif('hello');
// # Select the first gif
const {img: firstSearchGifResult, alt: altOfFirstSearchGifResult} =
await channelPage.emojiGifPickerPopup.getNthGif(0);
await firstSearchGifResult.click();
// # Select the first gif
const {img: firstSearchGifResult, alt: altOfFirstSearchGifResult} =
await channelPage.emojiGifPickerPopup.getNthGif(0);
await firstSearchGifResult.click();
// # Send the selected gif as a message in the thread
await sidebarRight.postCreate.sendMessage();
// # Send the selected gif as a message in the thread
await sidebarRight.postCreate.sendMessage();
// * Verify that last message has the gif
const lastPostInRHS = await sidebarRight.getLastPost();
await lastPostInRHS.toBeVisible();
await expect(lastPostInRHS.body.getByLabel('file thumbnail')).toHaveAttribute('alt', altOfFirstSearchGifResult);
});
// * Verify that last message has the gif
const lastPostInRHS = await sidebarRight.getLastPost();
await lastPostInRHS.toBeVisible();
await expect(lastPostInRHS.body.getByLabel('file thumbnail')).toHaveAttribute('alt', altOfFirstSearchGifResult);
},
);

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

@@ -3,7 +3,7 @@
import {expect, test} from '@e2e-support/test_fixture';
test('Intro to channel as regular user', async ({pw, pages, browserName, viewport}, testInfo) => {
test.fixme('Intro to channel as regular user', async ({pw, pages, browserName, viewport}, testInfo) => {
// Create and sign in a new user
const {user} = await pw.initSetup();