2013-10-10 39 views
0

我想用噶瑪測試茉莉花表格。當我輸入錯誤憑證並單擊按鈕時,會顯示一條通知並顯示相應的消息。不幸的是,在業務中的iframe中沒有顯示這個div,所以下一個expect會失敗,因爲選擇器不匹配任何元素。在茉莉花測試表格,Karma

it('Testing a form', function() { 
    browser().navigateTo('/index.html'); 
    input('firstName').enter('Wrong'); 
    input('lastName').enter('Wrong'); 
    element(':button.btn').click(); 
    expect(element('.msg h1').text()).toMatch('Wrong Credentials'); 
} 

我得到的錯誤是

選擇。味精H1不匹配的任何元素。

當我使用sleep(10)或pause()以查看單擊事件後的表單時,消息未出現,這就是選擇器與任何元素都不匹配的原因。請任何想法嗎?非常感謝你!

+0

如何顯示通知?如果元素是通過轉換引入的,我已經看到很多類似的問題。 – Andyrooger

+0

有一個指示顯示消息。這不僅是一個隱藏的div,當憑證正確時我可以看到它。 – jimakos17

+0

你是否認爲你可以將你的代碼和測試歸結爲一個小的相關示例,用於plunker或jsfiddle?我不確定有足夠的信息可以看到這裏有什麼問題(至少對我來說)。 – Andyrooger

回答

0

你可以試試這個;

變化expect(element('.msg h1').text()).toMatch('Wrong Credentials');

expect(element('[ng-view] .msg h1').text()).toMatch('Wrong Credentials'); 
1

1.You可以創建使用$編譯服務,並通過設置文本框的值來測試它的測試腳本中同一表單元素,並觸及$(「按鈕類」 )。單擊(); 並設置間諜顯示錯誤或成功味精的方法,所以你可以瞭解是否正在顯示味精。 2.您必須從表單數據創建JSON並驗證它或將該表單數據分配給任何$ scope.variable_name.Before在調用驗證函數之前顯式設置該變量具有錯誤的輸入。然後在button click或$ scope上調用該函數。 $放出( '點擊');並設置間諜用於顯示錯誤消息的方法。