khaliidumar / behatformatter
这将创建一个 Behat 3 的格式化工具!快速、简单、美观!并且增加了对 php 7.2+ 的支持。
v1.3.5
2018-08-29 10:28 UTC
Requires
- php: >=5.3.0
- behat/behat: ~3.0
- behat/mink: ^1.7
- behat/mink-extension: *
- behat/mink-selenium2-driver: ^1.3
- twig/twig: ~1.0
Requires (Dev)
- phpunit/phpunit: ~4.1
- symfony/process: ~3.0
README
Behat 3 扩展,用于从测试结果生成出色的报告。
Twig 报告
实时演示:[http://www.bug-hunter.nl/testreport/index.html](http://www.bug-hunter.nl/testreport/index.html)(每日生成)
功能
- 在失败的步骤上创建截图。
- 在结果步骤(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