2012-09-21 17 views
0

我有像這樣一個模式對話框內的一些輸入字段(這是玉):測試模式對話框與zombie.js

 .modal-body 
      .control-group 
       label.required(for="event-planner-email")= Email 
       .input 
        input#event-planner-email(name="email", type='text') 

      .control-group 
       label.required(for="event-planner-name")= Name 
       .input 
        input#event-planner-name(name="name", type='text') 

而且我希望能夠填補他們出一個考驗。我試着按下打開的模態的鏈接並填寫使用zombie.js瀏覽器對象的字段,在咖啡的代碼如下:

  browser.clickLink 'a#open-planner',() -> 
       browser 
        .fill('event-planner-email', someEmail) 
        .fill('event-planner-name', someName) 
        .pressButton 'Create',() -> 
         do done 

,但我得到一個錯誤說:「沒有輸入匹配‘事件策劃者的電子郵件’ 」。如果有人知道如何做到這一點,將不勝感激。謝謝!

回答

0

也許模式還沒有進入視圖,但您的電話回撥時間。如果發生顯示模式的轉換,則必須等待該轉換完成。

也許嘗試在您的通話將一個setTimeoutclickLink的:

browser.clickLink 'a#open-planner', -> 
    fillForm = -> 
     browser 
      .fill('event-planner-email', someEmail) 
      .fill('event-planner-name', someName) 
      .pressButton 'Create', -> 
       do done 

    setTimeout fillForm, 1000 
0

Bootstrap docs

您需要的模式加載後運行你的殭屍代碼,所以你應該使用「顯示「事件

$('#myModal').on('shown', function() { 
    // zombie 
}) 

我不知道如何表示,在咖啡

0

謝謝大家,原來我只是沒有使用正確的CSS選擇輸入元素,所以不是

   .fill('event-planner-email', someEmail) 

應該

   .fill('input#event-planner-email', someEmail) 

因爲玉片段上方,「事件-planner-email'是輸入元素的ID。想刪除我的問題,以便我不再暴露我的愚蠢,但顯然已經太晚了。