Test  Viewpoint
Menu
  • Home
  • Basic Knowledge
  • Manual Testing
  • Test Automation
  • Blog
  • About Me
  • Contact
Menu
Timeout Trong Playwright

Timeout Trong Playwright

Posted on June 17, 2025April 20, 2025 by Test Viewpoint

Timeout Là Gì?

Ở bài viết trước, chúng ta đã cùng nhau tìm hiểu về auto-waiting của playwright, cách nó chờ các thành phần khả dụng, có thể click, v.v.. để tương tác với chúng. Hôm nay, chúng ta sẽ nói về timeout, tức là thời gian playwright sẽ chờ trong các điều kiện nhất định.

Timeout trong Playwright được thiết kế phụ thuộc vào 3 lớp.

Global Timeout

Lớp ngoài cùng là Global timeout, là giới hạn thời gian của toàn bộ lần chạy thử nghiệm. Điều đó có nghĩa là nếu bạn có nhiều bài kiểm tra, giả sử là mười bài kiểm tra trong bộ kiểm tra của mình, thời gian chờ toàn cục là tổng thời gian thực hiện toàn bộ lần chạy thử nghiệm.

Ví dụ, nếu thời gian chờ toàn cục được đặt là hai phút và nếu toàn bộ bộ kiểm tra của bạn chạy lâu hơn hai phút, thì theo mặc định, bài kiểm tra sẽ bị chấm dứt dựa trên thời gian chờ.

Global timeout không được định cấu hình và nếu bạn muốn định cấu hình, bạn hoàn toàn có thể thực hiện việc này.

Bạn có thể set global timeout trong file playwright.config.ts như sau:

export default defineConfig({
  globalTimeout: 3_600_000,
});

Test Timeout

Lớp tiếp theo là test timeout, là thời gian chờ thử nghiệm, nằm trong thời gian chờ thử nghiệm toàn cục. Test timeout là giới hạn thời gian cho một lần thực hiện bài kiểm tra duy nhất. Giá trị mặc định cho thời gian chờ là 30 giây hoặc 30.000 mili giây và bạn có thể định cấu hình giá trị này cho phù hợp.

// Set in config
{ use: { actionTimeout: 10_000 } }

// Override in test
locator.click({ timeout: 10_000 })

Action Timeout, Navigation Timeout, Expected Timeout

Bên trong test timeout có ba thời gian chờ lồng nhau khác là action timeout, navigation timeout và expected timeout.

Action Timeout

Ví dụ, nếu chúng ta lấy lệnh nhấp, lệnh nhấp sẽ đợi phần tử khả dụng, hiển thị, có thể nhấp, v.v. cho đến thời điểm thời gian chờ kiểm tra vì thời gian chờ hành động theo mặc định không được định cấu hình.

Thời gian chờ hành động không thể dài hơn thời gian chờ kiểm tra và thời gian chờ kiểm tra không thể dài hơn thời gian chờ toàn cục. Ví dụ, nếu bạn đặt thời gian chờ hành động là 40 giây nhưng thời gian chờ kiểm tra được định cấu hình là 30 giây, thời gian chờ hành động thực tế sẽ là 30 giây vì nó sẽ bị giới hạn bởi lớp thời gian chờ kiểm tra và theo mặc định thời gian chờ hành động cũng không được định cấu hình.

// Set in config
{ use: { actionTimeout: 10_000 } }

// Override in test
locator.click({ timeout: 10_000 })

Navigation Timeout

Navigation Timeout là thời gian mà nhà viết kịch sẽ điều hướng đến trang nhất định và tải trang này. Thời gian chờ này cũng không được định cấu hình theo mặc định và bị giới hạn bởi thời gian chờ kiểm tra.

// Set in config
{ use: { navigationTimeout: 30_000 } }

// Override in test
page.goto('/', { timeout: 30_000 })

Expected Timeout

Expected Timeout là giới hạn thời gian cho các khẳng định vị trí mong đợi. Giá trị mặc định là năm giây và chỉ các khẳng định vị trí mới có thời gian chờ vì khẳng định chung hoặc khẳng định chung kh1ông có thời gian chờ và chúng không chờ đợi bất cứ điều gì.

// Set in config
  expect: {
    timeout: 10_000,
  },

// Override in test
  await expect(locator).toHaveText('hello', { timeout: 10_000 });

Mình xin kết thúc bài viết hôm nay tại đây. Hẹn gặp lại các bạn trong bài viết tiếp theo.

Happy testing!

Related

Category: Test Automation

Archives

  • June 2025
  • May 2025
  • April 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023

Categories

  • Basic Knowledge
  • Manual Testing
  • Test Automation

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

Newsletter

Nhận thông báo về bài viết mới nhất qua email

Popular Posts

About Me

Xin chào các bạn. Mình là một kỹ sư kiểm thử phần mềm. Ngành công nghệ thông tin nói chung và công việc kiểm thử phần mềm nói riêng luôn luôn đổi mới đòi hỏi phải học hỏi mỗi ngày. Với mình chia sẻ những gì học được là cách tốt nhất để mình học những điều mới. Hãy cùng mình tìm hiểu thông qua blog này nhé!

  • Facebook
  • Instagram
  • YouTube

Recent Posts

Newsletter

Nhận thông báo về bài viết mới nhất qua email

©2025 Test Viewpoint