角度页面上的量角器测试超时

Protractor test on an Angular Page Timed Out

本文关键字:量角器 测试 超时      更新时间:2023-09-26

我创建了一个简单的Angular门户页面。在主页上有一个搜索栏,你可以在其中键入一些nba球队的名称,如"芝加哥公牛队"、"印第安纳步行者队"等。在你键入球队名称并点击提交后。您将被重定向到第二页,在那里您可以阅读您键入的团队的摘要。

我正在使用angular js和量角器来测试我的页面。在第一页上,我做了一个简单的测试,结果通过了。我简单地检查了标题标签是正确的

it('should have a title', function() {
    browser.get('http://localhost:3000/');
    expect(browser.getTitle()).toEqual('NBA | NBA SUMMARY');
  });

第二页的标题也应相同。所以我做了下面的测试来检查。我输入了一些团队名称,然后点击提交进入第二页。这是我的代码

  it('Title should be consistent', function(){
    browser.get('http://localhost:3000/');
    element(by.css('input')).sendKeys('Chicago Bulls');
    element(by.css('button')).click();
    expect(browser.getTitle()).toEqual('NBA | NBA SUMMARY');
    });

然而,第二次测试从未运行,它超时了,我收到了以下消息。

   Message:
     Timed out waiting for Protractor to synchronize with the page after 11 seco
nds. Please see https://github.com/angular/protractor/blob/master/docs/faq.md
   Stacktrace:
     undefined
Finished in 13.67 seconds
1 test, 1 assertion, 1 failure

这是我的conf.js文件代码

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs: ['spec.js'],
  capabilities: {
    browserName: 'chrome'
  }
}

我是不是错过了什么?请提供建议。

调整ignoreSynchronization在这里应该有帮助:

afterEach(function () {
  browser.ignoreSynchronization = false;
});
it('Title should be consistent', function(){
  browser.get('http://localhost:3000/');
  element(by.css('input')).sendKeys('Chicago Bulls');
  browser.ignoreSynchronization = true;
  element(by.css('button')).click();
  expect(browser.getTitle()).toEqual('NBA | NBA SUMMARY');
});