2015-05-07 57 views
0

鑑於:量角器測試這個HTML和JS代碼。能夠做到browser.get並點擊鏈接來成功登錄頁面。 「登錄」表單需要從測試中正確輸入的用戶名和密碼,但我無法單擊該按鈕。量角器click()沒有按預期工作,我做錯了什麼?

<button type="submit" class="button positive">Log In</button> 

element.all(by.buttonText('Log In')).then(function (item) { 
    item.forEach(function (final) { 
     final.submit(); 
     final.click();            
    }); 

如果我把一個破發點上的foreach語句我看到「項目」的確與1。然後,我在突破的長度「的陣列final.submit();」我看到這個..

enter image description here

我甚至嘗試提交表單,而不是上的按鈕患難見真情的...

var af = element.all(by.name('loginForm')); 
     af.submit(); 
    }); 

結果都是一樣的...

回答

0

的這個問題的根本原因是表單提交的內容是錯誤的。這隻能通過在表單提交上查看網絡級別的響應才能看到,實質上,點擊正在工作,這只是該頁面什麼都不做。登錄表單的開發人員沒有在應用程序中公開任何登錄錯誤。

所以我研究瞭如何使用量角器得到http響應代碼,並且它不被支持,因爲Selenium團隊已經決定它不是該計劃的一部分。因此,從量角器的角度來看,唯一的選擇是放入正確的期望陳述,並且如果測試不「到達」則不能通過測試。

我也能夠確定上面的屏幕截圖是Seleneium WebElement類的結構。因爲Selenium只是異步的,所以上面看到的只是方法,因爲它是承諾返回屬性和/或函數調用的結果。

相關問題