我知道这个问题已经解决了,但它对我不起作用。
我升级到 protractor4.0.9/Jasmine2、chromedriver 2.25、Chrome54。
像这样的简单测试失败了:
describe('Test', () => {
it('should go to home', () => {
browser.get('/#/home');
expect(browser.getCurrentUrl()).toContain('home');
});
it('should do something else', () => {
expect(element(by.css('.element')).isPresent()).toEqual(true);
});
});
它永远不会通过第二个规范。即使 browser.get() 正在工作。它在正确的路径上导航。但它最终是:
Running 1 instances of WebDriver
Started
...
Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL
在我的量角器配置中,我有:
framework: 'jasmine2',
allScriptsTimeout: 110000,
directConnect: true,
useAllAngular2AppRoots: true,
jasmineNodeOpts: {
defaultTimeoutInterval: 400000
},
onPrepare: function () {
browser.ignoreSynchronization = true;
// browser.param.jasmineTimeout = 400000;
jasmine.getEnv().DEFAULT_TIMEOUT_INTERVAL = 400000;
}
我正在使用 Angular 2 应用程序进行测试。任何想法?