2013-05-25 8 views
5

Próbuję utworzyć podstawowe narzędzie do nagrywania przy użyciu Selenium2/Webdriver i jestem świadomy, że Selenium już zapewnia IDE, ale chcę zbudować bardziej ogólny.Selen: Webdriver: Czy istnieje narzędzie do przechwytywania akcji użytkownika w sesji przeglądarki uruchomionej przez WebDriver?

Mówiąc dokładniej, po uruchomieniu przeglądarki przy użyciu WebDiver API w java, chciałbym zarejestrować słuchacza w bieżącej sesji, aby móc uchwycić interakcję użytkownika z uruchomioną przeglądarką WebDriver. Zasadniczo, gdybym miał pisać rekordowe interakcje użytkownika w Javie, jak mogę to zrobić? Jest bardzo podobny do klasy EventFiringWebDriver, ale ta klasa powiadamia odbiorcę, gdy sterownik inicjuje polecenie, a nie sesję bastra.

Na przykład powiedzieć, że uruchomienie przeglądarki z następujących poleceń:

kierowca WebDriver = new FirefoxDriver();

Teraz jest otwarta pusta przeglądarka Firefoxa, która mówi WebDriver na dole w kolorze czerwonym. Załóżmy teraz, że wpisuję adres www.google.com w tej przeglądarce i naciśnij enter. Przeglądarka przechodzi do strony google.com. Czy mogę zarejestrować detektor, który powiadamia mnie o zdarzeniach występujących w tej sesji przeglądarki?

Doceniam twoją pomoc.

+0

Jakieś wskazówki, ktoś? Proszę pomóż. – Rex

Odpowiedz

2

Nie jestem zaznajomiony ze słuchaczami. Wiem, że ludzie używali czegoś takiego jak BrowserMob Proxy, aby działać jako człowiek w środku, aby przechwytywać i odtwarzać działania HTTP. Ponieważ WebDriver działa z wykorzystaniem protokołu JSON Wire Protocol, myślę, że może być bardziej odpowiedni dla tego, czego szukasz.

Simon Stewart (twórca WebDrivera) posiada szczegółowy opis filozofii i architektury projektu Selenium WebDriver. Możesz zobaczyć, że here.

Cheers, Dave H

+0

Dziękuję bardzo za dokładną reakcję. To jest dokładnie to, czego szukam. Nie masz wystarczającej reputacji, aby zagłosować na swoją odpowiedź :) – Rex

+1

Również link do posta grupy Google i bardziej szczegółowy opis problemu. https://groups.google.com/forum/?fromgroups=#!topic/selenium-users/29GyTVvayCE – Rex

+1

To świetnie się słyszy! Cieszę się, że byłem pomocny i dziękuję za rekwizyty. –

1

Jest rzeczywiście WebDriverEventListener .Patrz link doc. Twoje zdrowie.

+0

Dzięki za odpowiedź. Jednak ten słuchacz działa w odwrotny sposób. Oznacza to, że gdy sterownik sieciowy kliknie, przechwytuje zdarzenie, a nie odwrotnie.Chciałbym uchwycić zdarzenia, które zdarzają się w przeglądarce, takie jak kliknięcie, przeciągnij i upuść, wyślij klucze itp. W kodzie Java. Podobnie jak program Selenium IDE, ale programowo. – Rex

Powiązane problemy