2013-01-03 32 views
5

Trong ASP.NET WebForms, tôi đã sử dụng Selenium để ghi lại và chạy thử nghiệm web và UI của tôi trong một số dự án.Làm cách nào để kiểm tra web cho chế độ xem ASP.NET MVC?

Tôi biết chúng tôi có thể kiểm tra đơn vị Bộ điều khiển và Mô hình trong ASP.NET MVC rất dễ dàng.

Điều gì về Chế độ xem?

Bạn cũng có thể kiểm tra Chế độ xem không? Nếu không làm thế nào để chắc chắn rằng các khung nhìn, được kết xuất bởi các hành động điều khiển, có chứa các logic và hành vi dự kiến?

Tôi đoán các Công cụ kiểm tra web giống nhau được sử dụng trong WebForms, chẳng hạn như WatiN và Selenium, cũng có thể được sử dụng ở đây, không chắc chắn?

Nếu có, điểm khác biệt giữa WebTesting trong WebForms và WebTesting trong MVC là gì?

+1

Điều đó không đúng, bạn có thể cần phải kiểm tra Chế độ xem. Cũng có thể có logic (ví dụ: javascripts, kiểm soát cuộc gọi hành động, điều hướng, v.v.) và bạn có thể muốn đảm bảo chúng hoạt động như bạn mong đợi. –

Trả lời

8

Điều gì về Chế độ xem?

Erm, Selenium và WatiN.

Thực sự, điều gì khiến bạn nghĩ rằng chế độ xem ASP.NET MVC khác với ASP.NET WebForms cổ điển so với các thử nghiệm tích hợp có liên quan? Tôi có nghĩa là tất cả họ đều nhổ HTML vào cuối ngày. Đó là những gì các trình duyệt và những thứ như Selenium hiểu. Ai nhổ HTML này không quan trọng lắm. Những gì bạn quan tâm trong thử nghiệm tích hợp là khi người dùng lambda nhấp vào nút alpha sau khi nhập beta trong trường văn bản gamma, hi này có được Welcome User Phi trên trang HTML kết quả, đúng không? Bạn thực sự không quan tâm đến những thứ như ASP.NET MVC hoặc thậm chí ít hơn về những thứ như ASP.NET MVC Views.

Bằng cách này, bạn có thể sử dụng Selenium và WatiN bằng PHP. Hoặc với Java Servlets nếu bạn là fan của họ. Không thực sự quan trọng công nghệ phía máy chủ bạn đang sử dụng. Điều quan trọng trong thử nghiệm tích hợp là các kịch bản mà bạn đã xác định trước đó.

Nếu có, điểm khác biệt giữa WebTesting trong WebForms và WebTesting trong MVC là gì?

Không có.

1

Tôi nghĩ có sự khác biệt giữa ASP.NET MVC và WebForms khi nói đến kiểm thử tích hợp trình duyệt, trong đó các khía cạnh phía máy chủ khác nhau của các khuôn khổ này dẫn đến các phương pháp thử nghiệm khác nhau.

Tạo khung làm việc với điều này, chẳng hạn như Seleno. Nó sử dụng Selenium dưới nắp ca-pô nhưng tóm tắt tất cả tương tác trình duyệt vào các đối tượng C# Page, sau đó bạn có thể sử dụng rất thành thạo trong các thử nghiệm C#.

Có rất nhiều tiện ích mở rộng và quy ước hỗ trợ nhiều thao tác tự động hóa trình duyệt phổ biến, chẳng hạn như nhấp vào nút hoặc trích xuất dữ liệu từ bảng.

Nhưng tại sao tôi lại đưa câu trả lời này làm câu trả lời cho câu hỏi này? Seleno đặc biệt tiện dụng cho .NET MVC vì các đối tượng Page có thể là generic, được gõ vào ViewModel cho một View cụ thể (hoặc một phần View) tạo ra một liên kết mạnh khi viết một đối tượng Page tương ứng cho View đó.

Đây là khía cạnh ViewModel của MVC, mở ra kiểu tiếp cận này; Tôi nghĩ sẽ phức tạp hơn nếu làm điều này với WebForms.

Các vấn đề liên quan