IP Library › Granted Patent US 11,615,018
Granted Patent B2
US 11,615,018 · App. 17/225,695 · Granted Mar 28, 2023

Automation testing tool framework

Inventors: Raja Sanevelly (Cumming, GA); Sam Kyatham (Alpharetta, GA)
Assignee: Anthem, Inc.
G06F11/3688G06F11/3684
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,615,018
App. No.
17/225,695
Granted
Mar 28, 2023
Kind
B2
Abstract

A method of testing a web-based application comprising: at a computing device: receiving a test procedure, the web-based application having an associated web-based application code, the test procedure including at least one testing step comprised of at least an action attribute and an element attribute; for each of the at least one testing steps: identifying an action handler based on the action attribute; generating at least one instruction, by the action handler, and in accordance with a determination that the testing step is an interaction testing step and that there is a value attribute associated with the interaction testing step, modifying the at least one instruction based on the value attribute associated with the interaction testing step; and causing the web-driver to execute the at least one instruction on an identified section of web-based application code corresponding to the element attribute to perform an operation on the web-based application.

Claims (57)

1. A method of testing a web-based application, the method comprising:

at a computing device:

receiving a test procedure for testing the web-based application, the web-based application having an associated web-based application user-interface code, the test procedure including at least one testing step, each of the at least one testing steps being one of: an interaction testing step and an expectation testing step, each of the at least one testing steps including at least an action attribute and an element attribute;

executing the test procedure at the web-based application, wherein executing the test procedure includes for each of the at least one testing steps included in the executed test procedure:

selecting an action handler from a plurality of different action handlers based on the action attribute, each action handler of the plurality of different action handlers configured to perform a different functionality, wherein the selected action handler is configured to interface with a web-driver associated with the web-based application user-interface code to cause the web-driver to carry out the at least one testing step;

generating at least one instruction, by the selected action handler, based on the action attribute and in accordance with a determination that the testing step is an interaction testing step and that there is a value attribute associated with the interaction testing step, modifying the at least one instruction based on the value attribute associated with the interaction testing step; and

causing, by the selected action handler, the web-driver to execute the at least one instruction on an identified section of web-based application user-interface code corresponding to the element attribute to perform an operation on the web-based application.

2. The method of claim 1 , wherein the at least one testing step includes a first step and a last step, the first step being an interaction testing step and the last step being an expectation testing step.

3. The method of claim 1 , wherein the element attribute corresponds to a unique identifier of a web element of the web-based application.

4. The method of claim 1 , wherein the test procedure is a non-compilable test script written by a user with no experience drafting computer source code.

5. The method of claim 1 , wherein the operation on the web-based application includes: a web page opening operation, a wait operation, a type operation, a click operation, and/or an operation to extract a value from the web-based application.

6. The method of claim 1 , wherein when the testing step is an open web-application step:

generating the at least one instruction includes:

generating a first instruction and a second instruction and causing the web-driver to execute the first instruction to open an associated web-browser,

modifying the at least one instruction includes:

modifying the second instruction to include a web-page name based on the value attribute, and

causing the web-driver to execute the at least one instruction includes:

executing the second instruction with the web-page name based on the value attribute to open the web-based application.

7. The method of claim 1 , wherein when the testing step is a type step:

modifying the at least one instruction includes:

modifying the at least one instruction to include a text string based on the value attribute, and

causing the web-driver to execute the at least one instruction includes:

modifying the section of web-based application user-interface code to simulate typing the text string into a text field of a respective element corresponding to the element attribute in the web-based application user-interface code.

8. The method of claim 1 , wherein when the testing step is a click step, causing the web-driver to execute the at least one instruction includes modifying the section of web-based application user-interface code to simulate a mouse-click action at an element representative of the element attribute in the associated web-based application user-interface code.

9. The method of claim 1 , wherein when the testing step is a wait step, modifying the at least one instruction includes modifying the at least one instruction to include a number value based on the value attribute, causing the web-driver to execute the at least one instruction includes causing the web-driver to wait an amount of time corresponding to the number value.

10. The method of claim 1 , wherein when the testing step is a select step, modifying the at least one instruction includes modifying the at least one instruction to include a text string based on the value attribute, causing the web-driver to execute the at least one instruction includes causing the web-driver to select one option of a plurality of options corresponding to the text string on the associated web-based application user-interface code.

