2013-06-21 104 views
8

Xin chào Tôi đang xem xét việc sử dụng Kiểm tra giao diện người dùng được mã hóa (CUIT) để kiểm tra một ứng dụng. Tôi đã thử tùy chọn ghi và điều này không đủ linh hoạt đối với tôi. Nếu bạn sử dụng nó trên một màn hình kích thước khác nhau nó phá vỡ.Mã hóa tay Mã hóa giao diện người dùng Thử nghiệm

Tôi biết bạn có thể viết mã các bài kiểm tra nhưng tôi không thể tìm thấy bất kỳ ví dụ hay về cách viết bài kiểm tra cơ bản. Có những ví dụ ở đây sử dụng CUITe nhưng các bài đăng này là từ năm 2011 và tôi không chắc chắn về mức độ liên quan của chúng với các nâng cấp mới đối với CUIT từ Microsoft.

Các kiểm tra này cần phải được tích hợp với môi trường xây dựng của tôi trong Visual Studio 2012 Ultimate, đó là lý do tại sao tôi không sử dụng Selenium.

Và Mã mẫu hoặc liên kết đến các hướng dẫn tốt sẽ được đánh giá, nhưng đặc biệt là tôi đang tìm kiếm một exampl về cách bắt đầu tay mã hóa CUITs tôi

+2

Bạn đã cố gắng làm việc với khung giao diện người dùng tự động trực tiếp? Đó là những gì các thử nghiệm giao diện người dùng được tạo ra. Tôi thích hướng dẫn này của nó: http://blog.functionalfun.net/2009/06/introduction-to-ui-automation-with.html – SlightlyCuban

+0

Tích hợp vào môi trường xây dựng của bạn như thế nào? – Arran

+0

chúng tôi đang tìm kiếm thêm nó vào cấu hình xây dựng giống như cách bạn sẽ tự động hoá các bài kiểm tra đơn vị của bạn. Tôi vẫn đang chờ quyền truy cập để có thể chỉnh sửa tệp cấu hình xây dựng nhưng hy vọng chúng sẽ không quá dài –

Trả lời

5

Dự án Luật Đầu mã UI thử nghiệm API trên CodePlex (http://codeduicodefirst.codeplex.com/) bao gồm bản trình diễn dự án mà bạn có thể tải xuống - ứng dụng và kiểm tra. Nó được thiết kế để xây dựng các bài kiểm tra CUIT mà không phụ thuộc vào bản ghi/phát lại.

Điều quan trọng nhất bạn cần nếu bạn định làm việc trên cơ sở mã chỉ là cách để tránh sự phụ thuộc vào bản đồ đối tượng được tạo tự động tạo bản ghi CUIT. Dự án Code-First sử dụng các lớp được ánh xạ tới các đối tượng trang riêng lẻ để làm việc xung quanh điều này - bạn cần mở rộng mã dự án để làm việc với các ứng dụng máy tính để bàn nếu tôi nhớ chính xác.

(Tôi không liên kết với dự án này theo bất kỳ cách nào - nó chỉ là tài nguyên mã hóa tay duy nhất khác với CUITe mà tôi đã tìm thấy và CUITe chưa được cập nhật trong một thời gian, lần cuối tôi thấy).

+1

Cập nhật lần cuối vào tháng 3 năm 2012 và đã được tải xuống 3 (!) lần ... – Jowen

0

Dưới đây là một đoạn video cho thấy làm thế nào để làm Mã đầu tiên thử nghiệm giao diện người dùng mã hóa:

Coded UI Tests-DeepDive-Episode3-HandCoding

+0

Video bạn đang đề cập đến ở dưới cùng , trong phần Video: http://go.microsoft.com/fwlink/?LinkID=230575 – Jowen

1

Không nhiều các nhà phát triển biết điều này, nhưng nó có thể để tạo ra các bài kiểm tra đầu tiên với Mã CodedUI. Nó không được ủng hộ, đó là imo xấu. Tôi xem tùy chọn Ghi âm là tùy chọn dễ vỡ. Nó sử dụng coords chuột có nghĩa là bạn phải tạo lại các kiểm tra khi giao diện người dùng thay đổi ...

Cách duy trì sẽ sử dụng Page Object pattern (cũng được sử dụng bởi các công cụ phổ biến khác như Selenium). Điều này tạo ra một trừu tượng của giao diện người dùng mang lại cho bạn sự linh hoạt hơn và gõ mạnh mẽ.

Bạn nhận được dễ dàng, có thể đọc được và hầu hết tất cả các mã duy trì:

var storeHyperlink = new HtmlHyperlink(_browserWindow); 
storeHyperlink.SearchProperties[HtmlHyperlink.PropertyNames.Id] = "StoreLink"; 
Mouse.Click(storeHyperlink); 

Read more

+0

Câu trả lời và liên kết tuyệt vời - cảm ơn @Jowen – user1191559

0

Không chắc nếu ai đó vẫn đang tìm cách để tìm hiểu cách mã tay để tốt nhất các bài kiểm tra UI Coded nhưng imo đi để ghi lại và phát lại tuyến đường sẽ là đáng thất vọng sau này! Cách tốt nhất là tạo một khung công tác tự động hóa xác định các đối tượng riêng lẻ mà bạn muốn tương tác và có các đối tượng trang để xử lý logic nghiệp vụ của bạn. Nếu bạn đang thử nghiệm các ứng dụng web, bạn có thể xác định các đối tượng bằng cách sử dụng chung UITestControls hoặc HtmlControls. Ví dụ:

public static UITestControl EditBox_Password 
{ 
    get 
    { 
     if (mEditBox_Password == null || ! mEditBox_Password.Exists) 
     { 
      mEditBox_Password = new UITestControl (browserWindow); 
      mEditBox_Password.TechnologyName = "Web"; 
      mEditBox_Password.SearchProperties.Add (UITestControl.PropertyNames.ControlType , "Edit"); 
      mEditBox_Password.SearchProperties.Add (UITestControl.PropertyNames.Name , "TxtPassword"); 
     } 
     return mEditBox_Password ; 
    } 
} 

Nếu bạn đang thử nghiệm các ứng dụng dựa trên Windows thì bạn có thể xác định đối tượng bằng WinControls hoặc WpfControls.

Gần đây, tôi đã mua một cuốn sách trên Amazon (Mã hóa giao diện người dùng mã hóa bằng tay) xác định rõ cách thiết lập khung và tạo mã dễ bảo trì. Không chắc chắn nếu nó có sẵn trong bất kỳ cửa hàng sách nhưng đây là liên kết trên Amazon nếu bạn muốn có một cái nhìn

https://www.amazon.com/dp/1547000856/ref=sr_1_1?s=books&ie=UTF8&qid=1496767488&sr=1-1&keywords=1547000856

Tôi hy vọng nó là hữu ích.

Cập nhật: Chỉ cần googled nó và có một mã giảm giá cho cuốn sách tại http://www.arkenstone-ltd.com/testing-with-coded-ui/