# US 12,222,846 B2 · Methods and systems for automated testing using browser extension

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,222,846 B2
- Document ID: US12222846B2
- Status: Granted
- Kind: B2
- Application number: 18/048,384
- Filed: 2022-10-20
- Published: 2023-03-02
- Granted: 2025-02-11
- Earliest claimed: 2019-08-26
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Jiawei Zhao; Carine Todmia
- Web page: https://patentgrep.com/patent/US12222846B2

## CPC

- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/3696: {Methods or tools to render software testable}
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06F 16/986: {Document structures and storage, e.g. HTML extensions}
- G06F 11/3414: {Workload generation, e.g. scripts, playback}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 11/3457: {Performance evaluation by simulation}
- G06F 11/3676: {for coverage analysis}
- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3692: {for test results analysis}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 16/954: Navigation, e.g. using categorised browsing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to certain aspects of the disclosure, non-transitory computer readable media, systems and methods are disclosed for creating and executing test scenarios for automated testing of web pages. A computer system, for example, may perform operations including: recording one or more actions performed by a user on a web page, the one or more actions resulting in a web page element being displayed in the web browser application, recording an identifier of the web page element, in response to detecting a user input indicating a selection of the web page element, and recording a characteristic of the web page element; and generating, by the testing extension, a test scenario specifying a testable outcome resulting from the one or more actions, the testable outcome being an occurrence of an element having the identifier and the characteristic.

## Claims

### Claim 1

A computer-implemented method, comprising:
recording, by one or more processors, one or more actions performed by a user on one or more web page elements of a web application output on a display, for each action of the one or more actions:
recording, by the one or more processors, a respective identifier of a web page element corresponding to the action;
recording, by the one or more processors, a characteristic of the web page element; and
generating, by the one or more processors, one or more steps based on the action, the respective identifier, and the characteristic;
generating, by the one or more processors, a first test scenario specifying a testable outcome resulting from the one or more actions, the testable outcome including an occurrence of the web page element having the respective identifier and the characteristic;
recording, by the one or more processors, one or more further actions performed by the user on the first test scenario;
generating a second test scenario based on the first test scenario as modified by the one or more further actions, the second scenario comprising one or more step lists, the one or more step lists including the one or more steps generated for the one or more further actions; and
causing the display to output the second test scenario, the first test scenario, and the second test scenario comprising different step lists.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the one or more actions include one or more of a keyboard event, a focus event, a mouse movement event, a mouse click event, a load event, or a drag and drop event.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
identifying each recorded step as a step type, the step type indicated by a step keyword associated with each recorded step.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the step type is identified from a group of possible step types associated with step keywords including “given”, “when,” “then,” “and,” and “but”.

### Claim 5 (depends on 3)

The computer-implemented method of claim 3, wherein the step type for each recorded step is identified automatically upon the detecting of the one or more actions performed by the user on one or more web page elements of a web application.

### Claim 6 (depends on 3)

The computer-implemented method of claim 3, wherein a testing dashboard includes one or more interactive elements that is selectable by the user to manually set the step type for each recorded step.

### Claim 7 (depends on 3)

The computer-implemented method of claim 3, further comprising:
activating a test scenario editing interface, the test scenario editing interface displaying one or more step lists associated with at least one test scenario;
receiving, via the test scenario editing interface, a manual assignment of a step keyword to one or more of the recorded steps from the user;
modifying the one or more step lists based on the received manual assignment; and
updating the at least one test scenario based on the modifying of the one or more step lists.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the output of the display includes a visual indication of one or more of run status or validation status.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the web application is a live website.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the first test scenario specifies one or more preconditions for execution.

### Claim 11

A computer system comprising:
a memory storing instructions; and
one or more processors configured to execute the instructions to perform operations including:
recording, by one or more processors, one or more actions performed by a user on one or more web page elements of a web application output on a display, for each action of the one or more actions:
recording, by the one or more processors, a respective identifier of a web page element corresponding to the action;
recording, by the one or more processors, a characteristic of the web page element; and
generating, by the one or more processors, one or more steps based on the action, the respective identifier, and the characteristic;
generating, by the one or more processors, a first test scenario specifying a testable outcome resulting from the one or more actions, the first test scenario comprising one or more step lists, the one or more step lists including the one or more steps generated for the one or more actions;
recording one or more further actions performed by the user on the first test scenario;
generating a second test scenario based on the first test scenario as modified by the one or more further actions, the second scenario comprising one or more step lists, the one or more step lists including the one or more steps generated for the one or more further actions; and
causing the display to output the second test scenario, the first test scenario, and the second test scenario comprising different step lists.

### Claim 12 (depends on 11)

The system of claim 11, wherein the one or more actions include one or more of a keyboard event, a focus event, a mouse movement event, a mouse click event, a load event, or a drag and drop event.

### Claim 13 (depends on 11)

The system of claim 11, wherein the operations further include:
identifying each recorded step as a step type, the step type indicated by a step keyword associated with each recorded step.

### Claim 14 (depends on 13)

The system of claim 13, wherein the step type is identified from a group of possible step types associated with step keywords including “given”, “when,” “then,” “and,” and “but”.

### Claim 15 (depends on 13)

The system of claim 13, wherein the step type for each recorded step is identified automatically upon detecting one or more actions performed by the user on one or more web page elements of a web application.

### Claim 16 (depends on 13)

The system of claim 13, wherein a testing dashboard includes one or more interactive elements that is selectable by the user to manually set the step type for each recorded step.

### Claim 17 (depends on 13)

The system of claim 13, wherein the operations further include:
activating a test scenario editing interface, the test scenario editing interface displaying one or more step lists associated with at least one test scenario;
receiving, via the test scenario editing interface, a manual assignment of a step keyword to one or more of the recorded steps from the user;
modifying the one or more step lists based on the received manual assignment; and
updating the at least one test scenario based on the modifying of the one or more step lists.

### Claim 18 (depends on 11)

The system of claim 11, wherein the output of the display includes a visual indication of one or more of run status or validation status.

### Claim 19 (depends on 11)

The system of claim 11, wherein the first test scenario specifies one or more preconditions for execution.

### Claim 20

A computer-implemented method for testing a web application displayed by a web application browser extension, the method comprising:
recording, by one or more processors, one or more actions performed by a user on one or more web page elements of a web application output on a display, for each action of the one or more actions:
recording, by the one or more processors, a respective identifier of a web page element corresponding to the action;
recording, by the one or more processors, a characteristic of the web page element; and
generating, by the one or more processors, one or more steps based on the action, the respective identifier, and the characteristic;
generating, by the one or more processors, a first test scenario specifying a testable outcome resulting from the one or more actions, the first test scenario comprising one or more step lists, the one or more step lists including the one or more steps generated based on the action, the respective identifier, and the characteristic;
recording one or more further actions performed by the user on the first test scenario;
generating a second test scenario based on the first test scenario as modified by the one or more further actions, the second test scenario comprising one or more step lists, the one or more step lists including the one or more steps generated for the one or more actions; and
causing the display to output the second test scenario, the first test scenario and the second test scenario comprising different step lists.
