0

자동화 된 QA 테스트 사례는 Jenkins가 예약하고 실행합니다. 서로 다른 환경 UAT, STAGEPROD 말 (서로 다른 테스트 데이터를 가지고) 이러한 테스트 케이스가 정신, 회귀BATS으로 '분류'하는에 나는 테스트 케이스를 실행해야 . maven + testNG (surefire plugin)를 사용하여 빌드하고 실행했습니다.jenkins -> maven -> testng에서 java 매개 변수를 전달하십시오.

이제 Jenkins에서 'BATS in STAGE'로 작업하거나 'REGRESSION in DEV'등을 실행해야합니다. 이 경우 Jenkins 작업 confis에서 다음과 같이 호출하는 것이 가장 좋습니다.

mvn test -Denv=STAGE -Dgroup=SANITY 

다른 옵션은 Jenkins의 시스템 변수에 params (env 및 group)를 설정하고 거기에서 이동하는 것입니다.

하지만, 여기에 다른 게시물에 제기 나는 몇 가지 주요 블록에 직면하고 있습니다 ..

How to pass java code a parameter from maven for testing

이것은 일반적인 요구 사항처럼 보인다는 사람이 전에이 연설이있다? 내 접근 방식이 올바른지, 더 좋은 방법인가?

좋습니다.

답변

1

각 테스트 시나리오/환경에 대해 별도의 Maven 빌드 프로파일을 만든 다음 Jenkins에서 설정 한 명령 줄 매개 변수 또는 환경 변수를 기반으로 활성화를 설정할 수 있습니다.

편집 :

는 각 테스트 시나리오에 대한 프로필을 본질적 것입니다 그리고 당신은 해고 된 테스트를 제어하기 위해 확실한 - 플러그인의 포함/제외 구성을 사용합니다. 이상적으로 최상위 테스트 클래스를 통해 모든 것을 실행할 수 있으므로 호출하는 각 "그룹"세트에는 기본 테스트 스위트를 실행하는 일종의 AllTests.java 클래스가있을 것입니다.

<profile> 
    <id>Stage</id> 
    <activation> 
     <activeByDefault>false</activeByDefault> 
    </activation> 
     <plugins> 
      <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.12.4</version> 
      <configuration> 
       <includes> 
      <include>**/Sanity/AllTests.java</include> 
       </includes> 
      </configuration> 
      </plugin> 
     </plugins> 
    </profile> 
+0

답장을 보내 주셔서 감사합니다. 과용하지 마시고, 제안 할 수있는 간단한 방법이 있습니까? 이것은 일반적인 요구 사항처럼 보입니다. – Girish

+0

나는 그것이 과잉이라고 생각하지 않는다. 실행/제외 할 테스트와이를 수행하는 방법을 구성 요소를 통해 플러그인에 알리는 방법이 있어야합니다. 따라서 Maven에서 동일한 POM을 사용하는 여러 시나리오에서 서로 다른 동작을 원할 경우 다른 프로필을 만듭니다. – gregwhitaker

+0

음 ... 시험해 보도록하겠습니다. 고마워요. – Girish

0

빌드 섹션을 사용하여 "mvn test"를 실행한다고 가정하면 다음과 같습니다. 나는 언급 된 동일한 게시 OP에 갔지만이 간단한 방법을 발견했습니다.

또한 빌드를 매개 변수화하고 아래 옵션에 대한 매개 변수를 사용할 수 있습니다

Build 
Invoke Maven 3 
    Maven Version [<latest version>] 
    Root POM  [pom.xml] 
    Goals and options [test -Denv=STAGE -Dgroup=SANITY] 

(작업에 대한 젠킨스의 구성 페이지).

Goals and options [test -Denv=$PARAM_ENV -Dgroup=$PARAM_GROUP] 
관련 문제