allure-framework/allure-behat

所有ure Behat集成

1.1.0 2018-09-25 11:53 UTC

README

这是一个Behat扩展,具有Formatter,可以生成Allure Report测试报告工具的报告数据。

安装

要使用Composer安装,只需将"allure-framework/allure-behat"添加到composer.json

...
"require": {
...
    "allure-framework/allure-behat": "~2.0.0",
...
},
...

用法

要在Behat中启用此扩展,请将其添加到behat.yml文件的extensions部分。要使用Allure格式化程序,请将allure添加到name中您列表的格式化程序。

  formatters:
    pretty: true
    allure:
      output_path: %paths.base%/build/allure
  extensions:
    Allure\Behat\AllureFormatterExtension:
      severity_key: "severity:"
      ignored_tags: "tag_ignore"
      issue_tag_prefix: "JIRA:"
      test_id_tag_prefix: "BUG:"

这里

  • output_path - 定义报告XML数据的输出目录。默认为./allure-results
  • ignored_tags - 要在报告中忽略的情景标记的逗号分隔字符串或有效的YAML数组
  • severity_key - 带有此前缀的标记将被解释(如果可能)以定义报告中的情景严重级别(默认为normal)。
  • issue_tag_prefix - 带有此前缀的标记将被解释为问题标记,并为测试用例生成问题跟踪系统链接
  • test_id_tag_prefix - 带有此前缀的标记将被解释为测试用例ID标记,并为测试用例生成TMS链接

使用附件支持

要在allure报告中使用附件,请确保您的behat在具有Mink的情况下运行测试

如果抛出的异常是ArtifactExceptionInterface的实例,Allure可以处理您的上下文中的异常,并从中获取截图路径。

它是如何工作的?

Behat有以下测试结构

It has Features described in separate feature files
        Each Feature contains Scenarios
            Each scenario contains Steps

另一方面,Allure有一个略微不同的层次结构

    Each report contains Test Suites
        A Test Suite contains Test Cases
            Every Test Case can contain one or more Steps

另一方面,Allure还支持根据功能、故事或严重级别对测试用例进行分组。

Behat Allure格式化程序执行以下映射

  • Behat测试运行 -> Allure测试套件
  • Gherkin情景(以及情景概述中的每个单独示例) -> Allure测试用例
  • Gherkin步骤 -> Allure测试步骤

Behat情景将使用其功能标题和描述进行注释,以便分组到Allure功能中。

Behat还有标记,它们也可以用于Allure报告

  • 如果标记出现在ignored_tags配置参数中,则它将被忽略,不会出现在Allure报告中
  • 如果标记以severity_tag_prefix开头,则格式化程序将尝试将其附加部分解释为可能的Allure严重级别之一
  • 如果标记以test_id_tag_prefix开头,则格式化程序将解释其附加部分作为您的TMS的测试用例ID
  • 在其他所有情况下,标记将作为Allure故事注释解析

贡献?

请随意提交更改的PR,但在那之前,请确保您通过了测试 ./vendor/behat/behat/bin/behat