单击导航后错误同步量角器

时间:2015-12-02 01:14:45

标签: javascript angularjs protractor

有很多关于Error while waiting for Protractor to sync with the page的帖子,但我认为这是不同的。

设定: 我在页面上有一个带有角度的表单。表单执行POST,它也会使用angular重定向到另一个页面(让我们称之为提交页面)。提交是通过element().click()

触发的

触发提交后,我发现间歇性Error while waiting for Protractor to sync with the page问题。不是每次,也许是1/4的时间。

编辑:相关测试代码

// fill out form
element(by.css('.submit-btn')).click()
browser.wait(waitForUrl(), 5000)

// errors somewhere around here
expect(element(by.css('h1')).getText()).toMatch('Form submitted')
// errors somewhere around here

function waitForUrl() {
  return browser.getCurrentUrl().then(function(url) {
    return /submitted/.test(url)
  })   
}

在挖掘之后,我认为存在竞争条件,因为在提交页面上加载角度之前会运行一些测试操作。

我试过browser.waitForAngular()无济于事。 browser.ignoreSynchronization有效,但由于提交页面上有角度,因此这并不理想。我真的希望browser.waitForAngular()会做它看起来应该做的事情 - 等待加载角度,但似乎不这样做,除非我做错了。

0 个答案:

没有答案