The present invention relates to graphically interactive programs, frequently referred to as software applications, and the interpretation of user interactions with a computerized system. The invention is to do with an assisted method to identify an application component, e.g. a page or a control on an application page.
The programming environment in which the present invention is implemented, relates to interactive programs (frequently referred to as software applications) in which the user is presented with a sequence of interface pages, each one at a time. Each one of the pages usually demonstrates several appended graphic entities with which the user can interact, either by receiving information or feeding information or giving direct instructions. A typical program language of the type employed for such tasks are markup languages such as HTML or XHTML.
HTML pages can be described each as a tree of components arranged in a hierarchical order. Each page typically includes a number of components. (e.g., an image, a textbox, a link, etc.). Controls are specific type of components in a page the user interacts with. Aspects describe part of most components, which contribute to the functional definitions of each component. Exemplary aspect types are syntax (e.g. “id” which specifies unique id for a component), visual attribute (e.g. color, shape), semantic (e.g. table headers, label). A locator class is specific to one aspect of the application component. For each component, instances of the relevant classes are created. Instances of a locator class are called “locators”. Each locator contains data on the specific aspect of the associated component.
The invention pertains to a method for identifying foreign application component. The framework of the inventive set-up, supports the implementation of a dual mechanism. On the one hand, a component by component analysis of an existing operational program is carried out, to establish one or more versions of a putative reconstructed program. This reconstruction can be assisted by a trainer. On the other hand, when a foreign application component is intercepted, to be further assessed, implementing an identification process. This assessment is carried out by applying a set of locators defined for that component, calculating the component score as a mathematical combination of individual appraisals generated for each locator and determining the success of the identification of the component based on the combined appraisal score, respective of a reconstructed program.
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the appended drawings in which:
The present invention is to do with a mechanism for reconstructing a putative interactive operational program. Subsequently to that, intercepted foreign components are identified with respect of the reconstructed program. The entire interactive program is typically characterized by a flow of pages, each one exhibiting one or more graphical components, this flow being driven by the interaction of a user with the entire interactive program (EIP). In the running of such an interactive program, frequently referred to as software applications, the user interacts with graphic components on given application pages. As can be seen in
In a training and knowledge phase, assumptions regarding the aspects of the components are generated and made available to the RM as a preconfigured database. These assumptions are translated to human intelligible questions and proposed preferred answers and presented to the user during the execution of the RM, as detailed below.
The reconstruction mechanism (RM), is in one phase capable of collecting information about the components of the application, component by component, and further analyze these components. This phase typically utilizes user assistance. As illustrated in
In the background of the RM, the RM constructs a synthetic version of the EIP or a few versions thereof, hereinafter referred to as a reconstructed interactive program (RIP), supervised by a user, making the reconstruction in this embodiment a supervised reconstruction.
In order to explain some aspects of the user assistance stage which takes place in the RM, reference is made to
The RM creates for that textbox a locator of class “label-based-locator”. The automated identification algorithm assumes that the label is static—stays the same throughout the running of the reconstruction mechanism for that component. The assisted mode enables the user to specify if indeed the label is static or only part of it is, and which one of the three textbox components it is related to.
The RM generates a question, as explained above: “is the label always set as address of Mr. Black”? The user provides a response as follows: “address of” is the static part of the label. The RM then updates the assumption of the locator with pieces of information (POI) derived from the response provided by the user. Then in this case, as there are three text box components (the RM analyzes the entire page), a follow up question: “is that the first of the three textbox components with that label?” is presented as several such components are identified by the RM on the application page.
As briefly referred to above, the RM collects information about an EIP's component, implementing the assisted method which includes a sequence of steps as further explained in
In addition, each execution of the RIP, the ranking for this locator may be re-evaluated and/or adjusted to reflect a new assessment of the locator's usefulness to component identification. The algorithm does not change the identification rule but rather its rank, hence its weight in the total identification function for that component. The ranking method is similar to the importance score method disclosed in patent U.S. Pat. No. 8,572,095 B2, columns 5-6 and claims 1-4. In the case of the example illustrated at
The number of runs is determined by the user executing the RM.
The results (updated assumptions and ranking) are saved for each component in the RIP and are part of the total identification function related to it.
Intercepted application component is identified as a component in the RIP by applying the set of locators defined for that component, calculating the component score as a combination of the individual appraisals generated for each locator. The likelihood of the identification of a component is a function of the combined appraisal scores, thus the component is identified if the combined appraisal score for the given component exceeds a predetermined threshold value.
In a special case where the intercepted component is not identified, e.g. the combined appraisal score is under the predetermined threshold value, the intercepted component is refuted.
An ambiguity may exist when two reconstructed pages are composed of the same identified components. In such a case, the ambiguity is solved e.g. by using the method disclosed in the U.S. patent application Ser. No. 14/134,919, which is incorporated herein by reference in its entirety.