我正在尝试在 webstorm 8 中执行 e2e。我已经按照给出的说明配置了 node.js
以下是配置详细信息 -
Node interpreter: C:\Program Files\nodejs\node.exe
Working directory: E:\_work\Angular
Javascript file: node_modules\grunt-protractor-runner\node_modules\protractor\lib\cli.js
Application parameters: E:\_work\Angular\test\protractor.e2e.conf.js
以下是 protractor.e2e.conf.js 的内容
// A reference configuration file.
exports.config = {
seleniumServerJar: '../node_modules/grunt-protractor-coverage/node_modules/protractor/selenium/selenium-server-standalone-2.40.0.jar',
seleniumPort: 4443,
chromeDriver: '../node_modules/grunt-protractor-coverage/node_modules/protractor/selenium/chromedriver',
chromeOnly: false,
seleniumArgs: [],
// The address of a running selenium server. If specified, Protractor will
// connect to an already running instance of selenium. This usually looks like
//seleniumAddress: 'http://localhost:4444/wd/hub',
seleniumAddress: null,
specs: [
'./e2e/**/*.spec.js'
],
exclude: [],
// ----- Capabilities to be passed to the webdriver instance ----
//
// For a list of available capabilities, see
// https://code.google.com/p/selenium/wiki/DesiredCapabilities
// and
// https://code.google.com/p/selenium/source/browse/javascript/webdriver/capabilities.js
// Additionally, you may specify count, shardTestFiles, and maxInstances.
capabilities: {
browserName: 'chrome',
// Number of times to run this set of capabilities (in parallel, unless
// limited by maxSessions). Default is 1.
count: 1,
// If this is set to be true, specs will be sharded by file (i.e. all
// files to be run by this set of capabilities will run in parallel).
// Default is false.
shardTestFiles: false,
// Maximum number of browser instances that can run in parallel for this
// set of capabilities. This is only needed if shardTestFiles is true.
// Default is 1.
maxInstances: 1
},
// If you would like to run more than one instance of webdriver on the same
// tests, use multiCapabilities, which takes an array of capabilities.
// If this is specified, capabilities will be ignored.
multiCapabilities: [],
// ----- More information for your tests ----
//
// A base URL for your application under test. Calls to protractor.get()
// with relative paths will be prepended with this.
baseUrl: 'http://localhost:3000',
// Selector for the element housing the angular app - this defaults to
// body, but is necessary if ng-app is on a descendant of <body>
rootElement: 'html',
// ----- The cleanup step -----
//
// A callback function called once the tests have finished running and
// the webdriver instance has been shut down. It is passed the exit code
// (0 if the tests passed or 1 if not). This is called once per capability.
onCleanUp: function (exitCode) {
}
};
以下是规范文件 -
var util = require("../utils/util.js")(browser);
describe("Test: ", function() {
it("should redirect non authenticated users to the login page", function() {
util.setCookies([ { name:"zauth", value:"UNAUTHENTICATED_USER"}, { name:"ntID", value:"1"} ]);
util.browseTo(browser.baseUrl + "/en/", false);
browser.driver.getCurrentUrl().
then(function(url) {
expect(url).toBe(browser.baseUrl + "/servlet/LoginServlet?action=logout&msg=logout.");
});
});
});
当我运行 e2e 测试用例时,我看到浏览器窗口打开。它尝试运行测试用例,但由于 localhost 3000 不可用而失败。在控制台中,我收到以下错误消息 -
UnknownError: <unknown>: Failed to set the 'cookie' property on 'Document': Cookies are disabled inside 'data:' URLs.
我在配置中的任何地方都出错了吗?任何人都可以帮忙吗?