testng集成allure测试报告

** pom.xml文件里面的配置 **


    ru.yandex.qatools.allure
    allure-examples-parent
    1.0



    4.4.1
    fvt
    1.8.9
    1.5.2





      org.testng
      testng
      6.9.10



      com.codeborne
      selenide
      ${selenide.version}
      test



    ru.yandex.qatools.allure
    allure-testng-adaptor
    ${allure.version}
    
        
            junit
            junit
        
    



    
        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.18.1
            
                true
                
                    ${testng}.xml
                
                
                    -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
                
                
                    
                        allure.results.directory
                        ${project.build.directory}/allure-results
                    
                
            
            
                
                    org.aspectj
                    aspectjweaver
                    ${aspectj.version}
                
            
        

        
        
            org.eclipse.jetty
            jetty-maven-plugin
            9.2.10.v20150310
            
                ${project.build.directory}/site/allure-maven-plugin
                stop
                1234
            
        
    


    true
    
        
            ru.yandex.qatools.allure
            allure-maven-plugin
            2.5
        
    

上传错误case的截图?
实现一个监听器
创建一个类AllureReporterListener实现IHookable接口

public class AllureReporterListener implements IHookable{

    @Override
    public void run(IHookCallBack callBack, ITestResult testResult) {
        callBack.runTestMethod(testResult);
        if (testResult.getThrowable() != null) {
            try {
                takeScreenShot(testResult.getMethod().getMethodName());
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    } 

    @Attachment(value = "Failure in method {0}", type = "image/png") 
    private byte[] takeScreenShot(String methodName) throws Exception{
        File screenshot = Screenshots.getLastScreenshot();
        return Files.toByteArray(screenshot);
    }
}

如何使用该监听器?
两种方法:

  1. 在testng.xml中加入一个listeners标签

    
        
    
    
        
            
        
    

  1. 在case中加入@Listeners注解
@Listeners
public class IdeTest extends BaseTest{

    @BeforeMethod
    public void setup() throws Exception {
        preprocess();
    }

    @Title("创建节点,运行,提交,测试运行")
    @Test
    public void nodeTest() {
          
    }

** 如何运行? **

先运行: mvn clean test 运行case
再运行: mvn site 生成站点
最后运行: mvn jetty:run 查看报告

** 可能遇到的问题? **

  1. 生成的报告每个case出现两个一模一样的case
    https://github.com/allure-framework/allure1/issues/731
    去掉pom文件中maven-surefire-plugin中这个配置

      
            listener
           ru.yandex.qatools.allure.testng.AllureTestListener
      

你可能感兴趣的:(testng集成allure测试报告)