2010-08-26 26 views
15

Tôi đang sử dụng TeamCity để xây dựng CI và tôi muốn thiết lập bản dựng thứ hai để chạy kiểm tra giao diện người dùng tự động trên máy ảo Windows XP và Windows 7.Chiến lược kiểm tra giao diện người dùng tự động trên máy ảo từ xa

Tôi tưởng tượng xây dựng làm việc như sau:

  1. Compile, kiểm tra đơn vị chạy vv
  2. Chuẩn bị MSI sử dụng WiX
  3. Sao chép MSI để nhắm mục tiêu máy kiểm tra
  4. từ xa thực thi của MSI
  5. Sao chép mã khai thác thử nghiệm vào máy từ xa
  6. Chạy thử nghiệm
  7. Xây dựng hoàn tất

Kiểm tra giao diện người dùng tự động được viết bằng NUnit và sẽ cần chạy trực tiếp trên máy ảo thử nghiệm (chúng không thể chạy từ xa). Điều quan trọng là nếu các kiểm tra thất bại, nó xuất hiện trong nhật ký xây dựng TeamCity và xây dựng không thành công. Tôi không muốn cài đặt VS hoặc các đại lý xây dựng TeamCity trên một trong các máy ảo thử nghiệm.

Có vẻ như hầu hết điều này có thể thực hiện được bằng cách sử dụng psexec.exe. Có bất kỳ công cụ thay thế nào (tốt nhất là nguồn mở) mà tôi nên xem xét không?

Trả lời

7

hít một hơi thật sâu

Chúng tôi đang tìm kiếm vào một cái gì đó để giúp chúng tôi ra với thử nghiệm giao diện người dùng tự động của chúng tôi. Chúng tôi sử dụng ranorex để kiểm tra giao diện người dùng và TeamCity/Msbuild để thực hiện các kiểm tra.

Chúng tôi chưa bao giờ tìm thấy bất kỳ công cụ nào để giúp chúng tôi (tôi liên tục theo dõi một số để theo dõi chủ đề này) nhưng đây là những gì chúng tôi đã làm.

  1. Máy chủ CI sao chép tệp thiết lập và kiểm tra tập lệnh vào Máy chủ lưu trữ kiểm tra.
  2. Máy chủ CI sau đó khởi chạy ứng dụng tùy chỉnh trên Máy chủ kiểm tra máy chủ cung cấp tên của máy ảo để khởi chạy.
  3. Máy chủ lưu trữ kiểm tra sau đó khởi chạy phần mềm VM, sử dụng Virtual PC.exe -singlepc -pc vhdname.vhd -launch và đợi để máy chủ tắt (sau khi chạy thử nghiệm).
  4. VM lấy các tệp và tập lệnh thiết lập từ vị trí mạng và thực thi.
  5. Sau khi thử nghiệm chạy nó sau đó trả về kết quả cho một vị trí mạng và tắt chính nó.
  6. Điều khiển được trả về ứng dụng tùy chỉnh.
  7. Điều khiển được trả về máy chủ CI xác định kết quả nếu nó đã vượt qua hoặc không thành công (và cập nhật giao diện người dùng để nhà phát triển biết được kết quả).
  8. Kết quả là bộ sưu tập dưới dạng hiện vật trong TeamCity và được gắn thẻ trong Svn.

Tôi nghĩ đó là tất cả. Nó phức tạp, tuy nhiên, nó hoạt động. Hy vọng một người nào đó giúp bạn.

2

Jeff Brown của đội Gallio đã được talking about một công cụ gọi là Archimedes mà anh ấy định viết để hỗ trợ loại yêu cầu này. Nghe có vẻ đầy hứa hẹn, nhưng tôi không nghĩ rằng đã có nhiều tiến bộ về nó cho đến nay.

Mặc dù vậy, trong dự án Gallio có tên là VM Tool có thể làm những gì bạn muốn. Nó cung cấp các lệnh để dừng, khởi động và chụp các máy ảo, và quan trọng hơn là sao chép các tập tin qua lại và thực hiện các lệnh.

Tôi cho rằng bạn cũng đã xem xét Powershell Remoting?

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