2017-06-13 89 views
1

我正在使用WebdriverIO/Cucumberwdio-cucumber-framework)。我想在HTML文件中获得测试执行结果。截至目前,我正在使用Spec Reporterwdio-spec-reporter)。这有助于在控制台窗口中打印结果。但我想要一个HTML文件中的所有执行报告。为我的测试自动化生成WebdriverIO/Cucumber框架的HTML报告

如何在HTML文件中获得WebdriverIO测试执行结果?

谢谢。

+0

您可以使用wdio的json记者。然后使用主想的插件,我们可以生成HTML报告。 – Murthi

+0

@Murthi - 你能告诉我主想法插件的名字吗?可以请你分享一些参考网址,该插件 –

+0

https://github.com/damianszczepanik/cucumber-reporting但你必须利用黄瓜选项生成黄瓜JSON报告。 – Murthi

回答

5

好的,终于得到了一些时间来解决您的问题@Thangakumar D,因为报告是我最喜欢的WebdriverIO领域之一。不幸的是,这是浩瀚的方式来解决生成报告(通常以HTML文件的形式)的所有方面,所以我会继续前进,并开始与我最喜欢的记者:倾城

Allure Reporter:

  • [前言:确保你在你的项目的根是]
  • 安装程序包(如果你还没有的话):npm install wdio-allure-reporter --save-dev
  • 安装Allure CommandLine(你会看到为什么后面):npm install -g allure-commandline --save-dev
  • 设置你的wdio.config.js文件,以支持倾城当记者

wdio.config.js:

reporters: ['allure', 'dot', 'spec', 'json'], 
reporterOptions: { 
    outputDir: './wdio-logs/', 
    allure: { 
     outputDir: './allure-reports/allure/' 
    } 
} 
  • 运行测试!请注意,一旦您的回归结束,您的/allure-results/文件夹已填充多个.json,.txt,.png(如果您有屏幕截图错误)和.xml文件。这个文件夹的有效性将被Allure CommandLine使用来呈现给你HTML报告
  • 转到您的/allure-results/文件夹,并生成通过报告:allure generate <reportsFolderPath>(做这样的allure generate .
  • 如果你想里面/allure-results//allure-reports/文件夹)
  • 现在进入你/allure-reports文件夹,OPE index.html到您选择的浏览器(使用Firefox浏览器启动)

注:生成index.html文件不会有装上Chrome的,除非你做一些调整了所有的内容。这是由于默认的WebKit无法加载所有需要的AJAX调用。详细了解它here

如果你成功完成了所有前面的步骤,它应该是这个样子:

enter image description here

希望这有助于。干杯!


注:我会尽力UPDATE这篇文章时,我得到一些更多的时间与其他真棒方式来产生从WebdriverIO记者日志报告,特别是如果这个职位一起得到一些爱/ upvotes方式。

例如为:,我喜欢使用存在另一种组合:wdio-json-reporter/wdio-junit-reporter加上一个易于使用的模板语言,Jinja2的。

+0

@ iamdanchiv-感谢您的帮助。我在全球范围内安装了'wdio-allure-reporter'** **一旦我执行了我的测试套件,就会得到带有多个JSON和XML文件的./allure-reports/allure/文件夹中的结果。要在命令窗口中生成HTML报告,我导航到'allure-reports'文件夹,并键入下面的命令'c:\ projects \ functionalTest \ allure-reports> allure generate .'我得到的**魅力不被识别为内部或外部命令**我们是否需要除“wdio-allure-reporter”之外的其他任何软件包,我已经拥有全球范围的软件? –

+0

@ThangakumarD是否在全球安装'allure-commandline'?就像我上面所说的,你需要它来生成你的报告。所以基本上,'npm install -g allure-commandline'('--save-dev'将它作为依赖保存在你的项目中,如果你不想在项目中使用'allure-commandline'除了生成HTML报告)。 – iamdanchiv

+0

@ThangakumarD如果您将结果存储在'。/ allure-reports/allure /'中,那么您应该在同一个文件夹中运行'allure generate .'命令。顺便说一句,你可以用它从'node_modules'路径明确引用的诱惑力:'.//node_modules/.bin/allure产生.' – iamdanchiv