2016-05-23 76 views
1

我試圖通過綁定找到元素,問題在於該元素是一個吐司。量角器無法通過綁定找到元素

我使用:

element(by.css('.btn-primary3')).click() 

爲了模擬點擊。因此,測試期間,吐司確實出現在瀏覽器中。

然後,我試圖將元素存儲在變量中,並測試吐司的文本值是否等於期望值。

var toast = element(by.binding('toast.toast.title')); 
expect(toast.getText()).toEqual('Inloggen mislukt'); 

但是這裏彈出錯誤。

Failed: No element found using locator: by.binding("toast.toast.tile") 

當我檢查中的Chrome瀏覽器開發工具敬酒元素它顯示了這個樣子,

<div data-ng-repeat="toast in activeToasts"> 
    <span data-ng-bind="toast.toast.title" class="ng-binding"> Inloggen mislukt</span> 
</div> 

我認爲問題來自於一個事實,即跨度包含綁定不存在於頁面加載時的dom上。它在點擊按鈕時被創建。

+0

嘗試工具'Elementor'它rlly與AngularJs應用幫助,它可以讓你找到定位器。 它是在瀏覽器中作爲選擇列表生成的嗎?需要提供有效的答案。 – Hikaryu

回答

1

如果是這樣的話,wait for the presence of the element點擊按鈕後:

稱爲
element(by.css('.btn-primary3')).click(); 
var toast = element(by.binding('toast.toast.title')); 

browser.wait(EC.presenceOf(toast), 5000); 
expect(toast.getText()).toEqual('Inloggen mislukt'); 
+0

我正在'EC未定義'!! –

+0

@AnkurShah啊是的,它被定義爲'var EC = protractor.ExpectedConditions'。 – alecxe

相關問題