Angular 角度7:can';t更改量角器中的baseUrl(路由器使用哈希)

Angular 角度7:can';t更改量角器中的baseUrl(路由器使用哈希),angular,protractor,Angular,Protractor,我已尝试在gragrator.conf.js中更改baseUrl: exports.config = { allScriptsTimeout: 11000, specs: [ './src/**/*.e2e-spec.ts' ], capabilities: { 'browserName': 'chrome' }, directConnect: true, baseUrl: 'http://localhost:4200/#', framework:

我已尝试在gragrator.conf.js中更改baseUrl:

exports.config = {
  allScriptsTimeout: 11000,
  specs: [
    './src/**/*.e2e-spec.ts'
  ],
  capabilities: {
    'browserName': 'chrome'
  },
  directConnect: true,
  baseUrl: 'http://localhost:4200/#',
  framework: 'jasmine',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
    print: function() {}
  },
  onPrepare() {
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};
但不管我做什么,我都不能让它工作。我已尝试通过传递相对url在我的页面对象中导航:

browser.get('/authentication/sign-up');

但是它附加到的baseUrl仍然是默认的
http://localhost:4200
,而不是
http://localhost:4200/#

添加
浏览器。waitForAngularEnabled(false)
到您的配置文件并保持
baseUrl:'http://localhost:4200/“,

onPrepare() {
 browser.waitForAngularEnabled(false);
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};

希望这能帮助您添加浏览器。waitForAngularEnabled(false)到您的配置文件并保持
baseUrl:'http://localhost:4200/“,

onPrepare() {
 browser.waitForAngularEnabled(false);
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};

希望这对您有所帮助

我在编写测试时遇到过这样的问题。简单的回答是像这样直接使用驱动程序:

browser.driver.get('someUrl'))
这很可能会触发浏览器生成的警报,该警报可由驾驶员解除,如下代码所示:

const alertObject=browser.driver.switchTo().alert();
等待alertObject.accept();

希望这能有所帮助

我在编写测试时遇到过这样的问题。简单的回答是像这样直接使用驱动程序:

browser.driver.get('someUrl'))
这很可能会触发浏览器生成的警报,该警报可由驾驶员解除,如下代码所示:

const alertObject=browser.driver.switchTo().alert();
等待alertObject.accept();

希望这有帮助

如果在散列后添加额外的斜杠,会发生什么?同样的事情。我实际上已经登录了browser.baseUrl。这就是为什么我知道它没有从dragrator.conf.js文件中获取baseUrl的原因。我想知道包括tsconfig是否会覆盖该配置选项?当您更改tsconfig.e2e.json中的baseUrl(或者添加道具,因为我认为默认值是在tsconfig.e2e扩展的tsconfig.json中)时会发生什么情况?我也面临同样的问题,@Christian您找到答案了吗?如果在散列后添加额外的斜杠会发生什么情况?同样的事情。我实际上已经登录了browser.baseUrl。这就是为什么我知道它没有从dragrator.conf.js文件中获取baseUrl的原因。我想知道包括tsconfig是否会覆盖该配置选项?当您更改tsconfig.e2e.json中的baseUrl(或者添加道具,因为我认为默认值是在tsconfig.e2e扩展的tsconfig.json中)时会发生什么情况?我也面临同样的问题,@Christian您明白了吗?