0

目前,HashLocationStrategy 在我的 Angular 应用程序中启用,当我运行时

  expect(browser.getCurrentUrl()).toBe(browser.baseUrl + '/login');

在我的 e2e 规范中,我收到以下错误:

有没有办法告诉量角器在baseUrl全局范围内使用哈希后缀?

4

1 回答 1

1

您可以在配置文件中定义baseUrl或从命令行或Jenkins传递参数,以便它可用于所有规范。

exports.config = {
    seleniumServerJar: '../../node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.11.0.jar',
    specs: ['../spec/*.js'],
    framework:'jasmine2',
    baseUrl: "http://localhost:49152/#/"
}

并且可以检查预期,

expect(browser.getCurrentUrl()).toBe(browser.baseUrl + 'login');
expect(browser.getCurrentUrl()).toContain(browser.baseUrl + 'login');

或者,如果您从命令行传递参数,

protractor --baseUrl='http://localhost:49152/#/' protractor.conf.js
于 2018-11-02T21:56:32.680 回答