testng.xml 파일을 AWS Device Farm용 Appium Java TestNG 테스트 패키지의 *-tests.jar 파일의 루트에 추가하려면 어떻게 해야합니까?

최종 업데이트 날짜: 2021년 12월 1일

AWS Device Farm 프로젝트에 대해 Appium Java TestNG 테스트를 구성하려고 합니다. 하지만 우선 Appium 테스트 패키지의 *-tests.jar 파일의 루트에 testng.xml 파일을 추가해야 합니다. 어떻게 해야 합니까?

간략한 설명

Apache Maven pom.xml 파일testng.xml 파일을 Appium 테스트 패키지의 *-tests.jar 파일의 루트에 패키징하도록 구성합니다.

참고: Device Farm의 스탠더드 테스트 환경에서는 testng.xml 파일의 기능 중 일부만 지원됩니다. 사용자 지정 테스트 환경을 사용하는 경우는 프로젝트에 다음과 같은 testng.xml 파일 기능이 필요할 때입니다.

  • 우선순위
  • 'include''exclude' 태그
  • 복합 그룹
  • testng.xml 파일에 정의된 모든 TestNG 파라미터

해결 방법

1.    Apache Maven pom.xml파일에서 testResources 태그가 다음의 src/test/resources 디렉터리를 포함하는지 확인합니다. 디렉터리가 보이지 않으면 파일에 다음 디렉터리 구성을 추가합니다.

<testResources>
     <testResource>
        <directory>${project.basedir}/src/test/resources</directory>
     </testResource>
</testResources>

참고: 이 절차에 사용할 다른 디렉터리를 지정할 수 있습니다. 다른 디렉터리를 사용하도록 선택하는 경우, 2단계와 3단계에서 동일한 디렉터리를 사용해야 합니다.

2.    testng.xml 파일을 pom.xml 파일의 src/test/resources 디렉터리에 추가합니다.

3.    (선택) 로컬에서 테스트를 실행하려면 다음 Maven Surefire 플러그 인pom.xml 파일<plugins> 목록에 추가합니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12.4</version> 
    <configuration>
       <suiteXmlFiles> <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile></suiteXmlFiles>
    </configuration>
</plugin>

참조: 그러나 로컬에서 테스트를 실행한 후에 Device Farm으로 업로드하기를 권장합니다. Maven Surefire 플러그인은 pom.xml 파일이 로컬 테스트 중에 testng.xml을 참조하도록 허용합니다.

4.    다음 Maven 명령을 실행하여 pom.xml 파일의 대상 디렉터리를 정리하고, 테스트 파일을 다시 패키지합니다.

$ mvn clean package -DskipTests=true

참고: DskipTests=true 값은 빌드가 단위 테스트를 실행하지 않도록 지정합니다.

이 명령은 zip-with-dependencies.zip 파일을 pom.xml 파일의 대상 디렉터리에 생성합니다. 이 zip 파일은 Appium 테스트 패키지이고 testng.xml 파일을 *-tests.jar 파일의 루트에 포함합니다.

5.    다음 명령을 실행하여 testng.xml 파일이 Appium 테스트 패키지의 *-tests.jar 파일의 루트에 있는지 확인합니다.

*-tests.jar 파일에 있는 파일 스냅샷을 보려면, 다음 jar 명령을 실행합니다.

$ jar tvf foo-1.0.0-SNAPSHOT-tests.jar

-또는-

*-tests.jar 파일의 모든 파일을 폴더로 추출하려면 다음 압축 해제 명령을 실행합니다.

$ unzip foo-1.0.0-SNAPSHOT-tests.jar -d sampletestsjarcontents

이제 테스트 패키지를 Device Farm에 업로드하고 테스트 실행을 생성하려면 앱과 zip-with-dependencies.zip 파일을 사용합니다.