我尝试在protractor.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 } }));
}
};
但是无论我做什么,我都无法正常工作。我尝试通过传递相对网址来导航我的Page对象:
browser.get('/authentication/sign-up');
,但是附加到其的baseUrl仍然是默认的http://localhost:4200
,而不是http://localhost:4200/#
答案 0 :(得分:0)
将browser.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 } }));
}
};
希望这对您有帮助
答案 1 :(得分:0)
我在针对其编写测试的应用程序之一中遇到了此问题。简短的答案是像这样直接使用驱动程序:
browser.driver.get('someUrl')
这很有可能触发浏览器生成的警报,该警报可以由驱动程序以及以下代码消除:
const alertObject = browser.driver.switchTo().alert();
await alertObject.accept();
希望这会有所帮助