chore: refactor few flaky tests (#5958)

This commit is contained in:
Bijin A B
2025-11-01 08:05:53 +05:30
committed by GitHub
parent 68cbb7d9df
commit c85a1ec1a5
6 changed files with 42 additions and 59 deletions

View File

@@ -16,7 +16,6 @@ test.describe('Create GraphQL Requests', () => {
await locators.modal.button('Delete').click();
// Clean up Folder GraphQL Request
await locators.sidebar.folder('folder1').click();
await locators.sidebar.request('Folder GraphQL Request').click({ button: 'right' });
await locators.dropdown.item('Delete').click();
await locators.modal.button('Delete').click();
@@ -73,15 +72,11 @@ test.describe('Create GraphQL Requests', () => {
await test.step('Verify GraphQL request was created within folder1', async () => {
// Open collection and verify request is not in collection root
await locators.sidebar.collection('create-requests').click();
const requestItem = locators.sidebar.request('Folder GraphQL Request');
await expect(requestItem).not.toBeVisible();
// Open folder1 and verify request is present in folder1
await locators.sidebar.folder('folder1').click();
await expect(requestItem).toBeVisible();
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder GraphQL Request');
await expect(folderRequestItem).toBeVisible();
// Open request and verify it is the active request
await requestItem.click();
await folderRequestItem.click();
await expect(locators.tabs.activeRequestTab()).toContainText('Folder GraphQL Request');
});
});

View File

@@ -18,7 +18,6 @@ test.describe('Create gRPC Requests', () => {
await locators.modal.button('Delete').click();
// Clean up Folder gRPC Request
await locators.sidebar.folder('folder1').click();
await locators.sidebar.request('Folder gRPC Request').click({ button: 'right' });
await locators.dropdown.item('Delete').click();
await locators.modal.button('Delete').click();
@@ -58,7 +57,6 @@ test.describe('Create gRPC Requests', () => {
await locators.sidebar.folder('folder1').click();
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Root gRPC Request');
await expect(folderRequestItem).not.toBeVisible();
await locators.folder.chevron('folder1').click(); // close folder1
});
await test.step('Create gRPC request via folder1 three dots menu', async () => {
@@ -76,15 +74,11 @@ test.describe('Create gRPC Requests', () => {
await test.step('Verify gRPC request was created within folder1', async () => {
// Open collection and verify request is not in collection root
await locators.sidebar.collection('create-requests').click();
const requestItem = locators.sidebar.request('Folder gRPC Request');
await expect(requestItem).not.toBeVisible();
// Open folder1 and verify request is present in folder1
await locators.sidebar.folder('folder1').click();
await expect(requestItem).toBeVisible();
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder gRPC Request');
await expect(folderRequestItem).toBeVisible();
// Open request and verify it is the active request
await requestItem.click();
await folderRequestItem.click();
await expect(locators.tabs.activeRequestTab()).toContainText('Folder gRPC Request');
});
});

View File

@@ -18,7 +18,6 @@ test.describe('Create HTTP Requests', () => {
await locators.modal.button('Delete').click();
// Clean up Folder HTTP Request
await locators.sidebar.folder('folder1').click();
await locators.sidebar.request('Folder HTTP Request').click({ button: 'right' });
await locators.dropdown.item('Delete').click();
await locators.modal.button('Delete').click();
@@ -73,15 +72,11 @@ test.describe('Create HTTP Requests', () => {
await test.step('Verify HTTP request was created within folder1', async () => {
// Open collection and verify request is not in collection root
await locators.sidebar.collection('create-requests').click();
const requestItem = locators.sidebar.request('Folder HTTP Request');
await expect(requestItem).not.toBeVisible();
// Open folder1 and verify request is present in folder1
await locators.sidebar.folder('folder1').click();
await expect(requestItem).toBeVisible();
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder HTTP Request');
await expect(folderRequestItem).toBeVisible();
// Open request and verify it is the active request
await requestItem.click();
await folderRequestItem.click();
await expect(locators.tabs.activeRequestTab()).toContainText('Folder HTTP Request');
});
});

View File

@@ -13,7 +13,6 @@ test.describe('Create WebSocket Requests', () => {
const locators = buildCommonLocators(page);
// Clean up Folder WebSocket Request
await locators.sidebar.folder('folder1').click();
await locators.sidebar.request('Folder WebSocket Request').click({ button: 'right' });
await locators.dropdown.item('Delete').click();
await locators.modal.button('Delete').click();
@@ -75,15 +74,11 @@ test.describe('Create WebSocket Requests', () => {
await test.step('Verify WebSocket request was created within folder1', async () => {
// Open collection and verify request is not in collection root
await locators.sidebar.collection('create-requests').click();
const requestItem = locators.sidebar.request('Folder WebSocket Request');
await expect(requestItem).not.toBeVisible();
// Open folder1 and verify request is present in folder1
await locators.sidebar.folder('folder1').click();
await expect(requestItem).toBeVisible();
const folderRequestItem = locators.sidebar.folderRequest('folder1', 'Folder WebSocket Request');
await expect(folderRequestItem).toBeVisible();
// Open request and verify it is the active request
await requestItem.click();
await folderRequestItem.click();
await expect(locators.tabs.activeRequestTab()).toContainText('Folder WebSocket Request');
});
});

View File

@@ -1,26 +1,29 @@
import { test, expect } from '../../playwright';
import { closeAllCollections, createCollection } from '../utils/page/actions';
test.describe('Large Response Crash/High Memory Usage Prevention', () => {
test.afterAll(async ({ page }) => {
// cleanup: close all collections
await closeAllCollections(page);
});
test('Show appropriate warning for responses over 10MB', async ({ page, createTmpDir }) => {
const collectionName = 'size-warning-test';
test.describe('Large Response Crash Prevention', () => {
test('should show appropriate warning for responses over 10MB', async ({ page, createTmpDir }) => {
// Create collection
await page.getByLabel('Create Collection').click();
await page.getByLabel('Name').fill('size-warning-test');
await page.getByLabel('Name').press('Tab');
await page.getByLabel('Location').fill(await createTmpDir('size-warning-test'));
await page.getByRole('button', { name: 'Create', exact: true }).click();
await page.getByText('size-warning-test').click();
await page.getByLabel('Safe Mode').check();
await page.getByRole('button', { name: 'Save' }).click();
await createCollection(page, collectionName, createTmpDir);
// Create request
await page.locator('#create-new-tab').getByRole('img').click();
await page.getByPlaceholder('Request Name').fill('size-check');
await page.locator('#new-request-url .CodeMirror').click();
await page.locator('textarea').fill('https://samples.json-format.com/employees/json/employees_50MB.json');
await page.getByRole('button', { name: 'Create' }).click();
const createRequestModal = page.locator('.bruno-modal-card').filter({ hasText: 'New Request' });
await createRequestModal.getByPlaceholder('Request Name').fill('size-check');
await createRequestModal.locator('#new-request-url .CodeMirror').click();
await createRequestModal.locator('textarea').fill('https://samples.json-format.com/employees/json/employees_50MB.json');
await createRequestModal.getByRole('button', { name: 'Create' }).click();
// Send request
const sendButton = page.locator('#send-request').getByRole('img').nth(2);
const sendButton = page.getByTestId('send-arrow-icon');
await sendButton.click();
// Verify warning appears
@@ -32,7 +35,5 @@ test.describe('Large Response Crash Prevention', () => {
// Verify action button
await expect(page.getByRole('button', { name: 'View' })).toBeVisible();
console.log('Large response warning displayed correctly');
});
});

View File

@@ -46,15 +46,18 @@ const openCollectionAndAcceptSandbox = async (page, collectionName: string, sand
};
const createCollection = async (page, collectionName: string, createDir: (tag?: string | undefined) => Promise<string>) => {
await page.locator('.dropdown-icon').click();
await page.locator('.dropdown-item').filter({ hasText: 'Create Collection' }).click();
await page.getByLabel('Name').fill(collectionName);
await page.getByLabel('Location').fill(await createDir(collectionName));
await page.getByRole('button', { name: 'Create', exact: true }).click();
await expect(page.locator('#sidebar-collection-name').filter({ hasText: collectionName })).toBeVisible();
await page.locator('#sidebar-collection-name').filter({ hasText: collectionName }).click();
await page.getByLabel('Safe Mode').check();
await page.getByRole('button', { name: 'Save' }).click();
test.step(`Create collection "${collectionName}" and accept sandbox "safe" mode`, async () => {
await page.locator('.collection-dropdown .dropdown-icon').click();
await page.locator('.tippy-box .dropdown-item').filter({ hasText: 'Create Collection' }).click();
const createCollectionModal = page.locator('.bruno-modal-card').filter({ hasText: 'Create Collection' });
await createCollectionModal.getByLabel('Name').fill(collectionName);
await createCollectionModal.getByLabel('Location').fill(await createDir(collectionName));
await createCollectionModal.getByRole('button', { name: 'Create', exact: true }).click();
await openCollectionAndAcceptSandbox(page, collectionName, 'safe');
});
};
export { closeAllCollections, openCollectionAndAcceptSandbox, createCollection };