1

我知道这个问题已经解决了,但它对我不起作用。

我升级到 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 应用程序进行测试。任何想法?

4

1 回答 1

0

我现在找到的唯一解决方案是降级到 Chrome 53。任何解释或建议使其适用于最新版本的 Chrome 都非常受欢迎。

于 2016-10-26T08:50:23.463 回答