1

到目前为止,除了 Junit 和 Jenkins,我使用 log4j 来文本报告测试用例的结果,但现在我想使用 Allure,从我的 selenium 测试中生成更清晰、更透明的报告。我正在使用 maven 项目,其中单个测试用例是一个 java 类,并且由每个步骤也是一个 java 类组成。它看起来像这样:

public class FirstTestCase() {
    new Step1(driver).run();
    new Step2(driver).run();
    new Step3(driver).run();
}

public class SecondTestCase() {
    … second test case steps ...
}

在每一步 - “运行” - 都包含硒代码。

单个测试用例被分组到更大的集合中。例如:

@RunWith(Suite.class)
@Suite.SuiteClasses({
    FirstTestCase.class,
    SecondTestCase.class
})
public class SetOfTests {}

最后,我有一个主要类(称为“TestRunner”),其中激活了相应的集合。它看起来像这样:

public class TestRunner {
    @Test
    public void main() {
        Result result = JUnitCore.runClasses(
        SetOfTests.class
    );

因此,我项目中的类层次结构如下所示:

TestRunner |-
    SetOfTests |-
        FirstTestCase |-
                        |- Step 1
                        |- Step 2
                        |- ....
        SecondTestCase |-
                        |- Step 1
                        |-Step 2
                        |- ....

现在,我的问题是:在 Jenkins “构建”之后,如何添加 Allure 注释(如 @Stories、@Features、@Steps...)的最佳方法,当生成报告时,结果将以表格形式呈现作为上面的层次结构

请注意,jenkins 已配置、工作并生成报告,但不是我想要的形式。

只是我需要以简单的方式知道错误发生在哪个测试和哪个步骤

4

1 回答 1

0

如果您查看Allure XSD 文件,您会看到当前(1.4.x 系列)我们支持以下结构:

TestSuite|
         TestCase|
                  Step|
                      Substep|
                             ...

所以测试套件可以包含一组测试用例(不支持嵌套测试用例),每个测试用例可以包含无限深度的步骤层次结构。我将为您的情况实现一个自定义 JUnit 适配器 - 这就像创建一个 Java 类一样简单,如下所示,它实现了 JUnit RunListener接口。

于 2015-06-23T07:31:50.653 回答