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

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

E2E-Loader: A Tool to Generate Performance Tests from End-to-End GUI-level Tests

Zenodo (CERN European Organization for Nuclear Research)
Medical and Health Sciences Research
article

E2E-Loader: A Tool to Generate Performance Tests from End-to-End GUI-level Tests

article en

Abstract

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.

Zenodo (CERN European Organization for Nuclear Research)
University of Naples Federico II (IT)
Industry, innovation and infrastructure
Openalex Percentile: Top 45%
Medical and Health Sciences Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.