gremlins.js is a JavaScript stress testing framework and web UI monkey testing library. It functions as a browser chaos testing tool that automates random interactions with DOM elements to identify stability issues, unexpected crashes, and edge-case bugs in web applications.
The tool utilizes a seeded-random interaction engine to ensure test sequence repeatability, allowing specific failure sequences to be recreated for debugging. It supports the definition of custom interaction rules and pluggable strategies to target specific application behaviors through weighted-probability action dispatching.
The framework includes capabilities for frontend performance monitoring, tracking frame rates and logging errors during simulated stress. It further provides mechanisms for concurrent stress distribution and an automatic simulation termination system that halts execution when defined error or lag thresholds are reached.