网页未与量角器脚本正确同步

时间:2015-10-28 08:50:17

标签: protractor

我必须使用量角器验证网页上的消息。单击事件后会显示该消息。我附加了原始的类名。 5秒后消息消失。

我编写了以下代码但它返回空值,因为我的代码在click事件之前运行。我的脚本没有与网页同步。我该怎么办?

browser.ignoreSynchronization = false;
regSaveBtn.click();
browser.wait(element(by.css('.animate-fade events-message  success')).isPresent);
browser.waitForAngular();
expect(element(by.css('.message-text')).getText()).toEqual('Your info\'s been saved.');

1 个答案:

答案 0 :(得分:1)

您必须等到元素在页面上可见,然后尝试使用wait()函数获取其值。等待使用.then()链接解决上一个命令的承诺应解决大多数问题。这是怎样的 -

var EC = protractor.ExpectedConditions;
browser.ignoreSynchronization = false; 
regSaveBtn.click().then(function(){
    browser.wait(EC.visibilityOf(element(by.css('.animate-fade.events-message.success'))), 10000)
    .then(function(){
        expect(element(by.css('.message-text')).getText()).toEqual('Your info\'s been saved.');
    });
});

browser.waitForAngular(); 

希望它有所帮助。