- vừa được xem lúc

[Playwright Interview question #29]: Cách tăng test timeout trong Playwright?

0 0 10

Người đăng: Playwright Việt Nam

Theo Viblo Asia

Câu hỏi phỏng vấn #29: How to increase test timeout in Playwright?

Trả lời mẫu:

1. Global Timeout Configuration:

// playwright.config.js
export default { timeout: 60000, // 60 seconds for all tests expect: { timeout: 10000 // 10 seconds for assertions }
};

2. Per Test Timeout:

test('slow test', async ({ page }) => { test.setTimeout(120000); // 2 minutes for this test await page.goto('/slow-page');
}); // Or use slow modifier
test.slow('very slow test', async ({ page }) => { // Automatically triples the timeout
});

3. Action Timeout:

// Specific action timeout
await page.click('#button', { timeout: 30000 }); // Navigation timeout
await page.goto('/', { timeout: 60000 }); // Wait timeout
await page.waitForSelector('.element', { timeout: 20000 });

4. Project-Level Timeout:

// playwright.config.js
projects: [ { name: 'slow-tests', timeout: 180000, // 3 minutes }, { name: 'fast-tests', timeout: 30000, // 30 seconds }
]

5. Hook Timeouts:

test.beforeEach(async ({ page }) => { test.setTimeout(30000); // For this hook await page.goto('/');
});

6. No Timeout:

// Disable timeout (use carefully!)
test.setTimeout(0); // For specific action
await page.click('#button', { timeout: 0 });

7. Different Timeout Types:

export default { // Test timeout timeout: 30000, // Global setup timeout globalTimeout: 600000, // Expect assertion timeout expect: { timeout: 5000 }, // Action timeout use: { actionTimeout: 10000, navigationTimeout: 30000 }
};

💡 Tips:

  • Increase timeout cho slow APIs/pages
  • Use test.slow() instead of hardcoding
  • Set different timeouts cho different environments
  • Monitor tests requiring high timeouts - có thể cần optimization

Lời Kết

Playwright đang trở thành một trong những automation frameworks phổ biến nhất cho web testing. Thông qua series này, hy vọng bạn sẽ:

  • Nắm vững kiến thức từ cơ bản đến nâng cao
  • Tự tin trong các buổi phỏng vấn
  • Áp dụng hiệu quả vào dự án thực tế
  • Trở thành một phần của cộng đồng Playwright Việt Nam năng động

📚 Bắt đầu hành trình của bạn với: Bài 1: Playwright vs Selenium

💬 Có câu hỏi? Tham gia group Facebook của chúng mình!

Theo dõi series để không bỏ lỡ bài viết mới!

Bình luận

Bài viết tương tự

- vừa được xem lúc

Sử dụng Playwright để crawl dữ liệu - Phần 1

Nhân dịp đầu xuân, chúc anh chị em Viblo dồi dào sức khỏe, mã đáo thành công ạ ^^. Xin chào mọi người, hôm nay mình xin chia sẻ cách sử dụng Playwright - 1 framework cho testing mới ra lò cách đây.

0 0 51

- vừa được xem lúc

End-to-End Testing Renec Chain - Tương tác ví Demon - Playwright

In the fast-paced world of software development, ensuring the reliability and robustness of your blockchain-based applications is crucial. One way to achieve this is through end-to-end (E2E) testing.

0 0 41

- vừa được xem lúc

Automation test with Playwright

Chào các bạn. đây là tập các bài viết làm thế nào viết automaton test with playwright.

0 0 38

- vừa được xem lúc

Bài 2. Cài đặt Playwright

Hi, chào các bạn hôm nay mình sẽ hướng dẫn cài đặt playwright. tạo project automation test cho playwright nhé.

0 0 29

- vừa được xem lúc

Bài 3. First test case với Playwright

Hi chào các bạn. hôm nay mình sẽ tiếp viết phần tiếp theo của chuỗi bài cho viết automation test with playwright, bài hôm nay sẽ giới thiệu ngắn về test case đầu tiên.

0 0 31

- vừa được xem lúc

Bài 4. Cấu trúc của project playwright

Hi Chào các bạn. hôm nay mình sẽ giới thiệu về cách xây dựng project automation test sử dụng playwright.

0 0 29