IP Library › Granted Patent US 10,802,950
Granted Patent B2
US 10,802,950 · App. 16/375,527 · Granted Oct 13, 2020

Automated webpage testing

Inventors: Hendazi Kastyshyn (Walnut Creek, CA); Anson Barber Mayers (San Rafael, CA); Joel Rorik Fischer (San Francisco, CA)
Assignee: ServiceNow, Inc.
G06F11/3664G06F11/3688G06F16/958
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 10,802,950
App. No.
16/375,527
Filed
Apr 4, 2019
Granted
Oct 13, 2020
Kind
B2
Examiner
LEE, MARINA
Art Unit
2192
USPC
717/124
Abstract

Systems and methods involving automated test of web pages are described. A computing device may load a web page in a test environment, the web page may having a first underlying representation for rendering. The underlying representation may be analyzed by a page crawler to identify one or more testable components of the web page. A file may be generated, and the identified components may be stored in the file in a second representation that may be more streamlined than the first. The testable components in the file may be displayed as a menu of selectable test options in a graphical user interface (GUI) on a display device. Selection of at least one of the selectable test options may be made via input received at the GUI, the selections corresponding to a set of test steps. The set of test steps may be run in the test environment.

Claims (57)

1. A computing device comprising:

a processor;

a display component; and

memory storing instructions that, when executed by the processor, cause the computing device to carry out operations including:

loading a web page into a test environment, the web page having an underlying first representation for rendering of the web page;

analyzing the underlying first representation to identify testable components, each corresponding to an element associated with interactive content on the web page;

generating a file containing the identified testable components, the generated file having a second representation different than the underlying first representation;

on the display component, displaying, in a graphical user interface, the identified testable components in the generated file as a menu of selectable test options;

generating a test comprising a set of test steps to test the identified testable components, wherein a particular test step of the set of test steps is configured by:

receiving, via the graphical user interface, a selection of one of the identified testable components on the menu of selectable test options;

receiving, via the graphical user interface, an input identifying an input value to assign to the selected identified testable component for a portion of the test, wherein the input value assigned to the selected identified testable component comprises an output value obtained from a previous test step of the set of test steps; and

determining an order of execution of the particular test step within the set of test steps; and

running the set of test steps in the test environment.

2. The computing device of claim 1 , wherein the operations include displaying results of running the set of test steps in the test environment.

3. The computing device of claim 1 , wherein the operations include storing the generated test in a database.

4. The computing device of claim 3 , wherein the operations include:

retrieving the stored test from the database; and

running the retrieved test in the test environment.

5. The computing device of claim 1 , wherein analyzing the underlying first representation comprises textually crawling the underlying first representation to identify pre-defined tags and/or labels.

6. The computing device of claim 1 , wherein analyzing the underlying first representation comprises ignoring testable components identified in a pre-defined list of excluded testable components.

7. The computing device of claim 1 , wherein the second representation contains less information than the underlying first representation.

8. The computing device of claim 1 , wherein each testable component comprises at least one of a clickable component, a settable component, or a gettable component.

9. The computing device of claim 1 , wherein the underlying first representation is hypertext markup language (HTML).

10. The computing device of claim 1 , wherein the second representation is Javascript object notation (JSON).

11. The computing device of claim 1 , wherein the operations include reversing any changes to the test environment or the loaded web page, or a combination thereof, made as a result of running the set of test steps in the test environment.

12. A method carried out in a computing device, the method comprising:

loading a web page into a test environment executing on the computing device, the web page having an underlying first representation for rendering of the web page;

analyzing the underlying first representation to identify testable components, each corresponding to an element associated with interactive content on the web page;

generating a file containing the identified testable components, the generated file having a second representation different than the underlying first representation;

displaying, in a graphical user interface of the computing device, the identified testable components in the generated file as a menu of selectable test options;

generating a test comprising a set of test steps to test the identified testable components, wherein a particular test step of the set of test steps is configured by:

receiving, via the graphical user interface, a selection of one of the identified testable components on the menu of selectable test options;

receiving, via the graphical user interface, an input identifying an input value to assign to the selected identified testable component for a portion of the test, wherein the input value assigned to the selected identified testable component comprises an output value obtained from a previous test step of the set of test steps, and

determining an order of execution of the particular test step within the set of test steps; and

running the set of test steps in the test environment.

13. The method of claim 12 , comprising displaying results of running the set of test steps in the test environment.

14. The method of claim 12 , comprising storing the generated test in a database.

15. The method of claim 14 , comprising:

retrieving the stored test from the database; and

running the retrieved test in the test environment.

16. The method of claim 12 , wherein analyzing the underlying first representation comprises textually crawling the underlying first representation to identify pre-defined tags and/or labels.

17. The method of claim 12 , wherein analyzing the underlying first representation comprises ignoring testable components identified in a pre-defined list of excluded testable components.

18. The method of claim 12 , wherein the second representation contains less information than the underlying first representation.

19. The method of claim 12 , wherein each testable component comprises at least one of a clickable component, a settable component, or a gettable component.

20. The method device of claim 12 , wherein the underlying first representation is HTML.

21. The method of claim 12 , wherein the second representation is JSON.

22. The method of claim 12 , comprising reversing any changes to the test environment, the loaded web page, or a combination thereof, made as a result of running the set of test steps in the test environment.

23. An article of manufacture including a non-transitory computer-readable medium, having stored thereon program instructions that, upon execution by a computing device, cause computing device to perform operations comprising:

loading a web page into a test environment executing on the computing device, the web page having an underlying first representation for rendering of the web page;

analyzing the underlying first representation to identify testable components, each corresponding to an element associated with interactive content on the web page;

generating a file containing the identified testable components, the generated file having a second representation different than the underlying first representation;

displaying, in a graphical user interface of the computing device, the identified testable components in the generated file as a menu of selectable test options;

generating a test comprising a set of test steps to test the identified testable components, wherein a particular test step of the set of test steps is configured by:

receiving, via the graphical user interface, a selection of one of the identified testable components on the menu of selectable test options;

receiving, via the graphical user interface, an input identifying an input value to assign to the selected identified testable component for a portion of the test, wherein the input value assigned to the selected identified testable component comprises an output value obtained from a previous test step of the set of test steps; and

determining an order of execution of the particular test step within the set of test steps;

running the set of test steps in the test environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2020
From: KASTYSHYN, HENDAZI; MAYERS, ANSON BARBER; FISCHER, JOEL RORIK
To: SERVICENOW, INC.
Reel/Frame 053698/0769 →
Continuity (2)
Provisional Application 62733436 · Sep 19, 2018
Related Publication 20200089597A1 · Mar 19, 2020