2016-04-07 70 views
2

我试图测试在输入有效电子邮件并单击提交按钮后出现咆哮消息。量角器(测试角咆哮)通过/失败不一致

我知道功能在那里,因为我看到webdriver运行时会出现咆哮消息。问题是在测试中捕获咆哮信息。

我试过把forgotPasswordPage.submitButton.click()都放在browser.wait函数的外部(之前)和内部。我们将我们的咆哮配置为显示4秒的消息,这就是我获得等待时间的地方。我正在寻找一种方法使此测试更加可靠,理想情况下,我将能够测试实际在咆哮消息中的文本,但第一件事是第一件事。

it('should display green growl message if user email does exist', function(){ 
    // uses testUsers[0] 
    forgotPasswordPage.emailInput.sendKeys(testUsers[0].email); 

    browser.wait(function() { 
     forgotPasswordPage.submitButton.click(); 
     return element(by.css('.alert-success')).isPresent() 
    }, 4000) 
    .then(function(growlMessageIsPresent){ 
     expect(growlMessageIsPresent).toBeTruthy(); 
    }) 
    .then(null, function(err) { 
     console.log('error', err) 
     expect(err).not.toBeTruthy(); 
    }) 
}) 

回答

2

我们有一个类似的问题,试图抓住它出现了几秒钟的状态消息,然后就消失了,这是我们不得不接近转动量角器对角同步关闭暂时:

browser.ignoreSynchronization = true; 
+0

相关问题https://github.com/angular/protractor/issues/169。总之 - 除了上述之外,没有真正的解决方案。 – niaher