Skip to content
This repository has been archived by the owner on Jul 23, 2024. It is now read-only.
/ jsflight Public archive
forked from d0k1/jsflight

Utility to record and replay user web interactions

License

Notifications You must be signed in to change notification settings

gallyamb/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 decided 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

Packages

No packages published

Languages

  • Java 52.1%
  • JavaScript 40.3%
  • Groovy 7.3%
  • Other 0.3%