0

我正在使用实习生框架进行功能测试并在本地运行浏览器(Firefox 版本 39)。有没有办法捕获屏幕截图 png 文件?我尝试了以下示例How to take a screenshot with local browser (FF) and write to file in intern javascript但我收到此错误

" node_modules/intern/node_modules/dojo/dojo.js:757 throw new Error('Failed to load module ' + module.mid + ' from ' + url + ".

我是这个实习生js框架和leadfood的初学者。

非常感谢您的关注。

这是我所拥有的:

 define([
            'intern!object',
            'intern/chai!assert',
            'require',
            'tests/support/personas'
        ], function (registerSuite, assert, require, personas) {

            registerSuite({
                name: 'index',
                'greeting form': function () {
                    var persona = personas[0]
                    return this.remote
                        .get(require.toUrl('https://www.google.de/'))
                        .setFindTimeout(5000)
                        //.setFindTimeout(5000)
                      .findByCssSelector('input[id="billingAddress.zip"]')
                              .click()
                              .type('50800')
                              .end()

                    .getCurrentUrl()
                    .takeScreenshot
                    .then(function (data) {
                    fs.writeFileSync('/tmp/myCapture', data,'base64');
                    )}
4

1 回答 1

0

好的,由于您告诉实习生导航到 URL 的方式,您在这里看到了一个错误。

您使用.get(require.toUrl('https://www.google.de/'))的是不正确的。您只能.get(require.toUrl('...'))与实习生版本 3一起使用,并且当您要求实习生从本地计算机上的文件中打开静态网页时。

因此,如果 / 当您使用该.get(require.toUrl('...'))方法时,您应该从本地计算机向 HTML 文件发送位置,而不是 URL。

你应该使用的是:

.get('https://www.google.de/')

这将为您解决该错误!

仅作记录 -在实习生版本 4.get(require.toUrl())中不再使用。使用版本 4,无论您使用的是 URL 还是文件,都可以使用。.get()

于 2017-11-21T09:04:11.780 回答