2017-09-13 3 views
0

나는 각도기 및 자바 스크립트에 초보자입니다. multiCapabilities를 사용하여 여러 테스트를 병렬로 실행하려고합니다. 그러나 내가 이것을 할 때마다 Prepare 또는 beforeAll이 모든 스펙마다 한 번씩 실행됩니다. onPrepare 및 onComplete를 모든 테스트에 대해 한 번만 실행할 수있는 방법이 있습니까?각도기가 다중 기능 모드에서 onPrepare를 여러 번 실행 중입니다.

저는 두 가지 상황에서이 문제에 직면 해 있습니다. 1. 다른 브라우저. 2. 다중 인스턴스가있는 동일한 브라우저 즉, 다음과 같습니다. capabilities : {browserName : 'chrome', shardTestFiles : true, maxInstances : 2}, 두 경우 모두 onPrepare에있는 코드가 두 번 실행됩니다. 각 테스트의 테스트 결과를 Json 파일에 작성해야하며 onPrepare에 새 파일을 작성하고 있습니다. maxinstances> 1을 사용할 때 작성됩니다.

+0

이렇게하면'beforeAll()'의 목적을 무효화 할 수 있습니다. 어떤 다른 기능을 테스트하고 있습니까? 그냥 다른 브라우저? –

+0

두 가지 상황에서이 문제에 직면하고 있습니다. 1. 다른 브라우저. 2. 다중 인스턴스가있는 동일한 브라우저 즉, 다음과 같습니다. 기능 : { \t \t browserName '크롬', \t \t shardTestFiles : 사실, \t \t MAXINSTANCES : 2 \t}, OnPrepare입니다 아래에 내 코드가 두 번 실행되는 두 경우 모두 . 나는 각 테스트의 테스트 결과를 Json 파일에 작성해야하며 onPrepare에 새 파일을 작성하고 있으며 maxinstances> 1을 사용할 때 필 요하게됩니다. onPrepare와 beforeAll() 및 동일한 결과를 사용하여이 작업을 시도했습니다. –

답변

0

멀티로 각도기 테스트 케이스를 실행하는 경우 capability 옵션을 사용하면 multi capabilities 개체 (즉, 다른 프로세스에서 실행되는 Sharded 테스트)에서 언급 한 각 기능 집합에 대해 onPrepare 메서드가 실행됩니다.

이 경우 beforeLaunch 방법으로 테스트 보고서 파일을 만들어야합니다. 이 방법은 각도기 전역 객체를 초기화하기 전에 한 번만 실행됩니다.

beforeLaunch 방법에 대한 자세한 내용은 친절하게 https://github.com/angular/protractor/blob/master/lib/config.ts#L404을 참조하십시오.

관련 문제