System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
First Claim
Patent Images
1. A method of testing a running application from a viewpoint of a user of a graphical user interface of the running application, comprising:
- generating, using a programmed processor, generic user interface control hierarchies implementing a common user interface for emulating user interactions occurring external to the running application between the user and the graphical user interface within an abstraction layer, each of the generic user interface control hierarchies providing a technology-independent representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and parent-child relationships between each of the graphical elements of the graphical user interface of the running application;
storing, using the programmed processor, user defined test libraries and implementation objects for use in creating the generic user interface control hierarchies within a meta layer, each of the implementation objects defining the technology-independent representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and their associated functionality, each implementation object being defined by an interface that acts as a creation prototype, the implementation object defined by;
selecting collection meta objects comprising a reusable algorithm that takes as input at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and returns specialized collections of nested controls;
selecting at least one identity meta object containing an algorithm for identifying if the at least one control hierarchy instance is considered a match for the implementation object;
selecting read only property collections as defined by the interface, wherein the read only property collections that take as input the at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and return a value;
selecting read only action collections as defined by the interface, wherein the read only action collections take as input the at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and define emulated user interaction;
creating, using the programmed processor, a technology-independent control hierarchy of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application within an application layer, the technology-independent control hierarchy of the graphical user interface of the running application based upon the generic user interface control hierarchies to emulate the user interactions with the graphical user interface occurring external to the running application from the abstraction layer and the user defined implementation objects from the meta layer.
7 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides a system, method and computer program product that uses abstraction to enable the definition, development and maintenance of testing libraries for both simple and complex user interface controls. The system and method hide the granular details from the test designer while still promoting reuse. Using the system and method, designers can define a library of functionality for common controls that map 1-to-1 with visual controls, which may be re-implemented across many APIs or programming languages.
-
Citations
21 Claims
-
1. A method of testing a running application from a viewpoint of a user of a graphical user interface of the running application, comprising:
-
generating, using a programmed processor, generic user interface control hierarchies implementing a common user interface for emulating user interactions occurring external to the running application between the user and the graphical user interface within an abstraction layer, each of the generic user interface control hierarchies providing a technology-independent representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and parent-child relationships between each of the graphical elements of the graphical user interface of the running application; storing, using the programmed processor, user defined test libraries and implementation objects for use in creating the generic user interface control hierarchies within a meta layer, each of the implementation objects defining the technology-independent representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and their associated functionality, each implementation object being defined by an interface that acts as a creation prototype, the implementation object defined by; selecting collection meta objects comprising a reusable algorithm that takes as input at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and returns specialized collections of nested controls; selecting at least one identity meta object containing an algorithm for identifying if the at least one control hierarchy instance is considered a match for the implementation object; selecting read only property collections as defined by the interface, wherein the read only property collections that take as input the at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and return a value; selecting read only action collections as defined by the interface, wherein the read only action collections take as input the at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and define emulated user interaction; creating, using the programmed processor, a technology-independent control hierarchy of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application within an application layer, the technology-independent control hierarchy of the graphical user interface of the running application based upon the generic user interface control hierarchies to emulate the user interactions with the graphical user interface occurring external to the running application from the abstraction layer and the user defined implementation objects from the meta layer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An automated software testing system for testing a running application from a viewpoint of a user of a graphical user interface of the running application, comprising:
-
a programmed processor; an abstraction layer executed by the programmed processor, the abstraction layer generating generic user interface control hierarchies implementing a common user interface for emulating user interactions occurring external to the running application between the user and the graphical user interface, each of the generic user interface control hierarchies providing a technology-independent representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and parent-child relationships between each of the graphical visual controls of the graphical user interface of the running application; a meta layer executed by the programmed processor, the meta layer including user defined test libraries and implementation objects for use in creating the generic user interface control hierarchies, each of the implementation objects defining the technology-independent representation of graphical visual controls of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and their associated functionality, each implementation object being defined by an interface that acts as a creation prototype, the implementation object comprising; collection meta objects comprising a reusable algorithm that takes as input at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and returns specialized collections of nested controls; at least one identity meta object containing an algorithm for identifying if the at least one control hierarchy instance is considered a match for the implementation object; read only property collections as defined by the interface, wherein the read only property collections that take as input the at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and return a value; read only action collections as defined by the interface, wherein the read only action collections take as input the at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and define emulated user interaction; an application layer executed by the programmed processor, the application layer using the generic user interface control hierarchies implementing a common user interface for emulating user interaction occurring external to the running application with the graphical user interface from the abstraction layer and the user defined implementation objects from the meta layer to create a technology-independent control hierarchy of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory, computer readable medium including instructions which, when executed by a programmed processor, implement an automated software testing process for testing a running application from a viewpoint of a user of a graphical user interface of the running application comprising:
-
generating, using the programmed processor, generic user interface control hierarchies implementing a common user interface for emulating user interactions occurring external to the running application between the user and the graphical user interface using an abstraction layer, each of the generic user interface control hierarchies providing a technology-independent representation of graphical visual controls graphical elements of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and parent-child relationships between each of the graphical visual controls of the graphical user interface of the running application; holding user definable test libraries and generating, using the programmed processor, implementation objects for use in creating the generic user interface control hierarchies using a meta layer, each of the implementation objects providing a technology-independent representation of member graphical elements of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application and their associated functionality, each implementation object being generated by an interface that acts as a creation prototype, the implementation object defined by; selecting collection meta objects comprising a reusable algorithm that takes as input at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and returns specialized collections of nested controls; selecting at least one identity meta object containing an algorithm for identifying if the at least one control hierarchy instance is considered a match for the implementation object; selecting read only property collections as defined by the interface, wherein the read only property collections that take as input the at least one a control hierarchy instance determined by the implementation object'"'"'s identity meta object and return a value; selecting read only action collections as defined by the interface, wherein the read only action collections take as input the at least one control hierarchy instance determined by the implementation object'"'"'s identity meta object and define emulated user interaction; creating, using the programmed processor, a technology-independent control hierarchy hierarchical representation of the graphical elements of the graphical user interface of the running application to emulate the user interactions with the graphical user interface occurring external to the running application using the control hierarchies implementing a common user interface for emulating user interaction occurring external to the running application with the graphical user interface from the abstraction layer and the implementation objects from the meta layer. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification