2012-06-11 46 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此。它支持多种语言,你可以用它编写你的整个测试脚本。例如,您可以将其设置为单击某个元素,等待发生或填充文本框。