如何使用本地浏览器(FF)截图并使用intern javascript写入文件

如何使用本地浏览器(FF)截图并使用intern javascript写入文件,javascript,intern,Javascript,Intern,我正在使用INTERN框架进行功能测试,并在本地运行浏览器(Firefox)。有没有办法捕获屏幕截图并将其写入文件?我尝试了下面的例子(在这个网站上回答类似的问题),但我得到了以下错误“TypeError:Object”�PNG没有“替换”方法。我是这个实习生框架和javascript的新手 谢谢 以下是我的答案和我看到的典型答案: define( [ 'intern!object', 'intern/chai!assert', 'inte

我正在使用INTERN框架进行功能测试,并在本地运行浏览器(Firefox)。有没有办法捕获屏幕截图并将其写入文件?我尝试了下面的例子(在这个网站上回答类似的问题),但我得到了以下错误“TypeError:Object”�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()
                }
            }
        );
    }
    );

不确定为什么要进行字符串替换,请尝试

fs.writeFileSync("/tmp/myCapture.png", data, 'base64');

对我有用

是的,就是这样。很好。不知道为什么有人在回答中有这个。我可以发誓我在周五离开之前试过你的答案。