2014-09-04 36 views
4

我想測試一些針對ui-ace實例的按鍵。但是,量角器無法專注於ace元素。 Ace包括一個<textarea>,我可以得到關注(並因此發送密鑰),但ui-ace不識別在那裏輸入的密鑰(並隨後不更新模型)。如何使用量角器將鍵發送到ui-ace實例?

選擇方法(by.model等)沒有影響。

我目前的解決方法是使用evaluate手動設置範圍值,但這打破了使用量角器的要點。

回答

9

好問題!似乎解決方法是首先雙擊。

至少以下適用於Chrome:

"use strict"; 
describe('Testing ui-ace', function() { 
    var divInput = $('div.ace_content'); 
    var inputElm = $('textarea.ace_text-input'); 

    it('opens a ui-ace page', function() { 
     browser.ignoreSynchronization = true; // sorry but no angular page 
     browser.get('http://angular-ui.github.io/ui-ace/'); 
     browser.sleep(3000); // sorry but no angular page 
    }); 

    it('starts editing', function() { 
     browser.actions().doubleClick(divInput).perform(); 
    }); 

    it('enters some text', function() { 
     inputElm.sendKeys('Hola'); 
     browser.sleep(5000); // to let you see the result 
    }); 
}); 
+1

謝謝!我現在正處於不同的分支中,但我會盡快查看您的答案。 – SomeKittens 2014-09-04 23:16:44

+0

解決了這個問題,但是閱讀該測試是一件痛苦的事情。無論在這些測試中都沒有斷言。另外,困難的睡眠總是不好的。試圖使用browser.wait函數 – 2014-10-16 21:29:28

+2

等待是爲了簡化答案,這不是問題的關鍵。雙擊e2e測試真的太痛苦了嗎?在堆棧溢出中總是歡迎更好的答案,所以請隨時發佈一個。 – 2014-10-16 21:52:58

相關問題