Nâng cao: low level timeouts
- Dưới đây là các low-level timouts, nghĩa là timeout cho các thao tác nhỏ nhặt hơn (VD: action, navigation, fixture)
Cài đặt timeout cho một assertion
import { test, expect } from '@playwright/test';
test('basic test', async ({ page }) => {
  await expect(page.getByRole('button')).toHaveText('Sign in', { timeout: 10000 });
});
Cài đặt timeout cho action và navigation
import { defineConfig } from '@playwright/test';
export default defineConfig({
  use: {
    actionTimeout: 10 * 1000,
    navigationTimeout: 30 * 1000,
  },
});
Cài đặt timeout cho từng action
import { test, expect } from '@playwright/test';
test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev', { timeout: 30000 });
  await page.getByText('Get Started').click({ timeout: 10000 });
});
Timeout cho fixture
import { test as base, expect } from '@playwright/test';
const test = base.extend<{ slowFixture: string }>({
  slowFixture: [async ({}, use) => {
    // ... perform a slow operation ...
    await use('hello');
  }, { timeout: 60000 }]
});
test('example test', async ({ slowFixture }) => {
  // ...
});
 
						
							
Trả lời