Recording and Replaying Navigations on AJAX Web Sites Alberto Bartoli Eric Medvet Marco Mauri DI3  Università di Trieste, Italy http://bartoli.inginf.units.it

July 2012

The Problem  Rich Internet Applications (AJAX)

REPLAY

RECORD

Operator-driven

 Sources not available (Third party, Live site)

Hours or Days

Automatic

…why bother ?  Very useful for GUI testing  Security  Functional  Regression …  Web macros  Reverse engineering

…

Key Requirement REPLAY

RECORD >

< User Action , Page Element >

Replayer

Trace

1. Identify Element 2. Execute Action

Identify Element...hhmmm…  DOM@Replay may be very different from DOM@Record  Dynamic content  Element in different position…or no longer exists

 Session-based element id  Elements without id / with duplicate id

 How to identify “the same” element when replaying a recorded trace ?  How to make sure “that” element still exists ?

That’s why…  Tools for Record & Replay have severe limitations  Non AJAX  Assume (implicitly) that Replay occurs immediately after the Record  Assume (implicitly) that Replay is always possible

Our Contribution  Transparent Record  With Firefox  Automated Replay  On the live sites

 Works with real sites of practical complexity  Methodology  Tool

Implementation (in a nutshell)  Transparent Record  Proxy injects Javascript for intercepting user events and recording them in a trace

 Automated Replay  Several heuristics for locating elements

It works…  Realistic complexity    

Google Search, Shopping, Monclick, +1 Twitter login, user search, respond to a tweet Amazon search, share, login and send by email …

 Correct replay  Even after several days  Ability to detect when replay is no longer possible

Thanks for your attention…

http://machinelearning.inginf.units.it/

Heuristics  findElementBySrc  Retrieves the first element with the same tag name and src attribute value  findElementByInput  Same type of form input and same value for certain attributes  findElementByGrid  Same tag name and coordinates in a specified grid

Uniqueness of «id»

Experiments… (just one of many)  Repeat every 6 hours  Google login  Search «SD 8 GB»  Click «shopping» link  Select first product  Click «compare prices»  Select Monclick shop  Activate «+1» on product details page  Deactivate «+1»

Experiments… (just another)  Repeat every 6 hours  Select «Book» product category on Amazon  Search «Landover»  Select first result  Click «Share»  Execute Amazon login  Fill «Share» form  Click «Send»

Recording and Replaying Navigations on AJAX Web ...

Navigations on AJAX Web Sites. Alberto Bartoli. Eric Medvet ... Web macros. □ Reverse engineering. □ … ... Session-based element id. □ Elements without id ...

280KB Sizes 1 Downloads 171 Views

Recommend Documents

Recording and Replaying Navigations on AJAX Web ... - Springer Link
Implementing such replaying functionalities with modern web technologies ... Recording occurs automatically, i.e., the user navigates with a normal browser and.

Recording and Replaying Navigations on AJAX Web ... - Springer Link
Implementing such replaying functionalities with modern web technologies such as ..... In: Proceedings of the 20th ACM International Conference on Information.

A Tool for Registering and Replaying Web Navigation
current web document for the associated target element TE; if found, replays the event using TE as target using WebDriver. If not found, the trace replayer ...

A Tool for Registering and Replaying Web Navigation
the buttons that compose the graphic interface of the iGoogle web application use the DOM 2 features to handle user events, so the approach taken by [2], [3] cannot register any event associated to those buttons, while the method described in this ar

AJAX And PHP - Building Responsive Web Applications (2006).pdf ...
AJAX And PHP - Building Responsive Web Applications (2006).pdf. AJAX And PHP - Building Responsive Web Applications (2006).pdf. Open. Extract.

pdf-1273\web-development-with-javascript-and-ajax-illuminated ...
Tao, and obtain the perks. Page 3 of 8. pdf-1273\web-development-with-javascript-and-ajax-illu ... ated-paperback-by-richard-allen-kai-qian-lixin-tao.pdf.

Recording head, substrate for use of recording head, and recording ...
Jun 8, 2000 - JP. 6-24864. 1/1994 ......... .. C04B/38/06. (73) Ass1gnee: Canon Kabushlkl Kalsha, Tokyo (JP). * Cited by examiner. ( * ) Notice: Subject' to any disclaimer, the term of this. Primary Examiner_JOhn Barlow patent is extended or adJusted

The security risks of AJAX/web 2.0 applications
Mar 2, 2007 - that handles calls between the client and server. Typically this would be a library of. Javascript functions included on the page. While this is a ...

The security risks of AJAX/web 2.0 applications
Mar 2, 2007 - familiar with Javascript and HTML can explain the ... tice where a PHP file is set as required ... the site employed one Javascript include file for ...

The New Web: Characterizing AJAX Traffic
Web 2.0 applications induce larger, heavier, and more bursty traffic on the un- derlying networks. .... lyzer of Bro [10], a network intrusion detection system. ... issued. This results in an output file with one-line summaries of each HTTP request.

AJAX and PHP - Navodaya Foundation
modern web browser, such as Internet Explorer, Mozilla Firefox, Opera, or Safari. • Web applications make ... Although the history of the Internet is a bit longer, 1991 is the year when HyperText Transfer. Protocol (HTTP) ... the location bar of Fi

google web toolkit gwt java ajax programming pdf
programming pdf. Download now. Click here if your download doesn't start automatically. Page 1 of 1. google web toolkit gwt java ajax programming pdf.

Gehtland - Pragmatic Ajax - Web 2.0 Primer (Raleigh, 2006).pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Gehtland ...

Ajax at HBS
Application Software Architect. Educational Technologies ... Harvard Business School ... ajaxrequest = new ActiveXObject("Microsoft. ... small user communities ...

Aranea Ajax
more and more similar to desktop applications in terms of features and qualities. ... Aranea's JavaScript API and synchronization filter service. The contributions are ...... http://msdn2.microsoft.com/en-us/library/ms537505.aspx. (28.05.2007).

22 Church Street South Ajax, ON - Flyer r.pdf
22 Church Street South Ajax, ON - Flyer r.pdf. 22 Church Street South Ajax, ON - Flyer r.pdf. Open. Extract. Open with. Sign In. Main menu.

Professional Ajax
been organized into a handful of design patterns that describe best practices for Ajax .... As the Web evolved, businesses soon saw potential in the ability to distribute ...... broadband Internet solutions, many sites have upgraded, including ...

javascript & ajax accessibility
Web Accessibility Architect. IBM Emerging .... Replace data where possible rather than creating and adding new elements to the page. Not all AT can handle ...

web information on traveling and accommodations_JP_SD.pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. web information ...

Recording device
Jun 18, 2003 - making the components compact. Under the .... herein Will occur to one skilled in the art upon employment of the invention in .... shoWn by the dotted line in FIG. 3C, the pinch ... illustration, and may be decided as required.

Agnostic AJAX (1)
Agnostic AJAX: Asynchronous JavaScript and Data ... Need not use XML as data format for AJAX updates .... Calls display function to convert data to HTML table.