# US 11,307,972 B2 · System and method for scalable automated user interface testing

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

- Number: US 11,307,972 B2
- Document ID: US11307972B2
- Status: Granted
- Kind: B2
- Application number: 16/252,255
- Filed: 2019-01-18
- Published: 2020-07-23
- Granted: 2022-04-19
- Earliest claimed: 2019-01-18
- Assignees: Walmart Apollo, LLC
- Applicants: Walmart Apollo, LLC
- Inventors: Renas Reda
- Web page: https://patentgrep.com/patent/US11307972B2

## CPC

- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06F 11/3692: {for test results analysis}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

This application relates to systems and methods for providing automated testing of user interfaces. The system is configured to communicate with one or more client devices that each include a common user interface of an application and receive at least one request for identifying errors associated with the common user interface. The system also receives at least one constraint associated with one or more portions of the common user interface. The system then generates navigational state information associated with the at least one constraint and identifies errors using the generated navigational state information associated with the common user interface.

## Claims

### Claim 1

A system, comprising:
a computing device including:
a communication interface configured to communicate with one or more devices, over a communication network, the one or more client devices each include a common user interface of an application; and
one or more processors, and a set of memory resources to store a set of instructions, that when executed by the one or more processors cause the computing device to:
receive a data file including data identifying one or more identifiers, each identifier of the one or more identifiers being associated with an element of the common user interface and an error type;
receive at least one constraint, the at least one constraint identifying one or more portions of the common user interface for testing;
generate navigational state information for the one or more portions of the common user interface based on the at least one constraint and the data file, the navigational state information being associated with one or more error types, and indicating one or more error types to search and the one or more portions of the common user interface to test; and
identify errors within the one or more portions of the common user interface using the generated navigational state information corresponding to each of the one or more portions of the common user interface and associated with the error types.

### Claim 2 (depends on 1)

The system of claim 1, wherein the identifying errors occurs by crawling the common user interface using the generated navigational state information.

### Claim 3 (depends on 2)

The system of claim 2, wherein the one or more client devices crawl the common user interface to identify errors, using the generated navigational state information.

### Claim 4 (depends on 3)

The system of claim 3, wherein the navigational state information identifies at least one or more interface segments of the common user interface.

### Claim 5 (depends on 4)

The system of claim 4, wherein one respective interface segment of the at least one or more interface segments is only associated with one respective client device of the one or more client devices.

### Claim 6 (depends on 5)

The system of claim 5, wherein the one or more client devices comprise at least two client devices, and wherein the at least two client devices identify errors associated with the common user interface simultaneously according to each of the at least two client devices respective interface segment.

### Claim 7 (depends on 1)

The system of claim 1, wherein generating navigational state information occurs by at least in part by scanning the portions of the common user interface for the one or more identifiers.

### Claim 8 (depends on 1)

The system of claim 1, wherein the computing device is further configured to maintain statistics associated with the errors identified in the one or more portions of the common user interface.

### Claim 9 (depends on 1)

The system of claim 1, wherein the computing device is further configured to generate a report associated with the errors identified in the one or more portions of the common user interface.

### Claim 10 (depends on 7)

The system of claim 7, wherein the computing device is further configured to receive credential information associated with the one or more identifiers of the common user interface.

### Claim 11

A non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed by a processor of a computing device causes the computing device to:
communicate with one or more client devices that each include a common user interface of an application;
receive a data file including data identifying one or more identifiers, each identifier of the one or more identifiers being associated with an element of the common user interface and an error type;
receive at least one constraint, the at least one constraint identifying one or more portions of the common user interface for testing;
generate navigational state information for the one or more portions of the common user interface based on the at least one constraint and the data file, the navigational state information being associated with one or more error types, and indicating one or more error types to search and the one or more portions of the common user interface to test; and
identify errors within the one or more portions of the common user interface using the generated navigational state information corresponding to each of the one or more portions of the common user interface and associated with the error types.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein identifying errors occurs by crawling the common user interface using the generated navigational state information.

### Claim 13 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the one or more client devices crawl the common user interface to identify errors, using the generated navigational state information.

### Claim 14 (depends on 13)

The non-transitory computer readable medium of claim 13, wherein the navigational state information identifies at least one or more interface segments of the common user interface.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, wherein one respective interface segment of the at least one or more interface segments is only associated with one respective client device of the one or more client devices.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, wherein the one or more client devices comprise at least two client devices, wherein the at least two client devices identify errors associated with the common user interface simultaneously according to each of the at least two client devices respective interface segment.

### Claim 17 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein generating navigational state information occurs by at least in part by scanning the portions of the common user interface for the one or more identifiers.

### Claim 18 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the instructions, when executed by the processor, cause the device to perform further operations comprising: maintain statistics associated with the errors identified in the one or more portions of the common user interface.

### Claim 19

A method, comprising:
communicating with one or more client devices that each include a common user interface of an application;
receiving a data file including data identifying one or more identifiers, each identifier of the one or more identifiers being associated with an element of the common user interface and an error type;
receiving at least one constraint, the at least one constraint identifying one or more portions of the common user interface for testing;
generating navigational state information for the one or more portions of the common user interface based on the at least one constraint and the data file, the navigational state information being associated with one or more error types, and indicating one or more error types to search and the one or more portions of the common user interface to test; and
identifying errors within the one or more portions of the common user interface using the generated navigational state information corresponding to each of the one or more portions of the common user interface and associated with the error types.

### Claim 20 (depends on 19)

The method of claim 19, wherein the identifying errors occurs by crawling the common user interface using the generated navigational state information.
