2015-05-12 28 views
1

獲取文本我有HTML:如何從臨時元素

<div class="p-login-info" ng-show="loggedOut()">My text.</div> 

而且在javascript:

var e = element(by.className('p-login-info')); 

e.getText() 
.then(function(text){ 
    var logoutText = "You have been log out."; 
    expect(text).toMatch(logoutText); 
    console.log("============= "+text); 
}); 

而且我的控制檯日誌中沒有任何東西。

任何想法?

+0

是測試失敗?如果是,那麼錯誤是什麼? – alecxe

+0

這是說 期望''是「你已經註銷。」 – Yte

回答

0

您可能需要使用textToBePresentInElement預期條件:

var EC = protractor.ExpectedConditions; 

var e = element(by.className('p-login-info')); 
browser.wait(EC.textToBePresentInElement(e, "You have been log out."), 5000); 
+0

嗨,我試過了,用 'element(by.css(「a [ng-click * ='globalActions.logout()']」))。click()' '.then(function() {' '變種EC = protractor.ExpectedConditions;'' 變種E =元件(by.className( 'p-登錄-信息'));' 'browser.wait(EC.textToBePresentInElement(E,「你''註銷。「),4000);' ')};' 我仍然** **錯誤:4465ms後等待超時** - 無論時間大小如何,錯誤消息中的ms總是更大。 – Yte

+0

@Yte感謝您回來,這可能意味着這不是包含文本的元素,或者此元素的文本不包含「您已註銷」。 – alecxe