2014-04-04 27 views
7

Tôi có 5 bộ thử nghiệm độc lập với nhau. Tôi phải chạy nó chống lại cùng một môi trường. Hầu hết các bộ thử nghiệm của tôi đều bao gồm các cuộc gọi API. Các trường hợp thử nghiệm bên trong các dãy sẽ chạy theo thứ tự vì chúng phụ thuộc lẫn nhau.Có cách nào để chạy các bộ thử nghiệm khung robot song song không?

Có cách nào để chúng tôi có thể chạy tất cả các bộ thử nghiệm song song thông qua lệnh pybot không?

Trả lời

9

Không có xử lý gốc các phép thử nghiệm song song trong khung robot. Có Pabot, a parallel executor for RF. Pabot cho phép phân phối bộ thử nghiệm và tạo báo cáo và nhật ký kết hợp.

+1

Công cụ cực kỳ hữu ích. Giảm thời gian thực hiện để chạy bộ hồi quy của chúng tôi từ 8 giờ đến 2 giờ. –

3

Chúng tôi cũng ở số Workshare đã xem xét vấn đề này (vào thời điểm chúng tôi không biết về công việc của Mikko) và gần đây chúng tôi đã mở nguồn. Nó bây giờ là mức sản xuất, khi chúng tôi sử dụng nó để khởi động song song các thử nghiệm của chúng tôi trên CI của chúng tôi (jenkins). Nó có thể tạo ra một báo cáo hoàn chỉnh, nó có thể chạy lại các kiểm tra không thành công, nó có cơ chế thiết lập toàn cầu/teardown, nó tạo ra các tệp kết quả tương thích xunit, và nó cũng hoạt động trên Windows :) (Linux là một lựa chọn tốt hơn!)

Bạn tìm thấy nó tại địa chỉ: https://github.com/workshare/parallel_pybot

0

Khi kiểm tra là hoàn toàn độc lập và có thể chạy hoàn toàn song song tôi đã có một số thành công với chỉ viết một kịch bản thực hiện đó lặp qua tất cả các địa chỉ IP của các đơn vị mà tôi sẽ muốn chạy thử nghiệm song song và sau đó gọi thử nghiệm với địa chỉ IP đó làm đối số. Tôi cũng yêu cầu nó chỉ tạo các tệp output.xml, đặt tên chúng dựa trên tên máy chủ hoặc địa chỉ IP, và sau đó kịch bản xử lý hậu kỳ với lệnh rebot tạo ra một báo cáo tổng hợp với tất cả các đơn vị.

0

Giải pháp đơn giản là sử dụng Jekins:

  1. Bạn có thể cài đặt Jeknins với robotframework plugin.You thể có hai công việc chạy song song theo mặc định mà không cần bất kỳ nút nô lệ.
  2. Hoặc bạn có nhiều nút nô lệ, sau đó sử dụng thẻ trong rô bốt và nhãn nút để phân phối công việc.

Chỉ cần thiết lập các tham số trong Jenkins việc xây dựng phần, chẳng hạn như:

  1. pybot --bao gồm test.robot TAG1 cho job1
  2. sau đó thiết lập pybot --bao gồm TAG2 test.robot cho job2 .

Sau đó kích hoạt công việc ngược dòng. bạn sẽ nhận được chúng chạy song song.

Nhưng bạn vẫn cần đảm bảo rằng tệp bạn đang truy cập bị khóa bởi một trong các công việc kiểm tra.

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