telekom / testerra

Testerra is an integrated framework for automating tests for (web) applications.
https://docs.testerra.io/
Apache License 2.0
27 stars 15 forks source link

Reduce initial load #383

Closed conradstrassburger closed 2 months ago

conradstrassburger commented 10 months ago

Changes

Rewrites the data model so that individual logMessages aren't referenced directly by their containing objects (ExecutionContext and TestStepActionEntry), and instead by id from a different file that only contains logMessages. Corresponding generation and display logic is adapted.

Motivation

Upon initial load, opening the Testerra Report can take quite some time. An approach to reduce load times by splitting data from the execution file into multiple files was explored. LogMessages make up the bulk of the file size of the execution file (~80%). The Dashboard is the first page loaded when entering the report. Its startup is slowed down by having to load all LogMessages within the execution file, even though only a handful of them are needed at this point. The LogMessages are loaded as a different file in the background, and we can display the dashboard more quickly.

Type of change

Checklist:

Review

Commits are structured logically to allow indiviual review.

martingrossmann commented 9 months ago

@conradstrassburger There is a heavy load in the Logs or Tests view in case of bigger log files. You can see that in browser dev tools.

martingrossmann commented 2 months ago

This change will merge into a new branch to fix merge conficts of Testerra 2.8