Tôi rất mới trong thử nghiệm hoặc kiểm tra tự động loại điều. Bây giờ gần đây tôi đã được giao cho một dự án để tự động hóa kiểm tra giao diện người dùng của một ứng dụng WPF. Sau khi thực hiện một chút tìm kiếm trên MSDN và những người khác, tôi hơi bối rối về việc liệu tôi có nên sử dụng Thư viện Tự động hóa Giao diện Người dùng của Microsoft hoặc tính năng Thử nghiệm Giao diện Người dùng Mã hóa mới của VS 2010. Tôi không nhận được bức tranh rõ ràng trong đó kịch bản, cái nào có lợi thế hơn cái kia và cái nào phù hợp với tôi (một lần nữa tôi có một CAD như ứng dụng WPF bỏ lỡ rất nhiều AutomationIds và tôi phải tự động kiểm tra ui của nó). HÃY GIÚP TÔI !!!Thư viện Tự động hóa Giao diện người dùng của Microsoft Vs Kiểm tra giao diện người dùng được mã hóa
Thư viện Tự động hóa Giao diện người dùng của Microsoft Vs Kiểm tra giao diện người dùng được mã hóa
Trả lời
Về cơ bản Microsoft UIA là thư viện accesibility mới trong .Net 4.0. Các ứng dụng và điều khiển WPF có hỗ trợ tích hợp cho UIA thông qua lớp AutomationPeer.
Kiểm tra giao diện người dùng được mã hóa là Công cụ tự động ghi & sử dụng Thư viện Microsoft UIA bên dưới. Vì là một công cụ so với viết mã trong C#, nó cải thiện năng suất QA để ghi lại nhiều trường hợp thử nghiệm hơn.
Đối với các ứng dụng có hỗ trợ tự động được lên kế hoạch, Coded-Ui phải đủ. Nếu các AutomationID bị thiếu, hãy đảm bảo các điều khiển có một số thuộc tính duy nhất như Tên. Sử dụng UIVerify hoặc Inspect để kiểm tra điều này.
Nếu KHÔNG có thuộc tính duy nhất là avialble, có các kỹ thuật được đề cập dưới đây bạn có thể sử dụng kết hợp với Coded-UI.
Từ một sự kiện Khi ứng dụng của bạn nhận được một sự kiện UI Tự động hóa, các đối tượng nguồn truyền cho xử lý sự kiện của bạn là một AutomationElement. Ví dụ, nếu bạn đã đăng ký các sự kiện tập trung thay đổi, nguồn được chuyển đến AutomationFocusChangedEventHandler của bạn là phần tử nhận được tiêu điểm. Để biết thêm thông tin, hãy xem Đăng ký sự kiện tự động hóa giao diện người dùng.
Từ một điểm: Nếu bạn có tọa độ màn hình (ví dụ: vị trí con trỏ), bạn có thể truy xuất AutomationElement bằng phương pháp tĩnh FromPoint.
Từ cửa sổ Xử lý: Để truy xuất AutomationElement từ HWND, hãy sử dụng phương pháp FromHandle tĩnh.
Từ điều khiển được tập trung: Bạn có thể truy xuất AutomationElement đại diện cho điều khiển lấy nét từ thuộc tính FocusedElement tĩnh.
Nếu bạn có thể tận dụng và sử dụng Coded UI Test thì hãy đi tuyến đường đó. Đảm bảo xác minh rằng số configuration is supported đã cho của bạn.
Thư viện tự động hóa giao diện người dùng giải quyết mọi thứ trong mã phía sau. Điều này sau đó buộc bạn phải sử dụng một công cụ như UISpy để truy cập vào các điều khiển nội bộ để bạn có thể xây dựng thử nghiệm của bạn.
Kiểm tra giao diện người dùng mã hóa mặt khác vẫn có mã phía sau tuy nhiên nó cho phép ghi lại các bước thông qua ứng dụng đã cho mà bạn đang thử nghiệm, điều này sẽ làm tăng số lượng kiểm tra bạn có thể tạo.
Để bổ sung cho các câu trả lời ở trên, hãy xem CUITE giúp hoàn toàn một chút và có thể là cách tiếp cận phù hợp với bạn.
Tôi bắt đầu 'bán-riêng-' 'nửa khung' 'bằng cách sử dụng thư viện CodedUITest và đưa ra một mô hình để tách chi tiết tự động hóa khỏi mã (C#). Về cơ bản, tôi đang tạo một trình điều khiển đọc những gì cần được thực hiện từ bảng tính trong đó mỗi dòng trong đó là một bước kiểm tra (hoặc một con trỏ đến một kịch bản trong một trang tính khác). Hiện tại, không đầy đủ, nhưng đầy hứa hẹn, tôi có nó làm việc chống lại một ứng dụng WPF với một phần thành công. Một trong những vấn đề chính là các nhà phát triển bị bỏ quên để xác định các điều khiển duy nhất và nhất quán.
Bey
Thư viện tự động hóa UI là thư viện cấp thấp. Thông thường, bạn không muốn viết các bài kiểm tra trực tiếp vì nó đòi hỏi một lượng khá lớn công việc.
Tôi khuyên bạn nên xem xét các thư viện cấp cao hơn. Bạn đã đề cập đến một trong số đó - Giao diện người dùng được mã hóa; một lựa chọn tốt khác là White từ TestStack. Cả hai đều phù hợp với các loại dự án khác nhau. Giao diện người dùng được mã hóa tốt khi bạn không muốn đầu tư nhiều nỗ lực vào bộ thử nghiệm của mình. Đồng thời, nó không quy mô nhiều vì vậy nếu bạn sẽ viết rất nhiều bài kiểm tra, bạn nên chọn White.
Ở đây tôi so sánh hai khung chi tiết hơn: Coded UI vs White