Chúng tôi sử dụng UI Automation và Nunit để tạo kiểm tra giao diện người dùng cho ứng dụng WPF. Chúng tôi đã tạo các thử nghiệm hoạt động tốt khi bạn chạy chúng từ máy cục bộ. Những thử nghiệm không bao giờ chạy thành công trên máy chủ xây dựng của chúng tôi (sử dụng TeamCity). Xây dựng luôn treo sau khi mở cửa sổ ứng dụng. Nhưng nếu tôi đăng nhập (từ xa máy tính để bàn), trên máy chủ xây dựng của chúng tôi tất cả các bài kiểm tra tự động hóa giao diện người dùng cũng chạy thành công. Vì vậy, tôi đoán rằng nó có thể có một cái gì đó để làm với chạy phiên cửa sổ đang hoạt động. Bất kỳ ý tưởng làm thế nào để thuyết phục máy chủ xây dựng của chúng tôi để tạo phiên cửa sổ hoạt động hoặc bất kỳ giải pháp khác để làm cho những thử nghiệm chạy trên máy chủ xây dựng?Chạy kiểm tra tự động hóa giao diện người dùng trên máy chủ xây dựng
Trả lời
Bạn không có nhiều tùy chọn. Tôi sẽ liệt kê hai tôi biết, tùy chọn ưa thích nhất như:
- Thiết lập một máy ảo về xây dựng máy chủ của bạn. Các bản dựng của bạn được thực thi trong máy ảo. Bạn có thể khóa máy chủ (aka buildserver của bạn) giữ mọi thứ an toàn.
- Luôn để người khác đăng nhập. Lỗi này tạo ra sự cố bảo mật. Bạn có thể giảm bớt vấn đề này một chút bằng cách loại bỏ chuột, bàn phím và màn hình và chỉ truy cập buildserver thông qua RDP hoặc một cái gì đó tương tự.
Sửa
Hãy xem TestComplete FAQ mục này: TestComplete có thể thực hiện các kịch bản khi máy tính bị khóa?
OK, tôi chỉ đoán ở đây.
Hãy thử và chạy dịch vụ TeamCity với người dùng máy chủ xây dựng cục bộ thay vì tài khoản hệ thống. Có thể bạn phải đăng nhập bằng tài khoản đó một lần, trước khi bắt đầu xây dựng mới.
Chúng tôi đã thử điều đó.Khi tôi nói nếu tôi đăng nhập (máy tính từ xa), trên máy chủ của chúng tôi, tất cả các kiểm tra Tự động hóa Giao diện người dùng cũng chạy thành công, tôi đã đăng nhập với tư cách người dùng đó và tất cả các thử nghiệm đang chạy dưới người dùng đó. Vấn đề là, thứ hai khi người dùng này bị khóa kiểm tra thất bại. Họ cũng thất bại nếu tôi chạy chúng trên máy địa phương và khóa máy tính trong khi chạy. – andreja
Nó definatley âm thanh như bạn cần chạy thử nghiệm của bạn với một phiên tương tác như trái ngược với một dịch vụ. Việc thêm "Cho phép dịch vụ tương tác với máy tính để bàn" có thể hữu ích, nhưng điều này không được hỗ trợ trong Vista rõ ràng hơn.
Nếu bạn có thể chạy các bản dựng tương tác của mình như một dòng lệnh, không phải là một serivice cũng nên hoạt động.
Chúng tôi đã sử dụng thử nghiệm UIAutomation của chúng tôi bằng cách sử dụng đại lý tải trực quan studo 2008 để phân phối chúng, chạy như một công cụ dòng lệnh trên máy ảo không có vấn đề gì.
Tôi cũng đồng ý rằng bạn có lẽ không nên chạy thử nghiệm giao diện người dùng trên máy chủ xây dựng là một phần của bản dựng hàng ngày của bạn.
Cảm ơn bạn nhưng khi bạn đề cập đến các dịch vụ không còn được phép tương tác với máy tính để bàn của người dùng trong Vista và Windows Server 2008. Chúng tôi sử dụng máy chủ Windows 2008. Chạy như người dùng bàn điều khiển cũng khóa máy tính để bàn và xây dựng không thành công. – andreja
Xây dựng luôn treo sau khi mở cửa sổ ứng dụng.
Thử nghiệm khởi tạo giao diện người dùng? Điều đó sẽ không hoạt động, ví dụ: nếu bạn nhận được một hộp thoại phương thức, bản dựng sẽ treo. Đây là lý do mẫu MVP được phát minh, để cô lập mã trình bày hoạt động từ một khung nhìn cụ thể.
Bạn có đang sử dụng chế độ xem giả trong các thử nghiệm tự động của mình không?
Tôi không tin vào sẽ không làm việc :) Chúng tôi không sử dụng chế độ xem giả. – andreja
Mặc dù việc thiết kế mã giao diện người dùng của bạn có thể thử nghiệm giải quyết nhiều vấn đề, vẫn có một số trường hợp bạn muốn kiểm tra những thứ đơn giản yêu cầu môi trường tương tác để thử nghiệm có ý nghĩa. (Không nhất thiết phải kiểm tra đơn vị, nhưng bạn cũng muốn tự động hóa các bài kiểm tra tích hợp của mình, phải không?) –
Đôi khi bạn chỉ muốn kiểm tra xem việc nhấp vào nút có mở hộp thoại thích hợp không. (nghĩa là bạn muốn kiểm tra giao diện người dùng). – BrainSlugs83
- 1. Chiến lược kiểm tra giao diện người dùng tự động trên máy ảo từ xa
- 2. Xây dựng và kiểm tra máy chủ tự động hóa ngôn ngữ cho nhiều dự án
- 3. Kiểm tra giao diện người dùng
- 4. Chủ đề giao diện người dùng động
- 5. GTK + kiểm tra giao diện người dùng
- 6. 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
- 7. Chạy kiểm tra giao diện người dùng được mã hóa từ xa
- 8. Máy chủ tự động xây dựng TFS 2010
- 9. Cách kiểm tra xem có đang chạy trên chuỗi giao diện người dùng trong Android không?
- 10. #import hoạt động như thế nào trong Tự động hóa Giao diện người dùng của iOS?
- 11. Mã hóa tay Mã kiểm tra giao diện người dùng được mã hóa
- 12. Yếu tố Tự động hóa giao diện người dùng iOS không tìm thấy phần tử phụ
- 13. Kết hợp Nhật ký HTML kiểm tra giao diện người dùng được mã hóa?
- 14. Khởi chạy "Trình tạo thử nghiệm giao diện người dùng được mã hóa" mà không cần tạo một thử nghiệm giao diện người dùng mã hóa mới
- 15. Tự động hóa giao diện người dùng iOS cho các ngôn ngữ khác nhau
- 16. Zend_Auth và tự động thay đổi chi tiết người dùng trên giao diện người dùng
- 17. Tôi làm cách nào để cải thiện Tự động hóa giao diện người dùng iPhone?
- 18. Android - Rò rỉ bộ nhớ khi tự động xây dựng giao diện người dùng với nguồn tài nguyên hình ảnh
- 19. Kiểm tra đơn vị Android với giải pháp cập nhật giao diện người dùng AsyncTask và giao diện người dùng
- 20. Khung kiểm tra giao diện người dùng + Tích hợp liên tục?
- 21. Kinh nghiệm với giao diện người dùng tự động hóa và WPF
- 22. Truy cập giao diện người dùng từ JavaScript trên Android
- 23. Chọn Máy chủ Xây dựng
- 24. Tự động kiểm tra giao tiếp dịch vụ web
- 25. Xây dựng giao diện người dùng Cocoa cho OS X với C# và Mono
- 26. Tự động điền giao diện người dùng JQuery (1.8) cuộn
- 27. Giao diện người dùng khởi động Github? Hoặc mẫu giao diện người dùng giống như github
- 28. WiX Fails trên Máy chủ Xây dựng
- 29. Giao diện người dùng Tridion trên trang động
- 30. Kiểm tra đơn vị Hoạt động điều khiển trong MVC4 với giao diện người dùng Kendo
Chúng tôi thực hiện tất cả các bản dựng trong máy ảo trên máy chủ xây dựng của chúng tôi. Và tất cả các thử nghiệm đều chạy dưới tài khoản cục bộ (không phải hệ thống). Nó không giải quyết được vấn đề. Giữ người nào đó đăng nhập mọi lúc không phải là một lựa chọn. Như tôi đã nói chúng ta có 3 máy ảo, nơi mà bản build này có thể chạy. Vì vậy, mỗi lần xây dựng, hãy chọn vm nhanh nhất có sẵn. Người dùng cục bộ trên vm thường đăng nhập, nhưng chúng tôi không thể chắc chắn rằng nó không bị khóa. Và chúng tôi thực sự muốn tự động hóa quy trình này nhiều nhất có thể, vì vậy việc đăng nhập thủ công là tùy chọn ít hấp dẫn nhất. – andreja
@andreja, tôi đã cập nhật câu trả lời bằng liên kết tới phần Hỏi & đáp của Testcomplete. Tôi nghi ngờ có bất kỳ cách nào khác xung quanh điều này. Bạn phải giữ một người nào đó đăng nhập. Tôi không thấy nơi này đặt ra một vấn đề an ninh khi máy ảo của bạn được "mở khóa" và máy chủ lưu trữ là "bị khóa" (nhưng tôi không phải là quản trị viên hệ thống). –
@andreja: Nếu bạn muốn tự động đăng nhập, bạn có thể đặt một vài giá trị khóa đăng ký và người dùng xây dựng của bạn sẽ được đăng nhập sau khi máy ảo xây dựng được khởi động. Nếu bạn muốn, tôi có thể tra cứu các phím reg theo. –