【问题标题】:How/What is the best way to auto create/save text file version of automated test reporter logs如何/什么是自动创建/保存文本文件版本的自动化测试报告日志的最佳方式
【发布时间】:2016-10-05 10:36:15
【问题描述】:
这是我第一次构建适当的 selenium 测试(我之前接触过 IDE)。我将 Selenium 与 NodeJS、WebdriverIO、Mocha 框架、wdio-spec-reporter 和 wdio-browserstack-service 一起使用。
我设法创建了我的测试,在 conf.js 中指定的套件,连接到 browserstack(所以当我在命令行中运行时,它会在 browserstack 中创建一个文本日志和视频)。
现在我被要求做一些事情,以便在运行测试/套件时它会自动将文本日志保存为文本文件。
我的想法是要么构建一个附加函数并连接到规范报告器,要么从浏览器堆栈中检索它们。我花了一些时间在谷歌上搜索它,但除了使用魅力记者(看起来它可以做到这一点?)之外,我很难找到任何信息。这可能吗?如果是这样,如何以及以何种方式?
感谢您的帮助
【问题讨论】:
标签:
node.js
selenium-webdriver
automated-tests
mocha.js
webdriver-io
【解决方案1】:
解决了。记者使用的是全局构建的reporter.js 文件(在AppData 文件夹中),而不是插件文件夹中的那个。我所需要的只是在 "return output;" 语句之前打印结果。看起来像;
var d = new Date();
var fileDate = (d.getMonth()+1)+'-'+d.getDate()+'-'+d.getFullYear()+'_'+(d.getHours()+1)+'-'+d.getMinutes()+'-'+d.getSeconds();
var fileName = 'test-log_'+fileDate+'.txt';
var fs = require('fs');
fs.writeFile(fileName, output, function (err) {
});
【解决方案2】:
我不认为以前的解决方案是一个好的做法,因为改变了 webdriverio 本身。现在我正在使用 json-reporter 这使得解析信息非常容易并记录所有需要的内容