IP Library Granted Patent US 11,481,310
Granted Patent B1
US 11,481,310 · App. 16/889,330 · Granted Oct 25, 2022

Self-healing hybrid element identification logic

Inventors: Iliyan Panchev (Sofia, BG); Nikolay Atanasov (Sofia, BG); Miroslav Shtilianov (Sofia, BG)
Assignee: PROGRESS SOFTWARE CORPORATION
G06F11/3688G06F11/0793G06F11/3684G06F11/3692G06N20/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,481,310
App. No.
16/889,330
Granted
Oct 25, 2022
Kind
B1
Abstract

A system and method for receiving, using one or more processors, a first testing identifier associated with a first element of an application under test; receiving, using the one or more processors, a second testing identifier associated with the first element of an application under test; evaluating, using the one or more processors, the first testing identifier; determining, using the one or more processors, a failure of the first testing identifier to identify an element in the application under test; evaluating, using the one or more processors, the second testing identifier; identifying, using the one or more processors, the first element in the application under test based on the second testing identifier; and repairing, using the one or more processors, the first testing identifier to identify the first element in the application under test.

Claims (54)

1. A computer-implemented method comprising:

receiving, using one or more processors, a first testing identifier associated with a first element of an application under test;

receiving, using the one or more processors, a second testing identifier associated with the first element of the application under test, wherein the first testing identifier and the second testing identifier are of a different type selected from a location-based identifier, an image-based identifier, and an attribute-based identifier;

evaluating, using the one or more processors, the first testing identifier;

determining, using the one or more processors, a failure of the first testing identifier to identify an element in the application under test;

evaluating, using the one or more processors, the second testing identifier;

identifying, using the one or more processors, the first element in the application under test based on the second testing identifier; and

repairing, using the one or more processors, the first testing identifier to identify the first element in the application under test.

2. The computer-implemented method of claim 1 , wherein the first testing identifier and the second testing identifier are received by recording a test session in which a user interacts with elements of the application under test.

3. The computer-implemented method of claim 2 , wherein the first testing identifier and second testing identifier are determined and suggested for use to identify the first element in the application under test during the recorded test session.

4. The computer-implemented method of claim 1 , further comprising:

generating the first testing identifier and the second testing identifier; and

recommending use of the first testing identifier and second testing identifier to identify the first element in the application under test for testing.

5. The computer-implemented method of claim 1 , further comprising:

presenting a suggested repair to a user, wherein repairing the first testing identifier is responsive to receiving user input approving the suggested repair.

6. The computer-implemented method of claim 5 , wherein the suggested repair is generated based on one or more of machine learning and a best practice.

7. The computer-implemented method of claim 1 , wherein repairing the first testing identifier does not alter a type associated with the first testing identifier.

8. The computer-implemented method of claim 1 , wherein repairing the first testing identifier alters a type associated with the first testing identifier.

9. The computer-implemented method of claim 1 , further comprising:

receiving a third testing identifier;

receiving a fourth testing identifier, a set of identifier types associated with the first and second test identifiers differing from a set of identifier types associated with the third and fourth testing identifiers;

evaluating the third testing identifier;

determining a failure of the third testing identifier to identify an element in the application under test;

evaluating the fourth testing identifier;

identifying a second element in the application under test based on the fourth testing identifier; and

repairing the third testing identifier to identify the second element in the application under test.

10. A system comprising:

one or more processors

a memory storing instructions that, when executed by the one or more processors, cause the system to:

receive a first testing identifier associated with a first element of an application under test;

receive a second testing identifier associated with the first element of the application under test, wherein the first testing identifier and the second testing identifier are of a different type selected from a location-based identifier, an image-based identifier, and an attribute-based identifier;

evaluate the first testing identifier;

determine a failure of the first testing identifier to identify an element in the application under test;

evaluate the second testing identifier;

identify the first element in the application under test based on the second testing identifier; and

repair the first testing identifier to identify the first element in the application under test.

11. The system of claim 10 , wherein the first testing identifier and the second testing identifier are received by recording a test session in which a user interacts with elements of the application under test.

12. The system of claim 11 , wherein the first testing identifier and second testing identifier are determined and suggested for use to identify the first element in the application under test during the recorded test session.

13. The system of claim 10 , wherein the instructions, when executed by the one or more processors, further cause the system to:

generate the first testing identifier and the second testing identifier; and

recommend use of the first testing identifier and second testing identifier to identify the first element in the application under test for testing.

14. The system of claim 10 , wherein the instructions, when executed by the one or more processors, further cause the system to:

present a suggested repair to a user, wherein repairing the first testing identifier is responsive to receiving user input approving the suggested repair.

15. The system of claim 14 , wherein the suggested repair is generated based on one or more of machine learning and a best practice.

16. The system of claim 10 , wherein repairing the first testing identifier does not alter a type associated with the first testing identifier.

17. The system of claim 10 , wherein repairing the first testing identifier alters a type associated with the first testing identifier.

18. The system of claim 10 , wherein the instructions, when executed by the one or more processors, further cause the system to:

receive a third testing identifier;

receive a fourth testing identifier, a set of identifier types associated with the first and second test identifiers differing from a set of identifier types associated with the third and fourth testing identifiers;

evaluate the third testing identifier;

determine a failure of the third testing identifier to identify an element in the application under test;

evaluate the fourth testing identifier;

identify a second element in the application under test based on the fourth testing identifier; and

repair the third testing identifier to identify the second element in the application under test.

Assignments (4)
SECURITY INTEREST Recorded Jul 21, 2025
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 072094/0790 →
SECURITY INTEREST Recorded Mar 7, 2024
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 066762/0833 →
SECURITY INTEREST Recorded Jan 25, 2022
From: PROGRESS SOFTWARE CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058840/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: PANCHEV, ILIYAN; ATANASOV, NIKOLAY; SHTILIANOV, MIROSLAV
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 053735/0216 →
Continuity (1)
Provisional Application 62856418 · Jun 3, 2019
Cited By (5)
US 12,253,904 US 12,259,940 US 12,326,913 US 12,332,966 US 12,468,774