IP Library Granted Patent US 11,709,768
Granted Patent B1
US 11,709,768 · App. 17/969,154 · Granted Jul 25, 2023

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,709,768
App. No.
17/969,154
Filed
Oct 19, 2022
Granted
Jul 25, 2023
Kind
B1
Art Unit
2192
USPC
717/124
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 (52)

1. A computer-implemented method comprising:

evaluating, during automated test execution and using one or more processors, a first testing identifier using identification logic associated with the automated test, wherein the first testing identifier is associated with a first element of an application under test, and wherein the first testing identifier has a first type;

determining, during the automated test execution and using the one or more processors, a failure of the first testing identifier to identify, using the identification logic associated with the test, an element;

evaluating, during the automated test execution and using the one or more processors, a second testing identifier using identification logic associated with the test, the second testing identifier associated with the first element of the application under test, and wherein the second testing identifier has a second type that is different from the first type;

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

repairing, during the automated test execution and using the one or more processors, the first testing identifier to identify, using the identification logic associated with the automated test, 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. The computer-implemented method of claim 1 , 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.

11. A system comprising:

one or more processors; and

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

evaluate, during automated test execution, a first testing identifier using identification logic associated with the automated test, wherein the first testing identifier is associated with a first element of an application under test, and wherein the first testing identifier has a first type;

determining, during the automated test execution, a failure of the first testing identifier to identify, using the identification logic associated with the test, an element;

evaluating, during the automated test execution, a second testing identifier using identification logic associated with the test, the second testing identifier associated with the first element of the application under test, and wherein the second testing identifier has a second type that is different from the first type;

identifying, during the automated test execution, the first element in the application under test based on the second testing identifier; and

repairing, during the automated test execution, the first testing identifier to identify, using the identification logic associated with the automated test, the first element in the application under test.

12. The system of claim 11 , 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.

13. The system of claim 12 , 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.

14. The system of claim 11 , 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.

15. The system of claim 11 , 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.

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

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

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

19. The system of claim 11 , 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.

20. The system of claim 11 , 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.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2022
From: PANCHEV, ILIYAN; ATANASOV, NIKOLAY; SHTILIANOV, MIROSLAV
To: PROGRESS SOFTWARE CORPORATION
Reel/Frame 061474/0040 →
Continuity (2)
Continuation 16889330 · Jun 1, 2020
Provisional Application 62856418 · Jun 3, 2019