E2E-Loader: A Tool to Generate Performance Tests from End-to-End GUI-level Tests
PAPER ABSTRACT Performance testing is essential for ensuring Web Applications deliver a satisfactory user experience under varying workloads. Crafting meaningful workloads is a key challenge, typically addressed by analyzing system logs that reflect real user behaviors. However, these approaches face limitations: they require the system under test to be deployed to collect usage data, offer limited automation for managing data dependencies, and often lack support for modern protocols like WebSocket.We present E2E-LOADER, a tool for automating the generation of performance testing workloads for Web Applications.E2E-LOADER leverages existing End-to-End (E2E) functional test cases to create workloads, allowing its use at early stages of development before user data is available. The tool fully supports WebSocket-based interactions and includes customizable heuristics to detect data dependencies automatically.E2E-LOADER has been evaluated in an industrial case study, demonstrating that it produces workloads comparable in quality to those manually designed by practitioners, with significantly less effort and time. The tool and its source code are openly available to support researchers and practitioners in advancingperformance testing practices.A screencast showcasing E2E-LOADER in function is available at https://youtu.be/pDWN1l1kAhUREQUIREMENTS E2E-Loader is currently known to work with the following requirements: JDK 18.0.2 or higher Maven 3.6.3 Node 20.9.0 NPM 10.1.0 Express 4.16.4 USEFUL INFORMATION E2E-Loader is a Maven project, easy to compile and execute. However, it requires the following prerequisites for proper functionality: Express Schema Generator: Ensure that the Express Schema Generator API is running (present within the repository). Modify the csv_path: In the Paths.java file, replace the value of csv_path with an absolute path. This is necessary to convert properly the workload into an Apache JMeter script. Thus, specify the path where you intend to store the CSV files. TESTING THE TOOL If you want to test the tool, the repository includes two GUI tests along with their corresponding .har files. Follow these steps: Download the repository Create a folder named GUI_Test (or any name you prefer) Place the two Cypress tests inside this folder Inside GUI_Test, create a subfolder named hars and place the two .har files there. Use the absolute path of the GUI_Test folder in the E2E-Loader startup screen. CREATING NEW TESTS If you want to create new tests using Cypress or any other browser automation tool, or simply re-run the Cypress tests provided, you can use the following web application: https://github.com/mwinteringham/restful-booker-platform. Note: When writing new tests, remember to follow the same folder hierarchy described above.SUPPORT If you encounter any issues or need assistance, don’t hesitate to contact us.
Institutions
- University of Naples Federico II (IT)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2024-12-05
- DOI
- https://doi.org/10.5281/zenodo.14281199
- Primary Topic
- Medical and Health Sciences Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00