11. The method of claim 1 , wherein when the testing step is an expectation step, causing the web-driver to execute the at least one instruction includes causing the web-driver to extract a respective value characteristic from the web-based application and compare the value characteristic to the value attribute to determine whether there is a match and in response to determining that there is a match, updating a testing script metric to indicate a successful testing step and in response to determining that there is no match, updating a testing script metric to indicate an unsuccessful testing step.

12. The method of claim 1 , wherein the action attribute may correspond to a list of predetermined action attributes.

13. A system for testing a web-based application, comprising:

one or more memory units each operable to store at least one program; and

at least one processor communicatively coupled to the one or more memory units, in which the at least one program, when executed by the at least one processor, causes the at least one processor to perform the steps of:

receiving a test procedure for testing the web-based application, the web-based application having an associated web-based application user-interface code, the test procedure including at least one testing step, each of the at least one testing steps being one of: an interaction testing step and an expectation testing step, each of the at least one testing steps including at least an action attribute and an element attribute;

executing the test procedure at the web-based application, wherein executing the test procedure includes for each of the at least one testing steps included in the executed test procedure:

selecting an action handler from a plurality of different action handlers based on the action attribute, each action handler of the plurality of different action handlers configured to perform a different functionality, wherein the selected action handler is configured to interface with a web-driver associated with the web-based application user-interface code to cause the web-driver to carry out the at least one testing step;

generating at least one instruction, by the selected action handler, based on the action attribute and in accordance with a determination that the testing step is an interaction testing step and that there is a value attribute associated with the interaction testing step, modifying the at least one instruction based on the value attribute associated with the interaction testing step; and

causing, by the selected action handler, the web-driver to execute the at least one instruction on an identified section of web-based application user-interface code corresponding to the element attribute to perform an operation on the web-based application.

14. The system of claim 13 , wherein the at least one testing step includes a first step and a last step, the first step being an interaction testing step and the last step being an expectation testing step.

15. The system of claim 13 , wherein the element attribute corresponds to a unique identifier of a web element of the web-based application.

16. The system of claim 13 , wherein the test procedure is a non-compilable test script written by a user with no experience drafting computer source code.

17. The system of claim 13 , wherein the operation on the web-based application includes: a web page opening operation, a wait operation, a type operation, a click operation, and/or an operation to extract a value from the web-based application.

18. The system of claim 13 , wherein when the testing step is an open web-application step:

generating the at least one instruction includes:

generating a first instruction and a second instruction and causing the web-driver to execute the first instruction to open an associated web-browser,

modifying the at least one instruction includes:

modifying the second instruction to include a web-page name based on the value attribute, and

causing the web-driver to execute the at least one instruction includes:

executing the second instruction with the web-page name based on the value attribute to open the web-based application.

19. The system of claim 13 , wherein when the testing step is a type step:

modifying the at least one instruction includes:

modifying the at least one instruction to include a text string based on the value attribute, and

causing the web-driver to execute the at least one instruction includes:

modifying the section of web-based application user-interface code to simulate typing the text string into a text field of a respective element corresponding to the element attribute in the web-based application user-interface code.

20. The system of claim 13 , wherein when the testing step is a click step, causing the web-driver to execute the at least one instruction includes modifying the section of web-based application user-interface code to simulate a mouse-click action at an element representative of the element attribute in the associated web-based application user-interface code.

21. The system of claim 13 , wherein when the testing step is a wait step, modifying the at least one instruction includes modifying the at least one instruction to include a number value based on the value attribute, causing the web-driver to execute the at least one instruction includes causing the web-driver to wait an amount of time corresponding to the number value.

22. The system of claim 13 , wherein when the testing step is a select step, modifying the at least one instruction includes modifying the at least one instruction to include a text string based on the value attribute, causing the web-driver to execute the at least one instruction includes causing the web-driver to select one option of a plurality of options corresponding to the text string on the associated web-based application user-interface code.

23. The system of claim 13 , wherein when the testing step is an expectation step, causing the web-driver to execute the at least one instruction includes causing the web-driver to extract a respective value characteristic from the web-based application and compare the value characteristic to the value attribute to determine whether there is a match and in response to determining that there is a match, updating a testing script metric to indicate a successful testing step and in response to determining that there is no match, updating a testing script metric to indicate an unsuccessful testing step.

24. The system of claim 13 , wherein the action attribute may correspond to a list of predetermined action attributes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: SANEVELLY, RAJA; KYATHAM, SAM
To: ANTHEM, INC.
Reel/Frame 056798/0708 →
Continuity (3)
Continuation 16784831 · Feb 7, 2020
Provisional Application 62953765 · Dec 26, 2019
Related Publication 20210224184A1 · Jul 22, 2021