Method and apparatus for generating a state machine model of an application using models of GUI objects and scanning modes
First Claim
1. A method, comprising:
- receiving, by a computing device, a definition of a first element classifier configured to identify one or more document object model (DOM) elements that each is likely to encode a first type of graphical user interface (GUI) object;
receiving, by the computing device, a first file that encodes at least a portion of a first application page of an application;
modelling, by the computing device, the first application page of the application by;
instantiating, within an application model, a first state associated with the first application page;
storing, with the first state of the application model, identifying characteristics of the first application page;
identifying, by the first element classifier, one or more DOM elements in a DOM corresponding to the first application page that each is likely to encode the first type of GUI object;
for each of the one or more identified DOM elements,determining whether an identifying characteristic of the identified DOM element is identical to an identifying characteristic of a DOM element associated with any previously instantiated edges of the application model,if the identifying characteristic of the identified DOM element is identical to an identifying characteristic of a DOM element associated with a previously instantiated edge of the application model,(i) instantiating, for the application model, a first edge from the first state,(ii) designating an action of the first edge to be an action of the previously instantiated edge, and(iii) designating an identifying characteristic of the first edge to be an identifying characteristic of the previously instantiated edge,otherwise, if the identifying characteristic of the identified DOM element is not identical to an identifying characteristic of a DOM element associated with any previously instantiated edges of the application model,(i) instantiating, for the application model, a second edge from the first state,(ii) determining an action that is appropriate for the identified DOM element,(iii) associating the determined action with the second edge,(iv) associating an identifying characteristic of the identified DOM element with the second edge, and(v) performing the determined action on the identified DOM element.
2 Assignments
0 Petitions
Accused Products
Abstract
Models of certain groups of graphical user interface (GUI) objects (e.g., menu objects, product objects, title objects, etc.) are created. A website is then modeled as a state machine (also called a blueprint), in which states are used to model webpages of the website. Identifying characteristics of the states are specified based on the models of the GUI objects. Certain scanning options are used to reduce the complexity of the state machine and accelerate the state machine creation process, known as the “one per page” and “once per app” scanning options. After the state machine model of the website has been created, test cases are generated as traversals through the state machine. In one embodiment, user logs direct the generation of test cases so that the test cases resemble past user behavior.
-
Citations
20 Claims
-
1. A method, comprising:
-
receiving, by a computing device, a definition of a first element classifier configured to identify one or more document object model (DOM) elements that each is likely to encode a first type of graphical user interface (GUI) object; receiving, by the computing device, a first file that encodes at least a portion of a first application page of an application; modelling, by the computing device, the first application page of the application by; instantiating, within an application model, a first state associated with the first application page; storing, with the first state of the application model, identifying characteristics of the first application page; identifying, by the first element classifier, one or more DOM elements in a DOM corresponding to the first application page that each is likely to encode the first type of GUI object; for each of the one or more identified DOM elements, determining whether an identifying characteristic of the identified DOM element is identical to an identifying characteristic of a DOM element associated with any previously instantiated edges of the application model, if the identifying characteristic of the identified DOM element is identical to an identifying characteristic of a DOM element associated with a previously instantiated edge of the application model, (i) instantiating, for the application model, a first edge from the first state, (ii) designating an action of the first edge to be an action of the previously instantiated edge, and (iii) designating an identifying characteristic of the first edge to be an identifying characteristic of the previously instantiated edge, otherwise, if the identifying characteristic of the identified DOM element is not identical to an identifying characteristic of a DOM element associated with any previously instantiated edges of the application model, (i) instantiating, for the application model, a second edge from the first state, (ii) determining an action that is appropriate for the identified DOM element, (iii) associating the determined action with the second edge, (iv) associating an identifying characteristic of the identified DOM element with the second edge, and (v) performing the determined action on the identified DOM element. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
receiving, by a computing device, a definition of a first element classifier configured to identify one or more document object model (DOM) elements that each is likely to encode a first type of graphical user interface (GUI) object; receiving, by the computing device, a first file that encodes at least a portion of a first application page of an application; modelling, by the computing device, the first application page of the application by; instantiating, within an application model, a first page state associated with the first application page; storing, with the first page state of the application model, identifying characteristics of the first application page; identifying, by the first element classifier, one or more DOM elements in a DOM corresponding to the first application page that each is likely to encode the first type of GUI object; for each of the one or more identified DOM elements, determining whether an identifying characteristic of the identified DOM element is identical to an identifying characteristic of a DOM element associated with any previously instantiated action states of the application model, if so, instantiating, for the application model, a first edge from the first page state to a previously instantiated action state of the application model, otherwise, if the identifying characteristic of the identified DOM element is not identical to an identifying characteristic of a DOM element associated with any previously instantiated action states of the application model, (i) instantiating, for the application model, a first action state and an edge connecting the first page state to the first action state, (ii) determining an action that is appropriate for the identified DOM element, (iii) associating the determined action with the first action state, (iv) associating an identifying characteristic of the identified DOM element with the second action state, and (v) performing the determined action on the identified DOM element. - View Dependent Claims (9, 10)
-
-
11. A method, comprising:
-
receiving, by a computing device, a definition of a first element classifier configured to identify one or more document object model (DOM) elements that each is likely to encode a first type of graphical user interface (GUI) object; receiving, by the computing device, a first file that encodes at least a portion of a first application page of an application; modelling the first application page of the application by; instantiating, for an application model, a first state associated with the first application page; storing, with the first state of the application model, identifying characteristics of the first application page; identifying, by the first element classifier, one or more DOM elements in a DOM corresponding to the first application page that each is likely to encode the first type of GUI object; and for only one to three of the one or more identified DOM elements, (i) instantiating, for the application model, a first edge from the first state; (ii) determining an action that is appropriate for the identified DOM element; (iii) associating the determined action with the instantiated first edge; (iv) associating an identifying characteristic of the identified DOM element with the instantiated first edge; and (v) performing the determined action on the identified DOM element. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method, comprising:
-
receiving, by a computing device, a definition of a first element classifier configured to identify one or more document object model (DOM) elements that each is likely to encode a first type of graphical user interface (GUI) object; receiving, by the computing device, a first file that encodes at least a portion of a first application page of an application; modelling the first application page of the application by; instantiating, for an application model, a first page state associated with the first application page; storing, with the first page state of the application model, identifying characteristics of the first application page; identifying, by the first element classifier, one or more DOM elements in a DOM corresponding to the first application page that each is likely to encode the first type of GUI object; and for only one to three of the one or more identified DOM elements, (i) instantiating, for the application model, a first action state from the first state and an edge leading from the first page state to the first action state; (ii) determining an action that is appropriate for the identified DOM element; (iii) associating the determined action with the first action state; (iv) associating an identifying characteristic of the identified DOM element with the first action state; and (v) performing the determined action on the identified DOM element. - View Dependent Claims (17, 18, 19, 20)
-
Specification