TestCafe t.eval so với ClientFunction
Sự khác biệt giữa hàm TestCafes t.eval () và ClientFunctions là gì?
Tôi đã sử dụng TestCafe một thời gian và không tình cờ gặp hàm eval cho đến bây giờ.
Tôi tò mò, nhưng tôi cũng có một trường hợp sử dụng cụ thể, đây không phải là chủ đề của câu hỏi này, nhưng có thể giúp tôi hiểu sự khác biệt giữa cả hai. Tôi muốn thực hiện các tác vụ thao tác trang đơn giản như ẩn các phần tử khỏi mã thử nghiệm của mình. Tài liệu nói rõ ràng rằng ClientFunction không nên được sử dụng cho việc này: "Không sửa đổi trang web được thử nghiệm trong các chức năng của ứng dụng khách. Thay vào đó, hãy sử dụng các hành động thử nghiệm để tương tác với trang." Hàm eval có phù hợp cho việc này không?
Trả lời
Về bản chất, chúng giống nhau. Sự khác biệt là ClientFunctiontạo ra một thể hiện có thể được lưu vào một biến và sau đó được sử dụng lại nhiều lần, trong khi t.evalhoạt động mà không cần lưu. Ngoài ra, t.evalđược thực thi ngay lập tức, trong khi ClientFunctionthì không - nó tạo ra một thể hiện mà bạn cần gọi một cách rõ ràng để chạy nó.