Browser Script Injection for Automated Web Load Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetesting automationVSAvoiduser experience simulation accuracy
Core Design Contradiction:
Extent of automationVSMeasurement precision

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #25Self-service

2Extent of automation

If pre-determined commands are executed to test load, then testing can be automated, but integration with existing applications is difficult

Engineering Contradiction:
Improvetesting automationVSAvoidintegration capability
Core Design Contradiction:
Extent of automationVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetesting speedVSAvoidtest accuracy
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8700763B2Systems and methods for automatically testing an application
Publication Date: 2014.04.15 CITRIX SYSTEMS INC
  • US8700763B2 patent drawing
  • US8700763B2 patent drawing
  • US8700763B2 patent drawing

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.