2012-11-28 25 views
3

我們的開發部門正在使用AngularJS來構建Web應用程序。 我正在研究自動化測試,因爲它會爲我們節省大量時間。如何使用Watir觸發ng-dblclick

我發現Watir在測試時非常有用......事情是這樣的,它與AngularJS不兼容。

例如: 我們有一個選擇多個項目。這些項目都使用ng-dblclick來觸發一個動作(創建一個div)。

我試着使用:

browser.select_list(:class, "domain-list").select("Item 2") 
browser.select_list(:class, "domain-list").fire_event("dblclick") 

而且

browser.select_list(:class, "domain-list").select("Item 2") 
browser.select_list(:class, "domain-list").fire_event("ng-dblclick") 

而且

browser.select_list(:class, "domain-list").select("Item 2") 
browser.select_list(:class, "domain-list").double_click 

而且

browser.select_list(:class, "domain-list").select("Item 2") 
browser.select_list(:class, "domain-list").click 
browser.select_list(:class, "domain-list").click 

所有沒有成功。

我的問題是: a。是否可以雙擊AngularJS ng-click/ng-dblclick啓用的元素? b。如果是這樣......怎麼樣?

謝謝!

+2

如果您可以鏈接到帶有示例HTML的頁面,或者提供相關的HTML,它將**真的**幫助。 –

回答

2

根據問題描述,我猜測ng-dblclick實際上是在列表的選項上,而不是列表本身。

試着點擊選項本身:

browser.select_list(:class, "domain-list").option(:text, "Item 2").double_click 
+0

嗨,賈斯汀! 感謝您的回覆!在你的幫助下,我得到了它的工作: browser.select_list(:class,「domain-list」)。option(:text,「Item 2」)。fire_event(「dblclick」) – svh1985

2

從賈斯汀的帖子更換.double_click到.fire_event( 「DBLCLICK」)提出它的工作!

browser.select_list(:class, "domain-list").option(:text, "Item 2").fire_event("dblclick") 

謝謝賈斯汀!