当前位置: 首页 > 知识库问答 >
问题:

当使用Allure2+Junit5+Gradle+Selenide时,Allure报告为空

韦正业
2023-03-14

我的建筑.分级是:

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.junit.platform.gradle.plugin'
apply plugin: 'io.qameta.allure'

defaultTasks 'clean', 'test'

ext.junitJupiterVersion = '5.0.0-M4'
ext.selenideVersion = '4.4.3'

compileTestJava {
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
    options.encoding = 'UTF-8'
    options.compilerArgs += "-parameters"
}

compileJava.options.encoding = 'UTF-8'

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

repositories {
    jcenter()
    mavenCentral()
}

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0-M4'
        classpath 'io.qameta.allure:allure-gradle:2.3'
    }
}

  allure {
    aspectjweaver = true
    autoconfigure = true
    version = '2.1.1'
}

  configurations {
    agent
  }

  dependencies {
    // JUnit5
    compile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
    compile("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")

    // Selenide
    compile("com.codeborne:selenide:${selenideVersion}") {
        exclude group: 'junit'
    }

    // Allure
    agent 'org.aspectj:aspectjweaver:1.8.10'
    compile 'ru.yandex.qatools.allure:allure-junit-adaptor:1.4.23'
    compile 'io.qameta.allure:allure-junit5:2.0-BETA6'
}

    junitPlatform {
platformVersion = "1.0.0-M5"
enableStandardTestTask = true
}

task runJupiter(type: JavaExec) {
jvmArgs '-ea'
jvmArgs "-javaagent:${configurations.agent.singleFile}"
classpath = project.sourceSets.test.runtimeClasspath
main 'org.junit.platform.console.ConsoleLauncher'
args '--scan-class-path'
args "--reports-dir=${buildDir}/allure-results"

finalizedBy 'allureReport'
}

test.dependsOn runJupiter

我试图通过allure命令行(CLI)在本地打开.json和.xml结果。诱惑报表打开,但为空:这是一个报表视图

我想是我的错误在分级依赖。我相当困惑,应该为JUnit5+Allure2+Gradle+Selenide+Java8使用哪些库和版本?

共有1个答案

董子航
2023-03-14

JUnit Platform Gradle插件目前不使用test任务(它需要更改Gradle core才能这样做)。因此,像test.dofirst{...}这样的东西是行不通的。

您应该能够创建自己的任务,运行consolelauncher并在其中添加JVM代理,而不是使用插件。有关示例,请参见https://stackoverflow.com/A/43512503/6327046。

 类似资料:
  • 我正在使用2.26.0版本的诱惑插件在詹金斯。我创建了一个作业与下一个配置后,我运行它,我不能看到什么在诱惑报告在Jenkins。因为当我从Jenkins运行它时,它只在本地机器上的文件夹项目中的'allure-results'文件夹中创建这些文件。如果我手动清理这个文件夹并从NetBeansit本地运行我的项目,它将在文件夹'allure-results'中创建正确的.json文件。之后,我可以

  • 我无法使用allure-maven插件生成AllureTestHTML报告。我使用的是相同版本的testNG-adapter和allure maven插件(1.4.0.rc8)。但是我能够使用allure CLI生成allure html报告。排除依赖项的pom.xml是

  • 但在这两种情况下,我都搞错了:- 您指定的目标需要执行一个项目,但此目录中没有POM 此外,为了进一步解释,我还尝试从node_modules/jasmine-allure-reporter文件夹中启动jetty服务器,但发现其中没有POM.xml文件,因此再次出现“此目录中没有POM”错误

  • 我们的团队使用JUnit作为一个大型老项目的基础测试框架。我们最近迁移到Maven,并决定尝试一个名为Allure的JUnit新报告。我们从下面的示例中将依赖项和插件复制到pom.XML,但在target/folder中没有生成XML数据。Maven输出中不会发出警告或错误。有人知道怎么会这样吗?

  • 我们希望将Gradle与静态编程语言和Jacoco(JUnit 5)结合使用来生成代码覆盖率报告。 我们的项目目录树如下所示: < code>project/{src,test}/main/kotlin... 我们的build.gradle文件如下所示: 通过这种配置,Jacoco生成了一个html报告,并将其放在下。但是,它显示了0%的覆盖率。情况不应该是这样,因为我有一个测试用例,它为项目中的

  • 我有一个与jacoco的项目,我希望能够过滤某些类和/或包。 我阅读了以下文档: 使用Sonarrunner和Gradle(不使用sonar)从Jacoco报告中排除包 Jacoco-从报表中排除JSP(它似乎适用于maven,我使用的是gradle) Maven Jacoco配置-从不工作的报告中排除类/包(这似乎适用于Maven,我使用的是gradle)