
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
perfrunner
Advanced tools
Perfrunner - performance testing tool for websites and web applications. Tracks your application performance with Performance Events and visualize the progress. Supports various predefined network conditions, CPU throttling, cache. Supports different output - HTML, CSV, JSON. Uses multiple reruns for better precision.
Tracks:
npx perfrunner drag13.io
It's just an example, please don't consider to take framework depending on this chart :)
To save it into your project:
npm i perfrunner -D
For one-time usage:
npx perfrunner https://drag13.io
| Command | Alias | Description | Default value | IsRequired |
|---|---|---|---|---|
| Run tests using perfrunner.json config file | Optional | |||
| --cache | -C | Using browser cahce. Mutliple values supported. <true/false> | false | Optional |
| --chrome-args | - | Additional arguments to pass to the browser instance. Should be passed using camelCase style like: "noSandbox" | undefined | Optional |
| --comment | - | Provide additional information about test. May be used from reporter | undefined | Optional |
| --executable-path | -E | Sets path to the Chrome instance | undefined | Optional |
| --ignore-default-args | - | Ignore defaultArgs for launching Chromium | false | Optional |
| --init | - | Creates perfrunner.json config file, requires URL as a parameter | undefined | Optional |
| --log-level | - | Setup log level: <verbose> | undefined | Optional |
| --network | - | Setup network contions. Multiple values supported. <online/regular4g/fast3g/hspa/slow3g> | online,fast3g | Optional |
| --no-headless | - | Disables headless mode | false | Optional |
| --purge | - | Remove old data before the test run | false | Optional |
| --reporter | - | Specify reporter | html | Optional |
| --report-only | - | Skips profiling session and only generates report | false | Optional |
| --runs | -R | Number of runs you want to be performed | 3 | Optional |
| --test-name | - | Name of the test run. Will be used to name testRun folder and grouping results | undefined | Optional |
| --throttling | -T | CPU slowdown multiplier | 2 | Optional |
| --timeout | - | Set timeout for the single test run in miliseconds | 90_000 | Optional |
| --url | - | Url to profile | This field is required | Required |
| --wait-for | -W | Specify selector or time in miliseconds to wait | undefined | Optional |
Supported reporters:
To switch between reporters, use --reporter flag:
npx drag13.io --reporter json
Generates output as an HTML file. Includes:
Example:
This is default reporter so you don't need to name it
npx perfrunner drag13.io
Generate simple markdown report, that includes:
Example:
npx perfrunner drag13.io --reporter md
Generates output as JSON file
Example:
npx perfrunner drag13.io --reporter json
Generates output as CSV file
Example:
npx perfrunner drag13.io --reporter csv
You also can use your own custom reporter
npx perfrunner https://drag13.io --reporter my-custom-reporter.js
where reporter should looks like:
module.exports = {
generateReport: (data, args) => console.log(outputFolder, JSON.stringify(data), args),
defaultReportName: 'reporter.txt',
};
Config file supports additional features:
To run script after it was loaded, you need to:
module.exports = function notationonAfterPageLoadedScript property to "./YOUR-FILE-NAME.js"Example:
module.exports = async function () {
console.log('start');
return new Promise((r) => setTimeout((x) => (console.log('end'), r()), 3000));
};
The script will beexecuted after page loaded. If the script is async - page will wait till completion
Internally, perfrunner uses puppeteer, so please check this page for troubleshooting. Perfrunner supports passing chromeArgs and ignoreDefaults flags for better control from your side:
npx perfrunner https://drag13.io --ignore-default-args --chrome-args noSandbox
You also can use Perfrunner without headless mode
npx perfrunner https://drag13.io --no-headless
If nothing helps, try to use --executable-path option
npx perfrunner https://drag13.io -E "Path\To\chrome.exe"
For the next updates, please check the project. It's not very well described but might give you an idea of what is planned.
Here you can find an introduction article about the Perfrunner.
FAQs
Command-line-interface for the perfrunner - automated UI performance test tool
The npm package perfrunner receives a total of 3 weekly downloads. As such, perfrunner popularity was classified as not popular.
We found that perfrunner demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.