用于使用internjs框架进行功能测试的屏幕截图功能可以正常工作

时间:2015-08-07 08:53:10

标签: javascript automation css-selectors intern leadfoot

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

" node_modules /实习生/ node_modules /道场/的dojo.js:757 抛出新错误('无法加载模块' + module.mid +'来自' + 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');
                    )}

1 个答案:

答案 0 :(得分:0)

好了,你在这里看到了一个错误,因为你告诉实习生导航到这个网址的方式。

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

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

你应该使用的是:

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

这将为您解决该错误!

仅供记录 - 实习生第4版不再使用.get(require.toUrl())。对于版本4,无论您是使用网址还是文件,都可以使用.get()