概述

用于 Nightwatch.js 端到端测试框架的 TeamCity 格式化程序。 其输出可被其他工具用于可视化报告。

带配置的示例

步骤 0:安装 Nightwatch

按照 指南 或观看 视频 从头开始安装 Nightwatch。

步骤 1:安装 Nightwatch Teamcity 报告器

在您的 nightwatch 项目中安装 nightwatch-teamcity 作为依赖项。

npm i nightwatch-teamcity --save-dev

步骤 2:运行示例测试

考虑 duckDuckGo.js 示例测试

describe('duckduckgo example', function() {
  it('Search Nightwatch.js and check results', function(browser) {
    browser
      .navigateTo('https://duckduckgo.com')
      .waitForElementVisible('#search_form_input_homepage')
      .sendKeys('#search_form_input_homepage', ['Nightwatch.js'])
      .click('#search_button_homepage')
      .assert.visible('.results--main')
      .assert.textContains('.results--main', 'Nightwatch.js');
  }); 
});

您可以使用以下命令运行此测试

npx nightwatch examples/tests/duckDuckGo.js -–reporter node_modules/nightwatch-teamcity/index.js

您也可以通过包含以下代码在单独的文件 (例如 nightwatch-reporter.js) 中定义您的报告器,然后使用 --reporter cli 参数指定该文件的路径。

const teamCityFormatter = require("nightwatch-teamcity").format;

module.exports = { reporter: (results,done)=>{ teamCityFormatter(results); done(); } };
npx nightwatch examples/tests/duckDuckGo.js --reporter ./nightwatch-reporter.js

步骤 3:查看 JSON 报告

TeamCity 报告可在控制台中看到,它将类似于以下内容

与其他报告器组合

为了与另一个报告器 (例如 nightwatch-html-reporter) 组合,您可以按照下面显示的示例操作

nightwatch-reporter.js
const HtmlReporter = require("nightwatch-html-reporter");

const teamCityFormatter = require("nightwatch-teamcity").format;
const reporter = new HtmlReporter({ reportsDirectory: "./reports", });
module.exports = { write: function(results, options, done) { teamCityFormatter(results); reporter.fn(results, done); done(); } };

推荐内容