2014-04-04 5 views
7

나는 서로 독립적 인 5 개의 테스트 스위트를 가지고 있습니다. 동일한 환경에서 실행해야합니다. 대부분의 테스트 스위트는 API 호출로 구성됩니다. 스위트 내의 테스트 케이스는 서로 의존적이기 때문에 순서대로 실행해야합니다.로봇 프레임 워크 테스트 스위트를 병렬로 실행할 수있는 방법이 있습니까?

pybot 명령을 통해 모든 테스트 스위트를 병렬로 실행할 수있는 방법이 있습니까?

답변

9

Robot Framework에서 테스트의 병렬 실행을 네이티브로 처리 할 수 ​​없습니다. Pabot, a parallel executor for RF이 있습니다. Pabot은 테스트 스위트 배포를 허용하고 보고서와 로그를 결합합니다.

+1

매우 유용한 도구입니다. 회귀 스위트를 실행하는 데 걸린 시간을 8 시간에서 2 시간으로 줄였습니다. –

3

We also Workshare (우리가 Mikko 작품에 대해 몰랐던 당시) 우리는 최근에 그것을 열어 보았습니다. 우리가 CI (jenkins)에 대한 테스트를 병행하여 실행하는 데 사용하기 때문에 현재는 생산 단계입니다. 그것은 완전한 최종 보고서를 생성 할 수 있고, 실패한 테스트를 재실행 할 수 있으며, 글로벌 설정/해제 메커니즘을 가지고 있으며, xunit compatibles 결과 파일을 생성하며, Windows에서도 작동합니다. :) (리눅스 만 있으면 더 좋은 옵션입니다!)

당신은 그것을 찾을 수 있습니다 : https://github.com/workshare/parallel_pybot

0

때 시험이다 완전히 독립 실행 형과 난 그냥 실행 스크립트를 작성하는 몇 가지 성공이 있었다 평행 완전히 실행할 수 단위의 모든 IP 주소를 반복하는 나는 것에 테스트를 병렬로 실행 한 다음 그 IP 주소를 인수로 사용하여 테스트를 호출하려고합니다. 또한 output.xml 파일을 작성하고 호스트 이름 또는 IP 주소를 기반으로 이름을 지정한 다음 scrip이 모든 장치와 함께 집계 된 보고서를 작성하는 rebot로 사후 처리를 수행하도록합니다.

0

간단한 해결책은 Jekins을 사용하고 있습니다 : 당신은 어떤 슬레이브 노드없이 기본적으로 병렬 이 작업 실행을 할 수 있습니다 robotframework plugin.You와 Jeknins을 설치할 수있을

  1. .
  2. 또는 여러 개의 슬레이브 노드가있는 경우 로봇 및 노드 레이블의 태그를 사용하여 작업을 배포하십시오. 작업 2에 대한
  3. 다음 설정 pybot --include이 tag2의 test.robot 작업 1에 대한

    1. pybot --include이 tag1의 test.robot :

    그냥 같은 젠킨스 작업 구성 섹션의 매개 변수를 설정 .

그런 다음 업스트림 작업을 트리거하십시오. 당신은 그들을 평행하게 달릴 것입니다.

하지만 여전히 액세스중인 파일이 테스트 작업 중 하나에 의해 잠겨 있는지 확인해야합니다.

관련 문제