Browser Script Injection for Automated Web Load Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current load testing solutions often cannot integrate seamlessly with existing technologies and do not interact directly with web applications, instead relying on replaying recorded scripts, which does not accurately simulate user experience.
Innovation Solution
The system injects a script into a browser to automate load and usability testing by selecting links, waiting, and navigating or calling events, with the ability to spawn slave browsers based on browser type, allowing direct interaction with web applications and simulating user actions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If recorded scripts are replayed to test load, then testing can be automated, but the testing does not accurately simulate user experience
Solution Approach 1:
The patent uses browser automation tools (Selenium, Puppeteer, Playwright) to create virtual browsers that copy and execute the same actions users would perform manually. These automated browsers navigate websites, interact with forms, and access applications just like real users, thereby maintaining measurement precision while achieving automation.
Solution Approach 2:
The testing system performs self-service by automatically executing test scenarios without human intervention. The automated browsers independently navigate through test cases, interact with application elements, and collect performance data, eliminating the need for manual script recording and replay while accurately simulating user behavior patterns.
2Extent of automation
If pre-determined commands are executed to test load, then testing can be automated, but integration with existing applications is difficult
Solution Approach 1:
The patent employs universal browser automation frameworks that can interact with multiple types of applications (web browsers, mobile apps, desktop applications) through standardized interfaces. These frameworks provide generic methods for navigation, data entry, and interaction that work across different application types, enabling seamless integration without requiring application-specific testing tools.
Solution Approach 2:
The system uses browser automation tools as intermediaries between the testing system and the applications being tested. These intermediaries translate high-level test commands into actual user interactions, bridging the gap between automated testing requirements and the diverse ways applications can be accessed and used in existing environments.
3Productivity
If recorded actions are replayed at high speed, then load testing can be performed, but the testing does not execute actual web page contents
Solution Approach 1:
The patent maintains continuity of useful action by having automated browsers continuously execute test scenarios that mirror real user workflows. Rather than simply replaying recorded actions, the system continuously navigates, interacts with, and monitors application behavior throughout the entire testing process, ensuring both speed and accuracy are maintained simultaneously.
Data Source
AI summary
Systems and methods for performing automated load and usability testing via an application delivery appliance can include methods where a browser having a unique identifier is detected and a script is injected into the HTML response generated by the page displayed within the browser. The injected script renders the page and the links on the page, and then selects a link within the rendered page. Upon selecting a link, the script then waits for a period of time before calling a function associated with the selected link. In situations where the browser is a control browser, the calling of a function associated with the link is followed by the spawning of one or more slave browsers, where each slave browser further executes the above-listed steps beginning with the execution of the injected script and ending with the calling of the function associated with the selected link.


