Как сказать Protractor глобально использовать хеш в baseUrl? - PullRequest
0 голосов
/ 02 ноября 2018

В настоящее время HashLocationStrategy включена в моем приложении Angular, и когда я запускаю

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

в моей спецификации e2e я получаю следующую ошибку:

Есть ли способ указать Protractor использовать хеш-суффикс в baseUrl во всем мире?

1 Ответ

0 голосов
/ 03 ноября 2018

Вы можете определить 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
...