여기 내가하려는 일이 있습니다. 테스트 페이지로 이동하여 복잡한 작업을 수행하고 잠시 기다린 다음 테스트가 실패하면 스크린 샷을 찍고 추가 작업에 OCR 도구를 사용하는 테스트가 있습니다. 이 동일한 테스트가 10 개의 크롬 브라우저 세션에서 동시에 실행되기를 원합니다. 우리는 이것으로 준 부하 테스트를 시도하고 있으며 테스트는 이미 타사 라이브러리를 사용하여 충분히 복잡하기 때문에 Jmeter 용 WebDriver 플러그인과 같은 것을 사용하면 보이지 않습니다. 여기에서 가능합니다. 어쨌든, 내가 무엇을 시도하든 테스트는 10 개의 브라우저 창을 열고 병렬로 실행하는 대신 차례로 실행되는 것 같습니다. 지금까지 인터 웹을 둘러 보면서 시도한 것이 있습니다.
TestNG.xml 경로
<suite name="UI Tests" parallel="methods" preserve-order="true" thread-count="10">
작동하지 않았다
Maven 경로
pom.xml에 다음을 추가했습니다.
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M4</version>
<configuration>
<forkCount>10</forkCount>
<reuseForks>true</reuseForks>
</configuration>
</plugin>
</plugins>
</build>
...
약간 해키를 시도
Dataprovider 경로
테스트에 고유 한 데이터를 제공하여 동일한 테스트를 동시에 실행할 수 있지만 아무 소용이 없습니다.
@DataProvider(name="Unique")
public static Object[][] unique(){
return new Object[][] {
{"someValue"},
....
};
}
@Test(dataProvider="Unique")
public void test(String unique){
//test code
}
위의 옵션 중 어느 것도 크롬 브라우저에서 동일한 테스트를 동시에 여러 번 실행하는 데 도움이되지 않았습니다. 그것을 달성하는 더 좋은 방법이 있습니까?
@Test 주석에 threadPoolSize 및 invocationCount 인수를 추가해 보셨습니까?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다