如何使用Gradle和Junit5启用诱惑历史?

如何使用Gradle和Junit5启用诱惑历史?,gradle,groovy,junit5,allure,Gradle,Groovy,Junit5,Allure,我知道我可以将历史记录目录从allure reports复制到生成的allure results,然后执行allure generate以显示历史记录,但我正在寻找一种通过allure gradle中的内置功能实现这一点的方法 目前,我运行/gradlew clean test,然后运行/gradlew allureReport,这将为我提供一个没有历史记录或重新运行的新html报告。我注意到测试任务删除了整个allure reports目录,然后重新生成并重新填充它 这是我的身材。格雷德尔:

我知道我可以将历史记录目录从allure reports复制到生成的allure results,然后执行allure generate以显示历史记录,但我正在寻找一种通过allure gradle中的内置功能实现这一点的方法

目前,我运行
/gradlew clean test
,然后运行
/gradlew allureReport
,这将为我提供一个没有历史记录或重新运行的新html报告。我注意到测试任务删除了整个allure reports目录,然后重新生成并重新填充它

这是我的身材。格雷德尔:

buildscript {
    repositories {
        mavenLocal()
        jcenter()
    }
}

plugins {
    // Apply the java-library plugin to add support for Java Library
    id 'java-library'
    id 'java'
    id 'eclipse'
    // Allure reporter
    id 'io.qameta.allure' version '2.8.1'
}

repositories {
    mavenCentral()
    jcenter()
}

def allureVersion = "2.13.1"

allure {
    autoconfigure = true
    version = allureVersion
    useJUnit5 {
       version = '2.0-BETA10'
    }
    downloadLink = "https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.1/allure-commandline-2.13.1.zip"
}

test {
    useJUnitPlatform() {
        includeEngines 'junit-jupiter'
    }
    ignoreFailures = true
}

dependencies {       
    compile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.6.0'
    compile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.6.0'
    compile group: 'org.junit.platform', name: 'junit-platform-launcher', version: '1.6.0'
    // Needed as a workaround for JUnit 5 not failing tests that stopped due to an error message. The fix is in eclipse 4.10
    compile group: 'org.junit.vintage', name: 'junit-vintage-engine', version: '5.6.0'

    compile group: 'io.qameta.allure', name: 'allure-junit5', version: '2.13.1'
    compile group: 'io.qameta.allure', name: 'allure-java-commons', version: '2.13.1'

    // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
    compile group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59'

}
我还尝试将结果和报告目录指定在生成目录之外,如下所示:

allure {
    autoconfigure = true
    version = allureVersion
    resultsDir = file('../../allure-results')
    reportDir = file('../../allure-report')
       ...
}

这允许allure results文件夹保留以前的报告,该报告显示为重试(不完全正确),但历史记录仍然不起作用。

我通过在运行的测试脚本中添加这些行解决了这个问题(我有一些测试脚本)


因此,我添加了文件夹
allure results\history
来保存所有结果

我希望此解决方案能够帮助您
 call gradlew test -PsuiteFile=YOUR_TEST_SUITE.xml
 mkdir allure-results\history
 xcopy build\allure-results\* allure-results\history
 allure serve allure-results\history