javascript – 用量角器打开文件

前端之家收集整理的这篇文章主要介绍了javascript – 用量角器打开文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在互联网上找到的每个量角器的例子似乎都是使用具有web URI的browser.get.
browser.get('http://localhost:8000');

我想使用Selenium来简单地导航到一个文件://路径,以便我不需要运行本地Web服务器来执行测试.我需要的是一个简单的HTML页面和一些资产.

这似乎不行.

browser.get('file:///Users/myusername/dev/mpproject/spec/support/index.html');

当我将该URI粘贴到浏览器窗口中时,我会获得一个HTML页面.当我尝试用量角器打开它,我得到一个超时.

如何使用量角器在此页面上运行测试?理想的答案将与来自myproject根的相对文件路径一起使用.

解决方法

我发布了我有 found in here解决方案,帮助我使用文件协议运行量角器.

By default,Protractor use data:text/html,<html></html>@H_502_21@ as resetUrl@H_502_21@,but location.replace@H_502_21@ from the data:@H_502_21@ to the file:@H_502_21@ protocol is not allowed (we’ll get “not allowed local resource” error),so we replace resetUrl@H_502_21@ with one with the file:@H_502_21@ protocol:

exports.config = {
    // ...

    baseUrl: 'file:///absolute/path/to/your/project/index.html',onPrepare: function() {

        // By default,Protractor use data:text/html,<html></html> as resetUrl,but 
        // location.replace from the data: to the file: protocol is not allowed
        // (we'll get ‘not allowed local resource’ error),so we replace resetUrl with one
        // with the file: protocol (this particular one will open system's root folder)
        browser.resetUrl = 'file://';
    }

    // ...
};

如果要运行到项目文件夹的相对路径,那么您可以使用Node.js工具,因为量角器在Node.js环境中运行.例如,__dirname将返回一个绝对路径,以保存您的Protractor@R_301_382@的目录.结果使用:

exports.config = {
    // ...

    baseUrl: 'file://' + __dirname + '/spec/support/index.html'

    // ...
};

另外,如果您的应用程序向某些端点发出XHR请求,哪些不允许从文件:,则可能必须使用自定义标志运行测试浏览器.在我的情况下是Chrome:

exports.config = {
    // ...

    capabilities: {
        browserName: 'chrome',chromeOptions: {
            // --allow-file-access-from-files - allow XHR from file://
            args: ['allow-file-access-from-files']
        }
    }

    // ...
}

猜你在找的JavaScript相关文章