IP Library Granted Patent US 11,194,596
Granted Patent B2
US 11,194,596 · App. 15/827,201 · Granted Dec 7, 2021

Simulating human interface interaction resilient to user interface changes

Inventors: Paul Kebets (Rocklin, CA); Vadim Delendik (Minsk, BY); Aliaksei Khursevich (Minsk, BY); Sasha Yavorski (San Jose, CA)
Assignee: LENDINGCLUB CORPORATION
G06F9/451G06F11/36G06K9/2054G06K9/6256G06K9/6262G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,194,596
App. No.
15/827,201
Granted
Dec 7, 2021
Kind
B2
Abstract

Techniques for simulating human interface interaction resilient to user interface changes are presented. Automated analysis is performed on an image of a user interface of a computer program that is to be a target of simulated user interactions, and that determines the location and interaction purpose of a particular control on the user interface. An interaction package is read, and it indicates one or more interaction purposes that are to be carried out through interactions with the user interface of the computer program. Interaction with the user interface is simulated to carry out the one or more interaction purposes, where the particular interaction purpose is among the one of the one or more interaction purposes and simulating user interactions includes simulating user interaction with the particular control, based on the determined location and particular interaction purpose.

Claims (76)

1. A method comprising:

creating a training dataset comprising a plurality of images of graphic user interfaces, a plurality of interaction purposes that correspond to the plurality of images of graphic user interfaces, and a plurality of locations of controls that correspond to the plurality of images of graphic user interfaces;

training a machine learning system thereby generating a trained machine learning system based on the training dataset, the trained machine learning system configured to:

recognize locations of user interface controls and recognize interaction purposes of user interface controls;

responsive to receiving an indication of a simulated user interaction failure of a user interaction script with a user interface:

obtaining an image of the user interface that the simulated user interaction failure occurred on,

using the machine learning system, determining a location of a particular user interface control in the user interface based on the image of the user interface, and

using the machine learning system, determining a particular interaction purpose of the particular user interface control in the user interface based on the image of the user interface;

reading an interaction package that indicates one or more interaction purposes that are to be carried out through interactions with the user interface;

simulating user interactions with the user interface to carry out the one or more interaction purposes indicated in the interaction package;

wherein one of the one or more interaction purposes specified in the interaction package includes the particular interaction purpose;

wherein simulating user interactions comprises simulating user interaction with the particular user interface control, based on the location determined for the particular user interface control, to achieve the particular interaction purpose;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , further comprising:

determining a new interaction approach for a user interface control on which the simulated user interaction failure occurred, wherein the new interaction approach can simulate user interaction with the user interface control without subsequently detecting the user interface control in an image of the user interface.

3. The method of claim 2 , further comprising:

updating the interaction package based at least in part on the new interaction approach for the user interface.

4. The method of claim 2 , further comprising:

determining a corresponding user-interface location of the user interface control; and

wherein:

determining the new interaction approach for the user interface control comprises interacting with the user interface control at the corresponding user-interface location.

5. The method of claim 1 , wherein a choice to use the user interface is based on an AB testing balance, and wherein the interaction package enables interaction with an original user interface different from the user interface.

6. The method of claim 1 , further comprising:

training the machine learning system to recognize control types of multiple user interface controls; and

determining a control type for the particular user interface control in the user interface using the machine learning system; and

wherein:

simulating user interactions with the user interface comprises simulating user interactions based at least in part on the control type for the particular user interface control.

7. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:

creating a training dataset comprising a plurality of images of graphic user interfaces, a plurality of interaction purposes that correspond to the plurality of images of graphic user interfaces, and a plurality of locations of controls that correspond to the plurality of images of graphic user interfaces;

training a machine learning system thereby generating a trained machine learning system based on the training dataset, the trained machine learning system configured to:

recognize locations of user interface controls and recognize interaction purposes of user interface controls;

responsive to receiving an indication of a simulated user interaction failure of a user interaction script with a user interface:

obtaining an image of the user interface that the simulated user interaction failure occurred on,

using the machine learning system, determining a location of a particular user interface control in the user interface based on the image of the user interface, and

using the machine learning system, determining a particular interaction purpose of the particular user interface control in the user interface based on the image of the user interface;

reading an interaction package that indicates one or more interaction purposes that are to be carried out through interactions with the user interface;

simulating user interactions with the user interface to carry out the one or more interaction purposes indicated in the interaction package;

wherein one of the one or more interaction purposes specified in the interaction package includes the particular interaction purpose;

