如何使用Allure组织junit测试套件

时间:2015-06-22 20:32:17

标签: java selenium jenkins junit allure

到目前为止,除了Junit和Jenkins之外,我使用log4j来测试案例的文本报告结果,但现在我想使用Allure,以便从我的硒测试中生成更清晰,更透明的报告。 我正在使用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
                        |- ....

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

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

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

1 个答案:

答案 0 :(得分:0)

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

TestSuite|
         TestCase|
                  Step|
                      Substep|
                             ...

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