khaliidumar/behatformatter

这将创建一个 Behat 3 的格式化工具!快速、简单、美观!并且增加了对 php 7.2+ 的支持。

v1.3.5 2018-08-29 10:28 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:02:34 UTC


README

Behat 3 扩展,用于从测试结果生成出色的报告。

Latest Stable Version Total Downloads License Latest Unstable Version

Twig 报告

实时演示:[http://www.bug-hunter.nl/testreport/index.html](http://www.bug-hunter.nl/testreport/index.html)(每日生成)

Twig Screenshot

功能

  • 在失败的步骤上创建截图。
  • 在结果步骤(Then)上创建截图。
  • 在失败的步骤上以 html 格式保存源代码(易于调试)。
  • 可以在测试报告中设置项目标题、描述和标志。
  • 打印报告按钮
  • 按成功或失败的场景进行筛选

非常简单!!

  • 此工具可以使用 composer 轻松安装。
  • behat.yml 文件中定义格式化程序
  • behat.yml 文件中修改设置
  • 可选:更新 FeatureContext.php 以生成截图。

安装

先决条件

此扩展需要

  • PHP 5.3.x 或更高版本
  • Behat 3.x 或更高版本

通过 composer

使用 Composer 保持测试套件更新的最简单方法是使用它。

使用 composer 安装

$ composer require --dev elkan/behatformatter

使用 composer.json 安装

将 BehatFormatter 添加到 composer.json 中的依赖列表。

{
    "require": {
        "behat/behat": "3.*@stable",
        "elkan/behatformatter": "v1.0.*",
    },
    "minimum-stability": "dev",
    "config": {
        "bin-dir": "bin/"
    }
}

然后只需使用 composer 进行安装

$ composer install --dev --prefer-dist

您可以在其官方网页上了解更多关于 Composer 的信息。

基本用法

通过在您的 behat.yml 中指定其类来激活扩展

# behat.yml
default:
  suites:
    ... # All your awesome suites come here
  
  formatters: 
    html:
      output_path: %paths.base%/build/
      
  extensions:
    elkan\BehatFormatter\BehatFormatterExtension:
      projectName: BehatTest
      name: html
      renderer: Twig,Behat2
      file_name: Index
      print_args: true
      print_outp: true
      loop_break: true
      show_tags: true

配置

  • output_path - Behat 将保存 HTML 报告的位置。此处定义的路径相对于 %paths.base%,如果省略,则默认设置为相同的路径。
  • renderer - Behat 将用于渲染的引擎,因此 Behat 应该输出的报告格式类型(允许多个报告格式,用逗号分隔)。允许的值包括:
  • Behat2 - 生成类似于 Behat 2 生成的 HTML 报告。
  • Twig - 基于 Twig 的新颖且更现代的格式。
  • Minimal - 极简的 HTML 输出。
  • file_name - (可选)Behat 将使用固定文件名,并在每次构建后覆盖相同文件。默认情况下,Behat 将创建一个使用随机名称的新 HTML 文件("renderer name"_"date hour")。
  • projectName - (可选)为您的报告提供一个页面标题。
  • projectDescription - (可选)在测试报告中包含项目描述。
  • projectImage - (可选)在测试报告中包含项目图片。
  • print_args - (可选)如果设置为 true,Behat 将将每个步骤的所有参数添加到报告中。(例如,表格。)
  • print_outp - (可选)如果设置为 true,Behat 将将每个步骤的输出添加到报告中。(例如,异常。)
  • loop_break - (可选)如果设置为 true,Behat 将在打印场景概述时在每个执行后添加分隔换行符。
  • show_tags - (可选)如果设置为 true,Behat 将在打印场景和功能时添加标签。

截图

要生成测试报告中的截图,您必须更改您的 FeatureContext.php

# FeatureContext.php
class FeatureContext extends MinkContext
{
...
}

# FeatureContext.php
class FeatureContext extends elkan\BehatFormatter\Context\BehatFormatterContext
{
...
}

额外功能:占位符

在功能步骤中可以使用占位符。向您的上下文文件添加一个 BeforeStep、BeforeScenario 或 BeforeSuite 操作,其中包含一个 setTransformValues() 操作。您可以通过使用数组来添加自定义占位符。

示例上下文规则

    /**
     * @BeforeScenario
     */
    public function createTransformValues(){
        $this->setTransformValues(array(
            "<test>" => "A simple test value",
            "<timestamp>" => time()
        ));
    }

示例功能

  @test
  Scenario: Sign up for the newsletter
    When I fill in "email" with "test+<timestamp>+behat@bug-hunter.nl"
    And I press "Sign up"

示例输出

  @test
  Scenario: Sign up for the newsletter
    When I fill in "email" with "test+1461777849+behat@bug-hunter.nl"
    And I press "Sign up"

待办

  • 在失败时保存HTML
  • 在测试报告中保存REST响应
  • JSON输出 - 如果需要的话?
  • 打印样式表中的颜色
  • 自定义页脚图片/文本

许可和作者

作者: https://github.com/ElkanRoelen/BehatFormatter/graphs/contributors