maayehkhaled / jsflight

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

License:Apache License 2.0


Languages

Language:Java 52.1%Language:JavaScript 40.3%Language:Groovy 7.3%Language:Shell 0.3%Language:HTML 0.0%