2012-06-11 47 views
6

我正在寫一個Chrome擴展,記錄您的動作,如(鼠標點擊,鍵盤按鍵)。擴展的想法是幫助我和我的同事減少我們基於Web的項目的無聊測試。我做了它記錄事件並將其作爲mysql存儲在開發服務器上,以便我可以使用或共享給他們。但問題是重放已保存的操作。鉻擴展力鼠標移動

那麼如果有辦法強制鼠標移動,鼠標點擊事件。它可以從閃存,Java或類似的東西完成。

PS。該項目是Extjs,但我希望使擴展對使用其他框架的開發人員有用併發布。

+0

而且,你的擴展是否取得了進展? – Christoph

回答

1

想象一下一些隨意的網站控制你的鼠標......不酷,是嗎? (這就是爲什麼你不能通過javascript強制mousemove)

但是,你可以觸發點擊元素。爲了達到這個目的,你需要保存事件(mouse-over | out /(dbl)click/whatever)和相應的元素(在eventfunction:this中)。這應該足以模擬工作流程。

jQuery的實施例:

$('#item').click(); 
$('#item').trigger('click'); 

香草的javascript:

document.querySelector("#item").click(); 
+0

如果你需要模擬鼠標移動事件,你可以觸發它們:http://stackoverflow.com/questions/911586/javascript-simulate-mouse-over-in-code –

+0

你是對的,但問題是extjs例如創建ID動態和不能保存爲「此ID - >點擊」的行動。 иi認爲chrome允許從擴展中控制鼠標(因爲用戶/開發人員允許安裝擴展程序)。 – mraiur

+0

@mraiur這可能是鉻擴展允許控制鼠標,但我非常懷疑這一點。但是,由於事件具有與之相關的座標,因此您可以嘗試找到位於此位置的元素,並在確定後再觸發點擊。但是我發現這種方法會帶來很多潛在的問題。 – Christoph

0

考慮使用Selenium此。它支持多種語言,你可以用它編寫你的整個測試腳本。例如,您可以將其設置爲單擊某個元素,等待發生或填充文本框。