2009-06-03 31 views
16

Trên các dự án có kiểm tra từ đầu đến cuối điều khiển GUI, việc chạy thử nghiệm trên máy trạm của nhà phát triển rất khó xử vì trình điều khiển tự động hóa GUI gây trở ngại cho màn hình nền. Nó di chuyển chuột, đánh cắp tập trung khỏi các ứng dụng chúng tôi muốn sử dụng và có thể bắt đầu nhập văn bản vào ứng dụng sai nếu chúng tôi chuyển sang ứng dụng khác trong khi chạy thử nghiệm.Có điều gì giống như xvfb hoặc xnest cho Windows không?

Trên Linux, chúng tôi đã giải quyết vấn đề này bằng cách chạy ứng dụng đang được thử nghiệm trên máy chủ X ảo (xvfb hoặc xnest). Với xnest, chúng ta có thể xem các bài kiểm tra đang chạy nhưng vẫn sử dụng máy tính để bàn thực sự mà không có sự can thiệp.

Có điều gì tương đương với Windows không?

Trả lời

5

Tôi đã tìm thấy một chương trình phần mềm miễn phí có tên "RunProcess.exe" được viết bởi Frank P. Westlake có thể chạy quá trình được liên kết với màn hình nền của WindowStation không tương tác (ví dụ: ngoài màn hình). Tuy nhiên, không có nguồn.

Do đó tôi đã triển khai phiên bản của riêng mình (đơn giản hơn Frank Westlake) với Java và JNA. Nó nằm trong kho lưu trữ Window Licker trong mô-đun công cụ. Lớp học được gọi là com.objogate.wl.win32.RunOnDesktop. Tại một số điểm tôi có thể chuyển nó sang C và biến nó thành một dòng lệnh .exe, hoặc có thể biến nó thành một nhiệm vụ Ant để chạy thử nghiệm ngoài màn hình.

+0

ai ấy có may mắn bằng cách sử dụng này? –

+0

Tôi đang cố gắng tìm giải pháp cho cùng một vấn đề.Bất cứ ai khác đã thử? – DamianS1987

+0

làm thế nào về các vấn đề bàn phím và chuột làm nó tắt màn hình @Nat? – gumuruh

5

Bạn có thể sử dụng ứng dụng "Desktops" từ gói SysInternals. Chạy kiểm tra giao diện người dùng trên một máy tính để bàn và hoạt động trên máy tính khác.

+0

Thật không may Những gì tôi muốn là tạo ra một tiến trình từ IDE (chạy trên màn hình chính của tôi) và cho quá trình đó 'các cửa sổ xuất hiện trên màn hình ngoài màn hình. Đó không phải là cách mà "Máy tính để bàn" – Nat

+0

Tôi cũng vậy kiện và giải pháp này làm việc cho tôi. Bạn có thể sinh ra quá trình của bạn trực tiếp từ máy tính để bàn "ẩn" và giữ cho nó hoạt động ở đó và chuyển trở lại màn hình chính của bạn, nhờ Yauheni Sivukha cho giải pháp này – sam

+0

Điều này thực sự giải quyết được câu hỏi ban đầu mà một vấn đề là trình điều khiển tự động di chuyển chuột ? Sau đó, sẽ phải có con trỏ chuột/đầu vào riêng biệt trên các máy tính để bàn khác nhau. – Zitrax

0

Tôi vừa thử phương thức nhiều máy tính để bàn trên máy tính Windows 10 của mình. Tôi đang chạy thử nghiệm Javascript Selenium. Tôi bắt đầu các bài kiểm tra trên một máy tính để bàn khác và đợi nó mở trình duyệt, sau đó chuyển trở lại màn hình chính của tôi. Nhưng tại cùng một điểm nơi mà các trình duyệt Chrome sẽ trở thành cửa sổ hoạt động, bây giờ nó thực sự buộc tôi trở lại máy tính để bàn mà :-(

Tôi nghĩ rằng tôi sẽ cố gắng RunProcess.exe, hoặc giải pháp Nat.

+1

Tôi vừa thử công cụ Sysinternals Desktops https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx và nó hoạt động tốt cho tôi. Khi tôi khởi chạy một thử nghiệm trên máy tính để bàn khác không có sự tương tác với máy tính để bàn ban đầu của tôi :-) – LeeD

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