我正在使用intern框架进行功能测试并在本地运行浏览器(Firefox)。有没有办法捕获屏幕截图并将其写入文件?我尝试了下面的例子(回答这个网站上的类似问题)但我得到以下错误“TypeError:对象 PNG没有方法'替换'。我是这个实习生框架和javascript的新手。
感谢。
以下是我所拥有的以及我所看到的典型答案:
define(
[
'intern!object',
'intern/chai!assert',
'intern/dojo/node!fs'
],
function (registerSuite, assert, fs) {
registerSuite(
{
name: 'basict',
'screencap': function () {
var remote = this.remote;
var workflowUrl = "https://google.com/";
return remote
.setImplicitWaitTimeout(40000)
.get(workflowUrl)
.takeScreenshot()
.then(function(data) {
var base64Data = data.replace(/^data:image\/png;base64,/,"");
fs.writeFileSync("/tmp/myCapture.png", base64Data, 'base64');
})
.end()
}
}
);
}
);
答案 0 :(得分:1)
不确定为什么要进行字符串替换,而不是尝试
fs.writeFileSync("/tmp/myCapture.png", data, 'base64');
适合我