allure report + maven + testng 통합 사용
15921 단어 UI 자동화 테스트
홈 페이지 주소:http://allure.qatools.ru/
일반 테스트 보고서 의 생 성 은 2 단계 입 니 다:
1. , xml
2. xml html
allure repot 장점:
* , , ;
* ,testng、junit、pyunit ;
* jenkins ;
* ;
이번 사용 은 testng 과 공동으로 사용 하여 maven 프로젝트 에 통합 합 니 다.
* testng、maven 。
* jenkins , jenkins 。
대체적인 절 차 는 다음 과 같다.
주로 allure report 와 관련 된 플러그 인 설정 을 pom 파일 에 직접 기록 하여 통합 하 는 것 입 니 다. 상세 한 설정 파일 은 글 의 끝 을 참조 하고 다음은 추상 적 인 대략적인 절차 입 니 다.
* 1. test
* - Add AllureTestListener to TestNG settings.
* - Add AspectJ Weaver dependency and its properties.
* - Run tests.
* 2. xml html
* Add allure-maven-plugin to your pom.xml file.
* http://wiki.qatools.ru/display/AL/Allure+Maven+Plugin
* 3. , :
* mvn clean,
* mvn test,
* mvn site, , ./target/site/allure-maven-plugin/index.html,
* mvn jetty:run, , jetty , local host:8080,
자주 사용 하 는 주석:
allure report 의 자체 주 해 를 사용 하여 테스트 보고서 정 보 를 보조 적 으로 표시 합 니 다.
* @Step: , , , ;
* @Attachments: , ( ),https://github.com/allure-framework/allure1/wiki/Attachments
* @Features: case feature , behaviore , testsuite, https://github.com/allure-framework/allure1/wiki/Features-and-Stories
* @Stories: feature , features , testcase, feature story https://github.com/allure-framework/allure1/wiki/Features-and-Stories
* @Title: , stories
* @Description: , stories
* @Issue: bug Id( , bug URL, bug )https://github.com/allure-framework/allure1/wiki/Issues。pom patterm,
* @TestCaseId: id( , URL, )https://github.com/allure-framework/allure1/wiki/Test-Case-ID,pom patterm,
* ……
pom 파일 관련 설정 인 스 턴 스 및 설명 정보:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<groupId>aiyoumigroupId>
<artifactId>autoTestartifactId>
<version>1.0-SNAPSHOTversion>
<properties>
<project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
<timestamp>2017-05-16_18_56_43timestamp>
<allure.version>1.4.23allure.version>
<aspectj.version>1.7.4aspectj.version>
properties>
<dependencies>
<dependency>
<groupId>org.testnggroupId>
<artifactId>testngartifactId>
<version>6.9.9version>
dependency>
<dependency>
<groupId>org.seleniumhq.seleniumgroupId>
<artifactId>selenium-javaartifactId>
<version>2.53.0version>
dependency>
<dependency>
<groupId>ru.yandex.qatools.alluregroupId>
<artifactId>allure-testng-adaptorartifactId>
<version>1.5.2version>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-surefire-pluginartifactId>
<version>2.18.1version>
<configuration>
<testFailureIgnore>truetestFailureIgnore>
<suiteXmlFiles>
<suiteXmlFile>./src/main/java/testng.xmlsuiteXmlFile>
suiteXmlFiles>
<argLine>
-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
argLine>
<systemProperties>
<property>
<name>allure.results.directoryname>
<value>./target/${timestamp}/allure-resultsvalue>
property>
systemProperties>
configuration>
<dependencies>
<dependency>
<groupId>org.aspectjgroupId>
<artifactId>aspectjweaverartifactId>
<version>${aspectj.version}version>
dependency>
dependencies>
plugin>
<plugin>
<groupId>org.eclipse.jettygroupId>
<artifactId>jetty-maven-pluginartifactId>
<version>9.2.10.v20150310version>
<configuration>
<webAppSourceDirectory>${project.build.directory}/1234/site/allure-maven-pluginwebAppSourceDirectory>
<stopKey>stopstopKey>
<stopPort>1234stopPort>
configuration>
plugin>
plugins>
build>
<reporting>
<excludeDefaults>trueexcludeDefaults>
<plugins>
<plugin>
<groupId>ru.yandex.qatools.alluregroupId>
<artifactId>allure-maven-pluginartifactId>
<version>2.5version>
<configuration>
<resultsDirectory>./${timestamp}/allure-resultsresultsDirectory>
<properties>
<allure.issues.tracker.pattern>http://122.225.68.74:8082/browse/%sallure.issues.tracker.pattern>
<allure.tests.management.pattern>http://122.225.68.74:8082/browse/%sallure.tests.management.pattern>
properties>
configuration>
plugin>
plugins>
<outputDirectory>${project.build.directory}/${timestamp}/siteoutputDirectory>
reporting>
project>