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

如何在eclipse中运行project作为TestNG Suite时生成Allure xml?

长孙高远
2023-03-14

我用谷歌搜索了这个问题。我发现的结果表明,我需要运行一个 maven/ant 构建来生成 xml。

我的项目是Maven

我已将以下代码添加到我的testng.xml.

<listeners>
    <listener class-name="ru.yandex.qatools.allure.testng.AllureTestListener" />
</listeners>

这将在项目\目标\站点\诱惑-专家插件\数据目录中生成 UUID-testuite.xml,但报告仅包含套件标题,不显示其他数据。

我知道为了让@Step和@Attachment注释工作,我们需要在配置中正确地启用AspectJ。我不确定如何在testng.xml文件中做到这一点。

请让我知道,如果我在这里错过了什么。

共有1个答案

汝吕恭
2023-03-14

假设您已经在测试代码中定义了@Step和@Attachment方法,您只需要在pom.xml文件中添加aspectjweaver依赖项。参考这个Allure github wiki页面

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.14</version>
            <configuration>
                <testFailureIgnore>false</testFailureIgnore>
                <argLine>
                    -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
                </argLine>
                <!--only for 1.3.* TestNG adapters. Since 1.4.0.RC4, the listener adds via ServiceLoader-->
                <properties>
                    <property>
                        <name>listener</name>
                        <value>ru.yandex.qatools.allure.testng.AllureTestListener</value>
                    </property>
                </properties>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjweaver</artifactId>
                    <version>${aspectj.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

maven-surefire插件将使用listener调用testng

<properties>
   <property>
      <name>listener</name>
      <value>ru.yandex.qatools.allure.testng.AllureTestListener</value>
   </property>
</properties>

并将方面j设置作为jvm参数传递:

- javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar

此外,您可以参考此示例项目以了解更多信息。

 类似资料:
  • 我想创建一个在eclipse中使用Lifeay-maven-plugin的Liveay插件portlet,但每次我尝试这样做时,我都会遇到这个错误:

  • 我试图在Tomcat上通过eclipse运行一个项目文件。现在服务器启动了,但是当我试图访问服务器时(使用localhost:8080),我得到了一个404错误。查看Eclipse中的服务器控制台,我看到了一些奇怪的消息,希望你们中的一个能够理解它们。信息如下。谢了! 信息:在java.library.path:C:\program files\java\jre6\bin;C:\windows\s

  • 在Eclipse PDT中运行PHPUnit测试时,右键单击test文件夹并选择run As>PHPUnit Testm 生成此错误: 我导航到Eclipse日志文件,找到了以下文本: Eclipse.buildid=4.8.0.i20180611-0500 参数:-product org.eclipse.epp.package.php.product命令行 参数:-OS win32-WS win

  • 我在运行Azure DevOps管道时遇到问题。 我现在正在使用SpringBootMaven项目。我希望在不生成测试(src/test)文件的情况下运行构建管道,因为项目将在生成测试文件时失败,并且可以在没有测试文件的情况下成功构建。 是否有任何设置或配置?非常感谢。 您可以查看图像以查看详细信息,谢谢。请查看日志的图像

  • 问题内容: 有没有一种方法可以生成可以在JOIN中使用的任意数量的行,类似于Oracle语法: 问题答案: 讨厌这样说,但是这是四大公司中唯一没有此功能的公司。 在: 在(最多行)中: 或使用提示最多 在: 在中,什么都没有。

  • 问题内容: 在maven中,使用以下语法在pom中设置属性非常容易: 现在,我需要构建一个取决于pom版本的属性。为了创建属性,我想执行以下操作(java伪代码): 它应该是动态的,因为它在我们的存储库中用作标记名,并且必须始终与工件的版本同步。 任何想法如何创建该“动态”属性? 问题答案: Mojo的Build-Helper Maven插件可以在这里为您提供帮助。 有许多目标可用于帮助转换属性。