我必须使用量角器验证网页上的消息。单击事件后会显示该消息。我附加了原始的类名。 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.');
答案 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();
希望它有所帮助。