2012-06-11 30 views
6

Piszę rozszerzenie chrome, które rejestruje swoje działania, jak (kliknięcie myszą, keyup klawiatury). Ideą rozszerzenia jest pomoc mi i moim kolegom w zredukowaniu nudnych testów naszego internetowego projektu. Zrobiłem to, aby rejestrować zdarzenia i przechowywać je na serwerze dev jako mysql, więc mogę ich używać lub udostępniać. Ale problem polega na odtwarzaniu zapisanych akcji.Chrom rozszerzenie siłą myszy ruch

W jaki sposób można wymusić ruch myszy, kliknięcia myszą. Czy można to zrobić z flasha, java lub czegoś w tym stylu.

PS. Projektem jest Extjs, ale chcę, aby rozszerzenie było przydatne dla programistów korzystających z innych frameworków i publikować je.

+0

Czy zrobiłeś postęp z twoim rozszerzeniem? – Christoph

Odpowiedz

1

Wyobraź sobie jakąś przypadkową stronę kontrolującą mysz ... nie jest cool, prawda? (Dlatego nie można wymusić myszy przez javascript)

Można jednak wywoływać kliknięcia elementów. Aby to osiągnąć, musisz zapisać zdarzenie (mouse-over | out/(dbl) click/whatever) i odpowiedni element (w funkcji event: this). To powinno wystarczyć do symulacji przepływu pracy.

jQuery przykład:

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

wanilia JavaScript:

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

Jeśli chcesz symulować zdarzenia przenoszenia myszy, możesz je wywołać: http://stackoverflow.com/questions/911586/javascript-simulate-mouse-over-in-code –

+0

Masz rację, ale problem polega na tym, że extjs tworzy na przykład ID dynamicznie i nie mogę zapisać akcji jako "ten identyfikator -> kliknij". I pomyślałem, że chrom pozwala kontrolować mysz z rozszerzenia (ponieważ użytkownik/programista zezwolił na zainstalowanie rozszerzenia). – mraiur

+0

@mraiur Możliwe, że rozszerzenia chrome pozwalają kontrolować mysz, chociaż bardzo w to wątpię. Ponieważ jednak zdarzenia mają przypisane współrzędne, można spróbować zlokalizować element, który znajduje się na tej pozycji i wywołać kliknięcie po ustaleniu. Ale widzę wiele potencjalnych problemów wynikających z tej metody. – Christoph

0

Należy rozważyć zastosowanie Selenium do tego. Posiada wsparcie dla wielu języków i możesz skryptować cały test za jego pomocą. Możesz na przykład ustawić go tak, aby kliknął element, poczekał, aż coś się wydarzy, lub wypełni pola tekstowe.