Skip to content
/ jsflight Public

Tools to record and replay user's activity in a web application

License

Notifications You must be signed in to change notification settings

d0k1/jsflight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSFlight

Tools to record user's activity and replay it later. The project's main goal is to store major user events in a browser (mouse clicks, key presses) and them reproduce them using Selenium WebDriver. Besides it can store HttpRequests on server-side and convert them to a JMeter Scenario to replay it later.

Recording concepts

Browser recording

  • You should add some JS to a host page to record browsers events
  • Injected code will add some event handlers (you can easily configure what events should be recorded and what are not)
  • Event handlers store their data in browser's session store
  • Data from browser's session store is to be sent to the server with some period of time (Default period is 5 seconds)
  • javax.servlet.http.HttpServlet on server side decides what to do with data it received

Server-Side recording

  • There is base class to be used to build a custom javax.servlet.Filter
  • The filter will record any http request to urls it has been mapped to
  • Of course you can add some special app's internal events to the recording. For example to monitor a production environment (or to get more data to replay user load more accurate)

Release Codeship Status for d0k1/JSFlightRecorder Codacy Badge Code Climate Issue Count