Here is the code:
it('Verify Backup details if present', function(){
(profile_page.BPP_Contact_BackupDiv).isPresent().then(function(isVisible){
if (isVisible) {
expect((profile_page.BPP_Contact_Backup).getText()).toEqual("Backup:");
expect((profile_page.BPP_Contact_BackupData).getText()).not.toBe(null);
expect((profile_page.BPP_Contact_BackupData).getAttribute("href")).not.toBe(null);
} else{
console.log("BPP_Contact_BackupDiv Is not Displayed");
}
}, function(err) {
console.log("In Error");
console.log(err);
});
});
据我所知,这应该在“If”元素存在,而“Else”如果元素不存在。 我正在关注Page对象模态和 BPP_Contact_BackupDiv = element(by.css(我的元素标识符)); 当元素不存在时,这是失败的。 我收到此错误: -Error:超时 - 在超时规范中没有通过jasmine.Default_Timeout_Interval
调用异步回调我也曾在Before Each中尝试过这个:
beforeEach(function (done) {
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000;
setTimeout(function () {
console.log('inside timeout');
done();
}, 500);
});
答案 0 :(得分:0)
如果您改用browser.isElementPresent()
该怎么办:
browser.isElementPresent(profile_page.BPP_Contact_BackupDiv).then(...)
答案 1 :(得分:0)
当我添加超出默认超时时间的时间时,问题似乎得到了解决:
it('Verify Backup details if present', function(){
(profile_page.BPP_Contact_BackupDiv).isPresent().then(function(isVisible){
if (isVisible) {
expect((profile_page.BPP_Contact_Backup).getText()).toEqual("Backup:");
expect((profile_page.BPP_Contact_BackupData).getText()).not.toBe(null);
expect((profile_page.BPP_Contact_BackupData).getAttribute("href")).not.toBe(null);
} else{
console.log("BPP_Contact_BackupDiv Is not Displayed");
}
}, function(err) {
console.log("In Error");
console.log(err);
});
}60000);