概述

您可以使用提供的 results 对象生成自己的报告。这至少可以通过两种主要方式完成。

作为单独的文件

步骤 1. 创建文件

在单独的文件(例如 custom_reporter.js)中定义您的自定义报告器。选择回调或 Promise 来指示报告已完成。

custom_reporter.js
module.exports = {
  write : function(results, options, done) {
    console.log('custom reporting...');
    
done(); } };
custom_reporter.js
module.exports = {
  write: async function(results, options) {
    
console.log('custom reporting...');
} };

步骤 2. 运行报告器

使用正确的自定义报告器路径运行以下命令。

nightwatch --reporter=junit --reporter=/path/to/custom_reporter.js

运行以下命令以生成多个报告(内置的 HTML 报告和 custom_reporter) - 自 v2.2+

nightwatch --reporter=/path/to/custom_reporter.js --reporter=html

作为 NPM 包

自定义报告器也可以发布到 NPM。

示例

  ├── / 
  |   ├── src/
  |   |    ├── my_custom_reporter_lib.js
  |   |    └── my_other_custom_reporter_lib.js
  |   └── test/
  |        ├── test_for_my_custom_reporter_lib.js
  |        └── test_for_my_other_custom_reporter_lib.js
  ├── index.js
  ├── LICENSE.md
  ├── package.json
  └── README.md

如果您不熟悉发布 NPM 包,请先阅读 创建和发布非作用域公共包 指南。

index.js 文件需要实现与基于文件的自定义报告器相同的接口。

index.js
module.exports = {
  write: async function(results, options) {
    
console.log('custom reporting...');
} };

用法

  1. 安装您要使用的自定义报告器的 NPM 包。
npm i <nightwatch-custom-reporter>
  1. 使用自定义报告器。
nightwatch --reporter=<nightwatch-custom-reporter>