allure report + maven + testng 통합 사용

15921 단어 UI 자동화 테스트
이전에 자동화 테스트 프레임 워 크 에 사 용 된 보고서 플러그 인 은 줄곧 reportng 을 사 용 했 지만 이미 오랫동안 업데이트 되 지 않 았 고 인터페이스 가 초라 하고 직관 적 이지 않 아서 대체 품 을 찾 았 습 니 다. 이 allure report 를 선택 하면 사용 하기에 매우 편리 하고 인터페이스 가 아름 답 고 대범 하 며 조리 가 뚜렷 해서 여러분 에 게 추천 할 만 합 니 다. 그래서 여기 서 사용 하 는 강 좌 를 써 서 참고 하도록 하 겠 습 니 다.
홈 페이지 주소: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>

좋은 웹페이지 즐겨찾기