wherein simulating user interactions comprises simulating user interaction with the particular user interface control, based on the location determined for the particular user interface control, to achieve the particular interaction purpose.

8. A method comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more computing devices, cause performance of certain steps including:

creating a training dataset comprising a plurality of images of graphic user interfaces, a plurality of interaction purposes that correspond to the plurality of images of graphic user interfaces, and a plurality of locations of controls that correspond to the plurality of images of graphic user interfaces;

training a machine learning system thereby generating a trained machine learning system based on the training dataset, the trained machine learning system configured to:

recognize locations of user interface controls and recognize interaction purposes of user interface controls;

responsive to receiving an indication of a simulated user interaction failure of a user interaction script with a user interface:

obtaining an image of the user interface that the simulated user interaction failure occurred on,

using the machine learning system, determining a location of a particular user interface control in the user interface based on the image of the user interface, and

using the machine learning system, determining a particular interaction purpose of the particular user interface control in the user interface based on the image of the user interface;

reading an interaction package that indicates one or more interaction purposes that are to be carried out through interactions with the user;

simulating user interactions with the user interface to carry out the one or more interaction purposes indicated in the interaction package;

wherein one of the one or more interaction purposes specified in the interaction package includes the particular interaction purpose;

wherein simulating user interactions comprises simulating user interaction with the particular user interface control, based on the location determined for the particular user interface control, to achieve the particular interaction purpose,

wherein the machine-executed operation is at least one of (a) sending said instructions, (b) receiving said instructions, (c) storing said instructions, or (d) executing said instructions.

9. The method of claim 8 , the certain steps further comprising:

determining a new interaction approach for a user interface control on which the simulated user interaction failure occurred, wherein the new interaction approach can simulate user interaction with the user interface control without subsequently detecting the user interface control in an image of the user interface.

10. A system comprising:

one or more processors;

one or more non-transitory data storage media operatively coupled to the one or more processors;

wherein the one or more non-transitory data storage media stores instructions which, when executed using the one or more processors, cause:

creating a training dataset comprising a plurality of images of graphic user interfaces, a plurality of interaction purposes that correspond to the plurality of images of graphic user interfaces, and a plurality of locations of controls that correspond to the plurality of images of graphic user interfaces;

training a machine learning system thereby generating a trained machine learning system based on the training dataset, the trained machine learning system configured to:

recognize locations of user interface controls and recognize interaction purposes of user interface controls;

responsive to receiving an indication of a simulated user interaction failure of a user interaction script with a user interface:

obtaining an image of the user interface that the simulated user interaction failure occurred on,

using the machine learning system, determining a location of a particular user interface control in the user interface based on the image of the user interface, and

using the machine learning system, determining a particular interaction purpose of the particular user interface control in the user interface based on the image of the user interface;

reading an interaction package that indicates one or more interaction purposes that are to be carried out through interactions with the user interface;

simulating user interactions with the user interface to carry out the one or more interaction purposes indicated in the interaction package;

wherein one of the one or more interaction purposes specified in the interaction package includes the particular interaction purpose;

wherein simulating user interactions comprises simulating user interaction with the particular user interface control, based on the location determined for the particular user interface control, to achieve the particular interaction purpose.

11. The system of claim 10 , wherein the instructions include instructions which, when executed using the one or more processors, cause:

determining a new interaction approach for a user interface control on which the simulated user interaction failure occurred, wherein the new interaction approach can simulate user interaction with the user interface control without subsequently detecting the user interface control in an image of the user interface; and

determining a corresponding user-interface location of the user interface control; and

wherein:

determining the new interaction approach for the user interface control comprises interacting with the user interface control at the corresponding user-interface location.

12. The method of claim 1 , wherein the particular interaction purpose of the particular user interface control in the user interface comprises a child interaction purpose from a hierarchy of interaction purposes of a user interface control from a previous version of the user interface.

13. The method of claim 1 , wherein the particular interaction purpose of the particular user interface control in the user interface comprises an interaction purpose that did not exist in a previous version of the user interface.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2022
From: LENDINGCLUB CORPORATION
To: LENDINGCLUB BANK, NATIONAL ASSOCIATION
Reel/Frame 059910/0275 →
SECURITY INTEREST Recorded Apr 20, 2018
From: LENDINGCLUB CORPORATION
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045600/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2017
From: KEBETS, PAUL; DELENDIK, VADIM; KHURSEVICH, ALIAKSEI; YAVORSKI, SASHA
To: LENDINGCLUB CORPORATION
Reel/Frame 044439/0710 →
Continuity (1)
Related Publication 20190163499A1 · May 30, 2019