Smart UI recording and playback framework
First Claim
Patent Images
1. A computer-readable storage medium storing computer-executable instructions for causing a computer system programmed thereby to perform a method comprising:
- receiving a plurality of internal macro actions passed as one or more opaque recorded step tokens from a graphical user interface-based application across a native recording interface to an external UI recorder configurable to interoperate with multiple different internal macro recorders for multiple different applications, including the graphical user interface-based application, the internal macro actions being recorded in a native format for the graphical user interface-based application;
recording the one or more opaque recorded step tokens with the external UI recorder;
associating the one or more opaque recorded step tokens with relevant data in the external UI recorder; and
generating playback code, including;
mapping at least one logical recording event token into corresponding instructions in the playback code; and
combining into a single code stream the one or more opaque recorded step tokens and the corresponding instructions for the at least one logical recording event token, wherein the one or more opauue recorded step tokens are embedded in the playback code without conversion to other expressions in the playback code;
wherein the one or more opaque recorded step tokens comprise discrete chunks of data whose contents are not interpreted by the external UI recorder but are recognizable in the graphical user interface-based application.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques and tools are described for recording and reliably replicating graphical user interface (“GUI”) activity for various applications, including applications that have dynamic user interfaces. The techniques and tools may be used in combination or separately. For example, a recording tool receives internal macro data from a GUI-based application as opaque tokens, which are embedded into playback code. A playback tool executes the playback code by passing the embedded tokens back to their original application for playback by the application'"'"'s internal recorder.
120 Citations
31 Claims
-
1. A computer-readable storage medium storing computer-executable instructions for causing a computer system programmed thereby to perform a method comprising:
-
receiving a plurality of internal macro actions passed as one or more opaque recorded step tokens from a graphical user interface-based application across a native recording interface to an external UI recorder configurable to interoperate with multiple different internal macro recorders for multiple different applications, including the graphical user interface-based application, the internal macro actions being recorded in a native format for the graphical user interface-based application; recording the one or more opaque recorded step tokens with the external UI recorder; associating the one or more opaque recorded step tokens with relevant data in the external UI recorder; and generating playback code, including; mapping at least one logical recording event token into corresponding instructions in the playback code; and combining into a single code stream the one or more opaque recorded step tokens and the corresponding instructions for the at least one logical recording event token, wherein the one or more opauue recorded step tokens are embedded in the playback code without conversion to other expressions in the playback code; wherein the one or more opaque recorded step tokens comprise discrete chunks of data whose contents are not interpreted by the external UI recorder but are recognizable in the graphical user interface-based application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. In a computing device that implements an application having a native macro recording environment, a method of tokenizing user interactions and passing the tokenized user interactions to a system UI recorder program, the method comprising:
-
receiving input that indicates user interactions with the application having the native macro recording environment; with the computing device that implements the application, recording the user interactions in the application'"'"'s native macro recording environment; with the computing device that implements the application, representing the user interactions as one or more recorder tokens for a system UI recorder program configured to interoperate with multiple different internal macro recorders for multiple different applications, including the application having the native macro recording environment, wherein the one or more recorder tokens encapsulate the user interactions such that the one or more recorder tokens are macro language independent but contents of the one or more recorder tokens are recognizable to the application'"'"'s native macro recording environment, and wherein the one or more recorder tokens are passed as opaque chunks of data whose contents are not interpreted by the system UI recorder program; with the computing device that implements the application, passing the one or more recorder tokens to the system UI recorder program for generation of playback code that includes; mapping at least one logical recording event token into corresponding instructions in the playback code; and combining into a single code stream the one or more recorder tokens, whose contents are recognizable to the application'"'"'s native macro recording environment, and the corresponding instructions for the at least one logical recording event token, wherein the one or more recorder tokens are embedded in the playback code without conversion to other expressions in the playback code; such that the user interactions are opaque within the one or more recorder tokens to the system UI recorder program. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A computer system comprising:
-
computer memory and a central processing unit; a system-wide UI recording tool stored in computer memory and executable using the central processing unit for recording and playing back user interface activity, the system-wide UI recording tool comprising; a module for collecting a first set of data associated with user interface activity against plural different applications, wherein the first set of data is expressed in any of plural native recording languages for the plural different applications; a module for storing the collected first set of data in memory associated with the system-wide UI recording tool; a module for retrieving at least a portion of the stored collected first set of data from memory and for converting the at least a portion of the stored collected first set of data into a set of tokens, the converting including adding marking data to the set of tokens, the marking information comprising the application name and a timestamp; a module for verifying the set of tokens as internally consistent, the verifying comprising considering marking information added to the set of tokens;
wherein the set of tokens are passed as opague chunks of data whose contents are not interpreted by the system-wide UI recording tool;a module for generating playback code, wherein the generating includes; mapping at least one logical recording event token into corresponding instructions in the playback code; and combining into a single code stream the set of tokens and the corresponding instructions for the at least one logical recording event token, wherein the set of tokens are embedded in the playback code without conversion to other expressions in the playback code; and a module for managing playback of the user interface activity by supplying at least some of the set of tokens to the respective plural different applications with which the first set of data is associated, the respective plural different applications determined using the respective plural application names found in the set of tokens. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. In a computing device that implements a software program with an internal recorder and native playback interface, a method comprising:
-
passing a set of one or more recorder tokens from a system UI recorder program to the software program for playback by the internal recorder of the software program using the native playback interface, the one or more recorder tokens being passed as opaque chunks of data whose contents are not interpreted by the system UI recorder program, wherein the system UI recorder program is configurable to interoperate with multiple different internal recorders for multiple software programs, including the software program having the native playback interface, and wherein the set of one or more recorder tokens are embedded in playback code generated by; mapping at least one logical recording event token into corresponding instructions in the playback code; and combining into a single code stream the set of one or more recorder tokens and the corresponding instructions for the at least one logical recording event token, wherein the set of one or more recorder tokens are embedded in the playback code without conversion to other expressions in the playback code; with the computing device that implements the software program, extracting a set of one or more internal recorder actions from the set of one or more recorder tokens, wherein the set of one or more internal recorder actions is expressed in an internal recording language used by the software program, whereby the system UI recorder program interoperates with the internal recorder for the software program; processing marking data associated with at least one recorder token of the set of one or more recorder tokens, the marking data comprising application information, process information, and at least one timestamp; with the computing device that implements the software program, executing a recorded action associated with the at least one recorder token; and with the computing device that implements the software programs, reporting results of the recorded action. - View Dependent Claims (29, 30, 31)
-
Specification