1

다음을 고려하십시오. 노드가있는 단일 허브 (5 세션). 테스트 스위트 (25 개 테스트)를 실행하면 해당 테스트는 한 번에 5 개씩 병렬로 실행됩니다. 노드가 해제되면 다음 테스트가 실행됩니다.어떻게 작동하나요? 단일 허브에서 여러 개의 병렬 테스트 실행 실행

하지만이 작동하는 방법 :

이 고려 : 노드 (5 개 세션)와 단일 허브.

동일한 HUG을 대상으로하는 여러 테스트 제품군을 실행할 때. (각각 25 개의 테스트가있는 4 개의 테스트 스위트). 해당 HUG을 대상으로하는 First Test Suite를 실행하면 5 개의 세션이 동시에 실행됩니다. 이 작업이 진행 중일 때 동일한 HUB를 대상으로하는 다른 테스트 스위트 세트를 시작하면 Second Suite의 테스트 케이스가 첫 번째 스위트가 완성 될 때까지 기다릴 필요가 있습니까? 4 개의 모든 스위트가 차례로 시작하면 어떻게됩니까?

답변

2

테스트는 허브에서 브라우저를 요청합니다. 이 차이를 대상으로 이해하는 것이 중요합니다. 따라서 테스트는 허브에서 브라우저를 요청하고, 허브는 사용 가능한 브라우저 슬롯이있는 등록 된 노드로 확인하고, 슬롯을 사용할 수 있으면이 슬롯을 테스트에 제공합니다. 그러나 허브는 테스트 스위트와 아무런 관련이 없습니다. 단지 요청을 받아서 작동합니다. 따라서 브라우저를 요청하는 테스트 스위트가 여러 개인 경우 허브는 요청 순서에 관계없이 누가 요청을했는지에 관계없이 브라우저를 할당합니다. 테스트가 브라우저를 종료하자마자 허브가있는 요청 목록 의 다음 테스트는 테스트 세트의 테스트 목록에서 테스트를 계속할 수 있습니다.

네 개의 스위트가 모두 동시에 시작될 때 하나의 테스트 스위트가 시작될 때와 동일한 결과가 발생합니다. 일단 모든 노드가 꽉 차게되면, 다른 검사기를 포함하여 실행 중이 아닌 모든 검사는 자신의 차례를 기다려야 만합니다. 그러나 다른 검사기가 보류 상태가 될 것이기 때문에 하나의 검사가 완전히 완료 될 때까지 기다릴 필요가 없습니다 허브로 요청하십시오.

+0

당신이 언급 한대로 모든 요청에 ​​따라 발생합니다. 첫 번째 제품군에는 슬롯에 대한 25 가지 요청 (테스트)이 있으며 대기열에 있습니다. 다음 테스트 요청 집합은 처음 25 번의 테스트 요청이 완료되거나 요청이 무작위로 처리 될 때까지 기다려야합니다. –

+0

테스트 스위트가 25 개의 테스트를 모두 동시에 시작합니까? 그렇다면 네 시험은 적어도 22 회의 시험이 끝날 때까지 기다려야합니다. 그러나 단 5 개의 슬롯이있을 때 병렬로 25 개의 테스트를 시작하는 이유는 무엇입니까? 병렬 테스트를 5 개의 스레드로 제한하면 두 번째 테스트 스위트는 테스트 대기열에 들어갈 수 있으며 최대 5 개의 테스트를 기다려야 만 첫 번째 테스트를 시작할 수 있습니다. – Mobrockers

+0

예, 5 개의 인스턴스가 있으므로 5 개의 테스트가 병렬로 실행됩니다. 이 케이스에서는 20 개의 테스트가 빈 슬롯을 기다리는 중입니다. 2 개의 테스트 스위트가 실행되면 45 개의 테스트가 풀에있게됩니다. 귀하의 의견에 의해 이해, 45 테스트 풀에서 무료로 슬롯이있을 때 모든 테스트를 시작할 수 있습니다. 권리? –