k6-web-recorder
v0.1.0
Published
k6-web-recorder is a web recorder for k6 load testing tool based on chrome.
Readme
k6-web-recorder
Web recorder for k6 load testing tool using chrome.
Pre requisites
- Chrome browser.
- Nodejs version 7.6+ installed . Download from here.
Install
git clone https://github.com/rupeshmore/k6-web-recorder.git
or download zip.
go to the directory
cd k6-web-recordernpm installor if yarn is installed
yarnUsage
node app.js --url=https://github.com/rupeshmore
or
npm start --url=https://github.com/rupeshmore
url is required parameter. Specify it in command line or in config.json;
This will start an instance of chrome.
Configuration
edit config.json to record added data.
{
"url": "https://github.com/rupeshmore",
"recordThinkTime": true,
"assignRequestToVariable": false,
"recordHeaders": [
"Content-Type"
]
}url: This is required value for the app. This can be defined in here or passed as arguments via command line.recordThinkTime: This will record think time between requests. Think Time greater than 3 seconds are only recorded. Iffalseit will not capture think Time.assignRequestToVariable: This will save the http requests to a variable.
Example:
assignRequestToVariable = true
let req = http.get(https://github.com/rupeshmore);assignRequestToVariable = false
http.get(https://github.com/rupeshmore);recordHeaders: This is an array of values to be recoded for headers. values it can take to match the http headers. https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields
Scripts
All scripts are recorded under the scripts folder.
Features
Records all http traffic and convert them to k6 load testing tool.
Filters out the request based on the domain of url to be recorded.
Records Think Time for the script.
Options to record specific headers in the scripts.
Note
All requests with multipart/form-data is not recorded. As the k6 tool will not be able to playback the same request as a browser does.
Close Recording
Close the browser to close recording or close the app.
