2012-06-11 18 views
6

Estoy escribiendo una extensión de Chrome que registra sus acciones como (clic de mouse, teclado de teclado). La idea de la extensión es ayudarnos a mí y a mis colegas a reducir las pruebas aburridas de nuestro proyecto basado en la web. Lo hice para grabar los eventos y almacenarlos en el servidor de desarrollo como mysql para que pueda usarlos o compartirlos. Pero el problema es reproducir las acciones guardadas.cromo extension force mouse move

Entonces, ¿cómo si hay una manera de forzar el movimiento del mouse, eventos de clic del mouse. ¿Se puede hacer desde flash, java o algo así?

PS. El proyecto es Extjs pero quiero que la extensión sea útil para el desarrollador que usa otros marcos y publicarlo.

+0

Y, ¿ha progresado con su extensión? – Christoph

Respuesta

1

Imagina un sitio web aleatorio controlando tu mouse ... no es genial, ¿o sí? (Es por eso que no puede forzar mousemove a través de javascript)

Sin embargo, puede activar clics en los elementos. Para lograrlo, debe guardar el evento (mouse-over | out/(dbl) click/whatever) y el elemento correspondiente (en la función event: this). Eso debería ser suficiente para simular el flujo de trabajo.

jQuery-Ejemplo:

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

vainilla javascript:

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

Si necesita simular movimientos de mouse, puede activarlos en: http://stackoverflow.com/questions/911586/javascript-simulate-mouse-over-in-code –

+0

Tiene razón, pero el problema es que extjs crea, por ejemplo, ID dinámicamente y no puede guardar la acción como "this id -> click". Y pensé que Chrome permite controlar el mouse desde una extensión (porque el usuario/desarrollador permitió instalar la extensión). – mraiur

+0

@mraiur Es posible que las extensiones de cromo permitan controlar el mouse, aunque lo dudo mucho. Sin embargo, dado que los eventos tienen coordenadas asociadas, puede tratar de ubicar el elemento que está en esta posición y activar un clic una vez que se haya determinado. Pero veo muchos problemas potenciales que surgen con ese método. – Christoph

0

Considere el uso de Selenium para esto. Tiene soporte para muchos idiomas, y puede guiar toda su prueba con él. Por ejemplo, puede configurarlo para que haga clic en un elemento, espere a que suceda algo o llene cuadros de texto.