Allure 报告会根据参数处理测试用例吗?

Would Allure report handle testcase per parameters?

我在 Jenkins 中定义了以下 TestNG xml 文件,即 运行 针对 2 个不同服务器(alpha 和 beta)的同一组测试用例。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="My Cron Job Test" verbose="2" parallel="tests" thread-count="2">
<test name="Alpha Test">
    <parameter name="serverURL" value="https://alpha/index.html" />
    <classes> ...</classes>
</test>
<test name="Beta Test">
    <parameter name="serverURL" value="https://beta/index.html/>
    <classes>...</classes>
</test>
</suite>

而我刚开始在jenkins中使用allure插件报告。我的问题是,Allure 插件报告是否可以给出一个清晰的摘要,因为哪个测试用例在哪个服务器上失败了?

这取决于你想要什么。如果你想为每台服务器提供单独的魅力报告,你应该 运行 在两个不同的命令中进行测试并为每个命令生成魅力报告,又名:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
            <suiteXmlFiles>
                <file>src/test/resources/testng.xml</file>
            </suiteXmlFiles>
            <properties>
                <property>
                    <name>testnames</name>
                    <value>${selectedTests}</value>
                </property>
            </properties>
        </configuration>
    </plugin>
</plugins>

然后在终端中:

mvn clean test -DselectedTests=AlphaTest
allure generate
mvn clean test -DselectedTests=BetaTest
allure generate

这样你每次测试都会得到不同的魅力报告。 另一种方式,运行 整个测试套件并将环境服务器附加到每个测试以进行此类指示。更多信息在这里:https://docs.qameta.io/allure/#_attachments