Tại nơi làm việc, chúng tôi kiểm tra đầy đủ các thành phần GUI. Vấn đề phát sinh từ thực tế là, trong khi các testuite đang chạy, các thành phần khác nhau bật lên, ăn cắp sự tập trung hoặc làm cho nó không thể tiếp tục làm việc. Điều đầu tiên tôi nghĩ đến là Xnest, nhưng tôi đã tự hỏi nếu có một giải pháp thanh lịch hơn cho vấn đề này.Máy chủ X giả để thử nghiệm?
10
A
Trả lời
9
Tôi nghĩ rằng những gì bạn cần làm ở đây là các thử nghiệm của bạn chạy trên một Màn hình khác với màn hình bạn đang làm việc.
Khi chúng tôi chuyển các đại lý TeamCity của mình sang EC2, chúng tôi đã tìm ra giải pháp để chạy thử nghiệm đơn vị giao diện người dùng trên máy chủ Linux không đầu. Tôi đã tìm ra cách để thực hiện điều này trong blog post, trong đó phác thảo cách sử dụng Xvfb.
Đối với trường hợp của tôi, tất cả tôi phải làm là:
yum install xorg-x11-server-Xvfb
Xvfb :100 -ac
để chạy các máy chủ. Tôi đã thêm nó vào tập tin rc.local của tôi trên các đại lý EC2 của tôi để khởi động nó khi khởi động máy.- Sau đó, tôi thêm
env.DISPLAY :100
để TeamCity build cấu hình của tôi
Các vấn đề liên quan
- 1. Điểm cuối EC2 giả để thử nghiệm
- 2. Máy chủ/ứng dụng thử nghiệm OAuth
- 3. Làm thế nào để thử một máy chủ web để thử nghiệm đơn vị trong Java?
- 4. Máy chủ Web để thử nghiệm trên Linux
- 5. Máy chủ SQL để thử nghiệm trên web
- 6. Múi giờ giả để thử nghiệm ứng dụng web
- 7. thư thử nghiệm với máy chủ phát triển appengine (java)
- 8. Bộ thử nghiệm máy chủ HTTP chung (không dành cho máy chủ)?
- 9. Máy chủ phát triển thử nghiệm/máy chủ sản xuất kiểm tra căng thẳng
- 10. cấu hình giả trong các thử nghiệm của Grails
- 11. Thử nghiệm đơn vị C# - Thread.Sleep (x) - Làm thế nào để giả lập đồng hồ hệ thống
- 12. Rails 3.1 plugin gem, ứng dụng thử nghiệm giả, rspec
- 13. Tại sao thử nghiệm máy chủ/máy khách hỗ trợ SSL SSL này hoạt động?
- 14. Hệ thống tệp giả cho thử nghiệm đơn vị Perl
- 15. Hệ thống tập tin giả trong thử nghiệm tích hợp
- 16. Tạo dữ liệu giả cho thử nghiệm đơn vị
- 17. Đối tượng giả vs Cơ sở dữ liệu thử nghiệm
- 18. Cách tốt nhất để thiết lập máy chủ thử nghiệm tích hợp là gì?
- 19. Làm cách nào để bạn thử nghiệm một máy chủ TCP? Nó có đáng giá không?
- 20. giả lập $ httpBackend trong các thử nghiệm góc cạnh e2e
- 21. Chiến lược Git tốt nhất để thử nghiệm các phiên bản máy khách và máy chủ khác nhau
- 22. Chủ đề thử nghiệm đơn vị?
- 23. Thử nghiệm Android không có trình giả lập
- 24. Máy chủ thư có thể định cấu hình cho các thử nghiệm JUnit?
- 25. Máy chủ giả lập Android tập tin
- 26. Tại sao máy chủ jetty bị treo sau khi máy chủ khởi động và không chạy thử nghiệm tích hợp?
- 27. Khởi chạy một máy chủ web bên trong các thử nghiệm ruby
- 28. Bằng chứng về khái niệm RESTful Python máy chủ (sử dụng web.py) + thử nghiệm với cURL
- 29. Thử nghiệm với Thread.sleep
- 30. Mock fs.readdir để thử nghiệm
tôi đã cố gắng giải pháp của bạn, nhưng tiếc là các bài kiểm tra của tôi sụp đổ với lỗi segmentation. Tôi đang sử dụng rất nhiều thứ, đặc biệt là Qt và OpenGL. Bạn có biết bất cứ điều gì có thể làm việc trên một máy chủ X tiêu chuẩn, nhưng thất bại trên Xvfb? –
@StefanoBorini Thật không may là không. Sự hiểu biết của tôi là nó sẽ hoạt động giống như một máy chủ X 'thực', nhưng tất nhiên có thể có vấn đề với việc thực hiện, như với bất cứ điều gì. Một google nhanh chóng đã tìm thấy lỗi này: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/296230 Lưu ý rằng workaround là để khởi động Xvfb với -extension GLX – sharakan
Tôi sẽ thử nó vào ngày mai . Cảm ơn. Bạn đã vô cùng hữu ích. –