WO2022037818A1 - Device and method for interaction with a graphical user interface and for testing an application - Google Patents

Device and method for interaction with a graphical user interface and for testing an application Download PDF

Info

Publication number
WO2022037818A1
WO2022037818A1 PCT/EP2021/065301 EP2021065301W WO2022037818A1 WO 2022037818 A1 WO2022037818 A1 WO 2022037818A1 EP 2021065301 W EP2021065301 W EP 2021065301W WO 2022037818 A1 WO2022037818 A1 WO 2022037818A1
Authority
WO
WIPO (PCT)
Prior art keywords
user interface
text
interaction
voice command
similarity
Prior art date
Application number
PCT/EP2021/065301
Other languages
German (de)
French (fr)
Inventor
Andreas Rau
Jenny Rau
Andreas Zeller
Original Assignee
CISPA - Helmholtz-Zentrum für Informationssicherheit gGmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CISPA - Helmholtz-Zentrum für Informationssicherheit gGmbH filed Critical CISPA - Helmholtz-Zentrum für Informationssicherheit gGmbH
Publication of WO2022037818A1 publication Critical patent/WO2022037818A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Definitions

  • the invention relates to a method for interacting with a graphical user interface, the graphical user interface having an interaction element.
  • An interaction element is an interactive element with a graphical representation, i.e. an element that can be displayed and interacted with to trigger an action.
  • the interaction element can therefore in particular be a so-called "widget”.
  • An interaction element can be clickable, for example. An action is triggered when the interaction element is clicked.
  • provision can be made for a program flow of the application to be controlled by triggering an action by way of an interaction with the interaction element.
  • an action can be triggered by an interaction with an interaction element, which transfers the state of the application and/or the user interface to a different state.
  • An interaction can also be referred to as an action taken.
  • An application can be characterized in particular by the fact that it is a software application or a computer program that performs a function that is useful for the user.
  • Graphical user interfaces often also referred to as graphical user interfaces, are ubiquitous. Interaction often takes place in that the user clicks on graphically displayed interactive elements with a computer mouse or his fingers and makes entries using a keyboard. This is cumbersome.
  • Language assistants usually go a different way here and do not interact with a graphical user interface, but trigger functionalities of the application in a different way.
  • Direct voice control of graphical user interfaces is only implemented very rudimentarily nowadays. It is known to remotely control graphical user interfaces by using voice commands. The voice commands only replace the manual operation by uttering commands such as "move the cursor to" or "click on the button labeled ⁇ name>", where ⁇ name> is specifically specified. Flexible voice control is therefore not possible since the user must speak the correct terms and navigate through the graphical user interface in the same way as with manual interaction.
  • the invention also relates to a method for testing an application using a user interface as an interface.
  • crawlers for this purpose, which essentially trigger randomized interactions with the graphical user interface and successively explore a large number of states of the user interface. Such an approach is slow and can only explore a fraction of the state space.
  • the invention is based on the object of creating a method for interacting with a graphical user interface and for testing an application that facilitates navigation through the graphical user interface. Furthermore, it should be achieved that the time required to develop a test protocol for an application is reduced and that different applications can be tested with the same test protocol.
  • the invention proposes the features of claim 1.
  • a voice command is provided from which a text element is identified, that a lexical content is determined for the interaction element, that a semantic degree of similarity of the text element to the lexical content is determined and that the interaction element is interacted with depending on the degree of similarity.
  • a voice command is provided from which a text element is identified, that a lexical content is determined for the interaction element, that a semantic degree of similarity of the text element to the lexical content is determined and that the interaction element is interacted with depending on the degree of similarity.
  • Allows voice control that does not depend on the user interface is bound to given terms.
  • a semantic degree of similarity between text elements of the voice command and interaction elements syntactically completely dissimilar but semantically similar terms can be used. This makes it possible, for example, to use the voice command "Sign me in” on a graphical user interface whose corresponding button is labeled "Login". This enables natural language control without having to use the terminology of the graphical user interface to be controlled.
  • the voice command can consist of a single word, but as a rule it will be formed by a sequence of text elements.
  • a text element can consist of a single word or be formed by a sequence of words.
  • the voice command is preferably formed from words in a natural language.
  • the voice command is preferably formed according to grammar rules. This is particularly preferably a formal grammar.
  • the grammar preferably divides text elements into different classes. Some possible classes are described in more detail below by way of example.
  • the identified text element preferably belongs to a class whose text elements
  • the provided voice command can be broken down into a sequence of text elements with the aid of a computer.
  • the sequence can also consist of just one text element, even if the sequence regularly includes a plurality of text elements.
  • the breakdown can take place, for example, by means of a text parser. This is preferably done according to the rules of the aforementioned grammar.
  • the grammar is used to identify whether a text element consists of a single word or a sequence of several words.
  • signal words or punctuation marks can be provided which cause several words to be combined into one text element.
  • a list is preferably created which contains those text elements which belong to a class whose text elements designate interaction elements, in the order in which they occur. Any existing macros are resolved beforehand.
  • the voice command can preferably be formed according to the rules of the aforementioned grammar, otherwise freely.
  • additional information about an application that has a similar functionality to the application whose user interface is to be interacted with is used to set up the voice command.
  • description documents of such an application or also results from testing such an application can be used. It is important here that it can be a different application with a user interface that differs from the user interface that is the subject of the method according to the invention. This is a great advantage of the invention, since once created the voice command on a Many number of different applications can be applied.
  • any voice recording device and any voice recognition method that appear suitable to the person skilled in the art can be used for this purpose.
  • the voice command is provided by providing a sequence of text elements. For example, this can be done by entering a key or by reading out the content of a text file.
  • the sequence of text elements can only have a single text element, although it preferably has more than one text element.
  • any method known from computer linguistics for determining a semantic similarity can be used to determine the degree of semantic similarity between the text element and the lexical content.
  • the cosine similarity of the two text elements being compared can be calculated, normalized to the length of the strings being compared.
  • Cosine similarity returns a numerical value in an interval [ ⁇ 1, 1], where values close to 1 denote a high degree of semantic similarity.
  • the basis for determining the semantic degree of similarity can be a model space for a set of words, with each word in the set of words being assigned an element in the model space.
  • a metric exists in the model space with which a distance between the elements can be determined, the distance describing a semantic distance between the elements.
  • the elements can be vectors in the vector space and the metric can be given by an angle between vectors of the vector space, for example.
  • the text elements to be compared with one another are then compared with the model space, so that elements from the model space are assigned to the text elements.
  • the semantic distance between the text elements can then be determined by means of the metric.
  • the semantic similarity of a first text element to a second text element is to be determined, one or both of which consist of several words in the model space, it can be provided that the semantic similarities are each calculated in pairs and arranged in a matrix. Provision can then be made for the matrix entries determined in this way to be assigned a scalar which describes the semantic similarity. For this purpose it can be provided that a maximum value is determined for each row or for each column and the values determined in this way are added to one another. For normalization, the sum can then be divided by the number of added values. If cosine similarity is used for each entry in the matrix, the scalar determined in this way is again between -1 and 1.
  • the basis for determining a semantic degree of similarity can therefore be a model of a set of words, with the model depicting relationships between the words.
  • the relationships can consist, for example, in a joint occurrence in a context, for example in a sentence or some other unit of meaning.
  • the lexical content can be determined for the interaction element by identifying lexical content arranged on the interaction element.
  • Interaction element no lexical content is arranged.
  • interaction element a description characterizing the interaction element will generally be located in its vicinity.
  • a graphically represented descriptive element is regularly spatially assigned to the interaction element.
  • the lexical content of the interaction element is determined by determining distances from surrounding descriptive elements with lexical content and selecting the lexical content of the closest descriptive element .
  • Euclidean distances are determined by the interaction element to its neighboring descriptive elements, in which case the descriptive element with the smallest distance is selected.
  • the Euclidean distance from corners of the elements for example the top left corner of the elements, can be determined.
  • a description element is preferably selected which overlaps with the interaction element.
  • the lexical content of the interaction element or of the description element is determined by being taken directly from a text field of a data structure describing a current state of the user interface.
  • a data structure is often available via a graphical user interface software interface.
  • the data structure can have information about the interaction element or the description element in the form of data fields.
  • the text field can in particular a dem Interaction element or the description element assigned data field of the data structure.
  • the lexical content of the interaction element or the descriptive element can also be determined by applying a text recognition and/or image recognition method to the graphical representation of the interaction element or the descriptive element. All common methods can be used for this. OCR (optical character recognition) methods, for example, can be used for text recognition.
  • the text field of the data structure or the text determined by the text recognition contains a character such as an icon that is not covered by the grammar.
  • a list can be stored that contains an assignment of lexical content to the characters and/or graphic elements. In such a case, the method would essentially consist of accessing the corresponding list element.
  • a text determined for an interaction element or a description element can still contain unwanted, meaningless Unicode characters, line breaks or contain the like. It can therefore be provided that, in order to determine the lexical content, a recognized text is first cleaned by removing a selection of characters or replacing them with spaces. For example, it can be provided that all special characters are replaced by spaces and all stop words are removed.
  • the voice command includes a designation for a macro, the macro in turn including a sequence of text elements.
  • the sequence of text elements for the macro is preferably stored in a text file. This has the advantage that the language command can be designed much more simply and can contain more abstract instructions, while details can be stored in the macros.
  • the macros are preferably resolved directly, in that the sequence of text elements formed by the macro replaces the designation of the macro in the voice command.
  • the macro itself can have macros, which are then resolved recursively.
  • the method in the event that an interaction requires an input that is not contained in the spoken command with resolved macros, the method is stopped until an input is made. Provision can be made here for a graphically or acoustically perceptible indication to be given to the user of the method. It can be provided that the input via Voice control takes place or via the usual input paths required by the user interface.
  • an interaction element is always displayed before an interaction with it.
  • functionalities can be used that are known from conventional crawlers that can access a data structure that describes the graphical user interface.
  • the interaction element is only interacted with if the ascertained degree of similarity exceeds a threshold value.
  • a threshold with the value 0 is particularly suitable.
  • an overestimated one Threshold should be avoided in order to avoid that intrinsically good candidates are ultimately not selected.
  • threshold value is not reached or no similarity is found in any other way, and if such a threshold value is also not reached when determining further degrees of similarity between text elements of the voice command and lexical contents of interaction elements, or if a similarity is found in some other way, it can be provided that an interaction is selected at random. Interactions that have already taken place previously in the course of executing the method or the voice command are preferably excluded here. Such configurations of the method make it possible to ensure that even larger deviations in the voice command and functionality of the application to which the method is applied do not represent an obstacle.
  • degrees of similarity of text elements of the voice command to interaction elements of the graphical user interface are determined lexical content and that the interaction element is interacted with first for which the determined degree of similarity is highest.
  • degrees of similarity can be determined from a text element to a plurality of lexical content, from a plurality of text elements to a lexical content and from a plurality of text elements to a plurality of lexical content.
  • this can be done by introducing a weighting that lowers the degree of similarity the more the later the text element appears in the voice command.
  • the order of the text elements has priority in the case of the same degrees of similarity or small differences.
  • At least one action is assigned to the text element of the voice command and that the at least one action assigned to the text element is compared with an action assigned to the interaction element.
  • the degree of similarity of the text element to the interaction element is preferably determined as a function of the result of the comparison. The is particularly preferred Degree of similarity only determined if the actions are compatible. If an interaction element only allows a click as an interaction and an input is linked to the text element, then the actions are not compatible and it would be superfluous to determine a degree of similarity. Provision can preferably also be made for the degree of similarity to be weighted even in the case of mutually compatible actions. An example in which a lowering can be useful is further below in the description of the in FIG. 1 illustrated method described.
  • a voice command For better control of the execution of a voice command, it can be provided that it is stored whether and/or how often the interaction element was interacted with during the execution of the method. Alternatively or additionally, it can be provided that a state model of the user interface is created and/or updated from interactions with the user interface and from the states of the user interface achieved as a result of the interactions. The information collected can be used to further influence the method in an advantageous manner, as the following exemplary embodiment also shows.
  • a weighting factor is preferably provided, which is multiplied by the previously determined degree of similarity or subtracted from it.
  • the degree of similarity is preferably further reduced the more frequently an interaction element has been interacted with.
  • the state of the user interface and/or the application can be saved after the method or the voice command has been executed. This can be useful, for example, for evaluation or testing purposes.
  • the invention also proposes using a method for interacting with a graphical user interface for executing a function of an application that uses the user interface as an interface, the method according to the invention, in particular as described above or according to a protection claims directed to a method for interaction with a graphical user interface.
  • the voice command is preferably provided by the user, for example by way of a voice input.
  • the invention also proposes the features of the independent claim directed to a method for testing an application.
  • a user interface is used as an interface in a method for testing using application proposed to solve the stated task that at least one voice command is specified, that a method for interaction with a graphical user interface is performed for each of the at least one voice command, this method according to the invention, in particular as described above or according to a method for interaction with a graphical user interface directed protection claims, is formed, and that a state model of the user interface is generated and / or updated and stored in a retrievable manner, the state model comprising the interactions carried out and the states of the user interface achieved thereby.
  • voice commands preferably test different functions of the application.
  • the state model can then be used to evaluate the test result. For example, it can be determined which functions the tested application has.
  • the method steps mentioned above are each preferably carried out with the aid of a computer. All method steps are preferably carried out with the aid of a computer. However, it is preferably provided that at least the voice input takes place by a user speaking a voice command. Alternatively, this can also be read out from a file using a computer.
  • the invention also proposes the features of the independent claim directed to a technical device.
  • the technical device in a technical device for Solution to the stated object proposed that the technical device is set up to perform a method for interacting with a graphical user interface and / or a method for testing a user interface, for example the aforementioned user interface, as an interface using application, the respective method according to the invention, in particular as described above or according to one of the claims directed to a corresponding method.
  • the invention also proposes an arrangement with a technical device and with a technical device on which an application using the user interface as an interface is stored ready for use and access.
  • the technical device is designed according to the invention, in particular as described above or below.
  • at least one interface is formed, which enables data to be transmitted from the technical device to the technical device.
  • the at least one interface also enables data to be transmitted from the technical device to the technical device.
  • the interfaces can in particular be hardware interfaces or software interfaces.
  • the technical device and/or the technical facility is preferably an electronic device such as a computer or a smartphone. They can be the same or separate devices.
  • the technical device preferably has at least one data memory and one data processing unit.
  • a computer program can be stored in the data memory, which is executed to carry out the methods described above.
  • the technical device preferably has a display on which elements of the graphical user interface to be displayed can be displayed.
  • a preferably optical sensor such as a video camera, can be designed with which what is shown on the display can be detected.
  • the sensor can be connected to the technical device in order to transmit the recorded data to it.
  • the technical device and the technical facility can use common resources such as a shared data memory or a shared processor.
  • Fig. 1 shows a flow chart of an exemplary embodiment of a method according to the invention for interacting with a graphical user interface
  • Fig. 2 is a flowchart of an embodiment Method for testing an application that has a user interface
  • Fig. 3 shows a graphical user interface display that is in a specific state.
  • Fig. 4 to fig. 6 in each case an exemplary embodiment of an arrangement according to the invention.
  • Fig. 1 shows an exemplary embodiment of a method 100 according to the invention.
  • the method is initialized by providing a voice command that is to be applied to an application with a graphical user interface.
  • the application can be an online shop, for example.
  • the voice command can be "Sign me in”.
  • a macro can be stored for the designation "Sign me in”, which reads as follows, for example:
  • the voice command can be provided by voice input.
  • the user speaks the words “Sign me in Using a microphone and a voice recognition process, the voice input is converted into the voice command, i.e. into a sequence of words.
  • step 102 the voice command is then broken down into its text elements using a grammar and a parser, with the text elements being divided into classes.
  • the text element "Sign me in” belongs to a first class of words.
  • the first class describes a macro .
  • the parser recognizes this from a list of labels, which also includes the text element "Sign me in” .
  • the macro "Log me in” is then executed. As a result, the name of the macro is replaced by its content.
  • the text elements "For” , "Do” and “And” belong to a second class .
  • the second class describes words that control the voice command .
  • the words "For” and “Do” indicate that the intervening text element is a label of a macro
  • the word “And” means, for example, that in addition to the interaction before the "And” there is another interaction that is described after the "And”.
  • the text element "click” and the word combination "write” and “in” belong to a third class.
  • the third class relates to the type of interaction.
  • the word “click” can be interpreted in such a way that the interaction element "login” is to be clicked . This can be a short or a long click .
  • the text element consisting of the word combination "Write” and “In” means that text element between the words “Write” and “In” as text in the input to be entered, which belongs to the interaction element after the word "write”.
  • the text elements "login”, "username” and "password” belong to a fourth class.
  • the fourth class describes words that designate interaction elements. As will be explained in more detail below, it is not necessary for the application to use exactly these terms fe is used It is sufficient that there is a semantic similarity .
  • a list is then created listing the text elements of the fourth class in the order of their occurrence. Associated with each element of the list are all the actions compatible with the type of interaction taken from the text elements of the third class. Actions that are possible for compatible interaction elements are assigned here. To access the previous example, the action “click” and “long-click” is associated with the word “click” if the graphical user interface allows such actions.
  • step 103 the current state of the graphical user interface is analyzed.
  • the operating system on which the application is running provides an interface that can be used to analyze the current status of the graphical user interface.
  • Android or websites on desktop PCs offer the possibility of accessing a structure that hierarchically lists all graphical elements of the current state of the graphical user interface and provides some basic information about these elements, such as their type, location, horizontal extent and vertical plane . It is also possible to see whether the elements currently appear on the displayed display or whether they first have to be reached by scrolling the display.
  • From the structure can therefore be particularly interactive Elements and the interaction options with them, such as clicking, entering text or selecting from a drop-down menu, and deriving a possible designation directly linked to the interaction element and graphically displayed on it.
  • a possibility is also provided to interact with the interaction elements by using a peripheral device or by a programmed instruction replacing it.
  • Non-interactive elements such as purely descriptive elements can also be derived for which properties such as location, horizontal extent and vertical plane can also be stored.
  • the descriptive elements can in particular have a text-based or an image-based description (such as an icon).
  • step 103 the interaction elements and the description elements of the current state of the graphical user interface are specifically determined, together with all available information about these elements that is required for the further process.
  • step 104 the respective designation of the current interaction elements is determined. This is easy if a designation is directly linked to the interaction element, since this can then be taken from the information available on the interaction element. This is the case, for example, in FIG. 3 in the case of the interaction element provided with the reference number 24, in which the designation "login" is represented graphically on the interaction element 24.
  • the lexical content of the descriptive elements is then extracted. This can be linked directly to the description element in the hierarchical structure. If this is not the case, for example because an image file is stored, the lexical content can be extracted, for example, using a text recognition method (e.g. using OCR software) or, in the case of icons, using a method that assigns lexical content to the icon assigns .
  • a text recognition method e.g. using OCR software
  • icons e.g. using a method that assigns lexical content to the icon assigns .
  • the recognized text can still be cleaned up and broken down into words for the final determination of the lexical content.
  • step 104 a lexical content is determined for the interaction elements that designates them.
  • step 105 a semantic degree of similarity between the words of the list created in step 102 and the lexical content determined in step 104 is then determined.
  • the dashed lines indicate that data determined from steps 102 and 104 are processed in step 105 .
  • Possible methods for the determination have already been mentioned above. For example, if the list has N words and there are M interaction elements with associated lexical content, then a total of up to N*M degrees of similarity are determined.
  • step 106 the calculated degree of similarity is modified by means of a weighting. If the degree of similarity is expressed by a real number, the weighting can be multiplicative. Alternatively, subtraction with a number can also be provided.
  • a suitable candidate for the next interaction is then selected in step 107 .
  • that interaction element is selected for which—after possibly being lowered in step 106—the highest
  • the exemplary embodiment described here provides for any interaction element to be selected, with only one being selected that has not yet been interacted with.
  • step 108 the interaction element is then interacted with. If an association exists, applying an action associated with the corresponding text element from the list. If an entry is required, then what is to be entered has already been linked to the corresponding action in step 102 beforehand. If the same effective degrees of similarity are assigned to several actions, one of the two is selected. A termination criterion is then checked in step 109 . For example, it can be checked whether a maximum time has been reached and/or whether a desired target state has been reached. For example, the procedure can be terminated if the registration has been successfully completed in the example discussed here.
  • the method can also be ended when the list no longer contains any further elements.
  • the method ends in step 110 .
  • the method can be useful if the states reached during the execution of the voice command and the interactions carried out are saved.
  • step 103 If the termination criterion is not met, the method continues in step 103 .
  • Fig. 2 shows an exemplary embodiment of a method 200 for testing an application that has a graphical user interface.
  • a large number of voice commands are first provided in step 201 . This can be done by speaking or by providing a text file containing the voice commands.
  • step 202 it is then checked whether all voice commands have already been processed or whether a voice command has remained unprocessed. If a voice command is still unprocessed, in step 203 the method 100 shown in FIG. 1 is shown .
  • the result of the method 100 is added to an initially empty state model that already exists after a first iteration, the state model including the interactions carried out for the respective voice command and the states of the graphical user interface achieved as a result.
  • step 202 the method in step 202 with the remaining
  • step 204 ends in that the created state model is stored so that it can be called up for further analysis.
  • Fig. 3 shows a graphical user interface display 14 which is in a current state. In the state shown, a total of three interactive interaction elements 22, 23 and 24 and two non-interactive description elements 25 and 26 are displayed.
  • the lexical content "Login” is arranged on the interaction element 24.
  • the lexical content "Username” and "Password” assigned to them is located in the respective nearest description fields 25 and 26. Elsewhere is described in more detail that and how a registration takes place by means of the voice command "Sign me in” through interaction with the user interface.
  • the voice command can be executed successfully despite the different order of the text elements provided in the voice command and despite considerable syntactic deviations from the text fields and the user is successfully logged in.
  • the methods 100, 200 described above can be used, for example, with the arrangements 12 or be performed with the technical devices 1, according to FIG. 4 to fig. 6 are formed and are described below.
  • the method steps are carried out automatically by means of the technical device 1, which can be a server or a smartphone, for example.
  • the arrangement 12 includes the technical device 1 and the technical facility 2 .
  • device 1 has resources that are separate from device 2.
  • Fig. 6 shows an example in which the technical device 1 and the technical device 2 share resources such as the processor 15 and the data memory 16 .
  • the technical device 2 can be an electronic device 13 such as a computer or a mobile device, preferably a smartphone.
  • the electronic device 13 can also form the technical device 1 at the same time, as shown in FIG. 6 .
  • the technical device 1 can, however, as shown in FIG. 4 or fig . 5 can also be a separate device such as a server.
  • the technical facility 2 and/or the technical device 1 have a display 14 on which the current status of graphic elements of the graphic user interface can be displayed.
  • the technical device 2 has a data input interface 6 via which data can be received.
  • the technical device 2 can receive data from the data output interface 3 of the technical device 1 via the data input interface 6 .
  • the received data can include, for example, specific actions to be performed by interaction elements of the user interface.
  • the technical device 1 has a data input interface 9 via which data can be received.
  • the data input interface 9 can be connected to a data output interface 17 of the technical device 2 via a wireless and/or wired data line 10 such as an Internet connection.
  • lexical content of elements of the user interface is determined via a data structure or other memory content stored in the form of data.
  • Fig. 5 it is provided that the graphic representation of the user interface currently displayed on the display 14 is recorded by means of a sensor 8 such as a video camera and the recordings are transmitted to the technical device 1 .
  • the technical device 1 and the technical facility 2 each have at least one data memory 16 and one processor 15 .
  • the latter are shown in Fig. 4 and figs. 5 not shown explicitly for reasons of clarity.
  • the interfaces 3, 6, 9 and 17 are as hardware interfaces and in Fig. 6 as
  • the invention relates to a device 1 and a method for interacting with a graphical user interface and for testing an application.
  • a voice command is provided from which a text element is identified.
  • a lexical content is determined for an interactive element 22, 23, 24 of the user interface.
  • a semantic degree of similarity of the text element to the lexical content is determined and the interactive element 22, 23, 24 is then interacted with depending on the degree of similarity.

Abstract

The invention relates to a device (1) and a method for interaction with a graphical user interface and for testing an application. A voice command is provided, from which a text element is identified. A lexical content with respect to an interactive element (22, 23, 24) of the user interface is determined. A semantic degree of similarity of the text element with the lexical content is determined and it is then interacted with the interactive element (22, 23, 24) as a function of the degree of similarity.

Description

Vorrichtung und Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche und zum Testen einer Applikation Device and method for interacting with a graphical user interface and for testing an application
Die Erfindung betri f ft ein Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche , wobei die graphische Benutzeroberfläche ein Interaktionselement aufweist . The invention relates to a method for interacting with a graphical user interface, the graphical user interface having an interaction element.
Dies ist so zu verstehen, dass die Benutzeroberfläche genau ein oder mehr als ein Interaktionselement aufweist . Im Regel fall wird die Benutzeroberfläche eine Viel zahl von Interaktionselementen aufweisen . Ein Interaktionselement ist ein interaktives Element mit graphischer Darstellung, also ein Element , das angezeigt werden kann und mit dem interagiert werden kann, um eine Aktion aus zulösen . Das Interaktionselement kann daher insbesondere ein sogenanntes „Widget" sein . Ein Interaktionselement kann beispielsweise klickbar sein . Eine Aktion wird ausgelöst , wenn das Interaktionselement angeklickt wird . Es gibt Interaktionselemente , die eine Eingabe erfordern, Drop-Down Menüs und viele weitere Arten von Interaktionselementen . This is to be understood in such a way that the user interface has exactly one or more than one interaction element. As a rule, the user interface will have a large number of interaction elements. An interaction element is an interactive element with a graphical representation, i.e. an element that can be displayed and interacted with to trigger an action. The interaction element can therefore in particular be a so-called "widget". An interaction element can be clickable, for example. An action is triggered when the interaction element is clicked. There are interaction elements that require input, drop-down menus and many other types of interaction elements.
Es kann vorgesehen sein, dass durch die Interaktion mit der Benutzeroberfläche Funktionalitäten einer Applikation gesteuert werden, die die Benutzeroberfläche als Schnittstelle verwendet . So kann insbesondere vorgesehen sein, dass durch das Auslösen einer Aktion im Wege einer Interaktion mit dem Interaktionselement ein Programmablauf der Applikation gesteuert wird . Durch eine Interaktion mit einem Interaktionselement kann insbesondere eine Aktion ausgelöst werden, die den Zustand der Applikation und/oder der Benutzeroberfläche in einen anderen Zustand überführt . Provision can be made for the interaction with the user interface to control functionalities of an application that uses the user interface as an interface. In particular, provision can be made for a program flow of the application to be controlled by triggering an action by way of an interaction with the interaction element. In particular, an action can be triggered by an interaction with an interaction element, which transfers the state of the application and/or the user interface to a different state.
Eine Interaktion kann auch als ausgeführte Aktion bezeichnet werden . Eine Applikation kann insbesondere dadurch charakterisiert sein, dass es sich um eine Softwareapplikation handelt oder um ein Computerprogramm, das eine für den Anwender nützliche Funktion aus führt . An interaction can also be referred to as an action taken. An application can be characterized in particular by the fact that it is a software application or a computer program that performs a function that is useful for the user.
Graphische Benutzeroberflächen, häufig auch als graphische Benutzerschnittstellen bezeichnet , sind allgegenwärtig . Eine Interaktion erfolgt häufig, indem der Anwender mit einer Computermaus oder seinen Fingern auf graphisch dargestellte interaktive Elemente klickt und Eingaben mittels einer Tastatur tätigt . Dies ist umständlich . Graphical user interfaces, often also referred to as graphical user interfaces, are ubiquitous. Interaction often takes place in that the user clicks on graphically displayed interactive elements with a computer mouse or his fingers and makes entries using a keyboard. This is cumbersome.
Es besteht daher das Bedürfnis nach ergonomischeren Interaktionsmöglichkeiten . There is therefore a need for more ergonomic interaction options.
In den letzten Jahren sind Sprachsteuerungen entwickelt worden, die eine Bedienung verbessern können . Sprachassistenten gehen hierbei üblicherweise einen anderen Weg und interagieren nicht mit einer graphischen Benutzeroberfläche , sondern Lösen Funktionalitäten der Applikation auf andere Weise aus . In recent years, voice controls have been developed that can improve operation. Language assistants usually go a different way here and do not interact with a graphical user interface, but trigger functionalities of the application in a different way.
Eine direkte Sprachsteuerung von graphischen Benutzeroberflächen ist heutzutage lediglich sehr rudimentär umgesetzt . Es ist bekannt , graphische Benutzeroberflächen aus der Ferne zu steuern durch Verwenden von Sprachbefehlen . Die Sprachbefehle ersetzen hierbei lediglich die manuelle Bedienung, indem Befehle geäußert werden wie „bewege den Cursor zu" oder „klicke auf die Schaltfläche mit der Bezeichnung <Name>" , wobei <Name> konkret vorgegeben ist . Eine flexible Sprachsteuerung ist daher nicht möglich, da der Anwender die richtigen Begri f fe sprechen muss und durch die graphische Benutzeroberfläche in der gleichen Weise wie bei manueller Interaktion navigieren muss . Die Erfindung betri f ft ferner ein Verfahren zum Testen einer eine Benutzeroberfläche als Schnittstelle verwendende Applikation . Direct voice control of graphical user interfaces is only implemented very rudimentarily nowadays. It is known to remotely control graphical user interfaces by using voice commands. The voice commands only replace the manual operation by uttering commands such as "move the cursor to" or "click on the button labeled <name>", where <name> is specifically specified. Flexible voice control is therefore not possible since the user must speak the correct terms and navigate through the graphical user interface in the same way as with manual interaction. The invention also relates to a method for testing an application using a user interface as an interface.
Eine Interaktion ist in einem solchen Umfeld erleichtert , da das Betriebssystem, mit dem die Applikation ausgeführt wird, in aller Regel eine Softwareschnittstelle zur Interaktion mit der graphischen Benutzeroberfläche zur Verfügung stellt . Interaktionen, die normalerweise manuell ausgeführt werden, können daher computergestützt über die Softwareschnittstelle erfolgen . An interaction is facilitated in such an environment since the operating system with which the application is executed generally provides a software interface for interacting with the graphical user interface. Interactions that are normally performed manually can therefore be computer-assisted via the software interface.
Das Testen von Applikationen hat eine hohe praktische Bedeutung . Neben manuell ausgeführten Tests gewinnen automatisierte Testverfahren immer mehr an Bedeutung, da diese mit geringerem Aufwand durchgeführt werden können und eine hohe Vergleichbarkeit schaf fen . Application testing is of great practical importance. In addition to tests that are carried out manually, automated test procedures are becoming more and more important because they can be carried out with less effort and create a high level of comparability.
Es ist bekannt , hierzu Crawler einzusetzen, die im Wesentlichen randomisiert Interaktionen mit der graphischen Benutzeroberfläche auslösen und sukzessive eine Viel zahl von Zuständen der Benutzeroberfläche erkunden . Eine solche Herangehensweise ist langsam und kann nur einen Bruchteil des Zustandsraums erkunden . It is known to use crawlers for this purpose, which essentially trigger randomized interactions with the graphical user interface and successively explore a large number of states of the user interface. Such an approach is slow and can only explore a fraction of the state space.
In j üngster Zeit sind alternative Methoden entwickelt worden, bei denen zunächst ein vollständiger Testlauf für eine Testapplikation programmiert wird . Dieser Testlauf wird sodann auf eine alternative Applikation angewendet . Mit einer solchen Herangehensweise kann zwar im Vergleich zu einem randomisiert arbeitenden Crawler in der gleicher Zeit ein größerer Bereich des Zustandsraums der zu testenden Applikation erkundet werden, allerdings ist die Methode sehr aufwändig, da für j eden einzelnen Testfall ein vollständiger Testlauf programmiert werden muss . Vor diesem Hintergrund liegt der Erfindung die Aufgabe zugrunde , Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche und zum Testen einer Applikation zu schaf fen, die eine Navigation durch die graphische Benutzeroberfläche erleichtert . Ferner soll erreicht werden, dass die Zeit , die zum Entwickeln eines Testprotokolls für eine Applikation benötigt wird, reduziert wird und dass unterschiedliche Applikationen mit demselben Testprotokoll getestet werden können . Recently, alternative methods have been developed in which a complete test run for a test application is initially programmed. This test run is then applied to an alternative application. With such an approach, compared to a randomized crawler, a larger area of the state space of the application to be tested can be explored in the same amount of time, but the method is very complex, since a complete test run has to be programmed for each individual test case. Against this background, the invention is based on the object of creating a method for interacting with a graphical user interface and for testing an application that facilitates navigation through the graphical user interface. Furthermore, it should be achieved that the time required to develop a test protocol for an application is reduced and that different applications can be tested with the same test protocol.
Soweit im Folgenden Varianten der Erfindung beschrieben werden, können diese beliebig miteinander kombiniert werden, sofern eine Kombination aus technischen Gründen nicht ausgeschlossen i st . Insofar as variants of the invention are described below, they can be combined with one another as desired, provided that a combination is not ruled out for technical reasons.
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung die Merkmale von Anspruch 1 vor . Insbesondere wird somit erfindungsgemäß bei einem Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche der eingangs beschriebenen Art zur Lösung der genannten Aufgabe vorgeschlagen, dass ein Sprachbefehl bereitgestellt wird, aus dem ein Textelement identi fi ziert wird, dass zu dem Interaktionselement ein lexikalischer Inhalt ermittelt wird, dass ein semantischer Ähnlichkeitsgrad des Textelements zu dem lexikalischen Inhalt bestimmt wird und dass in Abhängigkeit von dem Ähnlichkeitsgrad mit dem Interaktionselement interagiert wird . Dies ist so zu verstehen, dass neben dem einen identi fi zierten Textelement auch weitere Textelemente identi fi ziert werden können . Neben dem einen Sprachfehl können auch weitere Sprachbefehle erfolgen . Beides wird sogar der Regel fall sein . In order to solve the aforementioned problem, the invention proposes the features of claim 1. In particular, it is therefore proposed according to the invention in a method for interacting with a graphical user interface of the type described above to solve the stated task that a voice command is provided from which a text element is identified, that a lexical content is determined for the interaction element, that a semantic degree of similarity of the text element to the lexical content is determined and that the interaction element is interacted with depending on the degree of similarity. This is to be understood in such a way that, in addition to the one identified text element, other text elements can also be identified. In addition to the one voice command, other voice commands can also be given. Both will even be the case as a rule.
Hierdurch wird die Navigation durch die graphischeThis enables navigation through the graphic
Benutzeroberfläche erheblich erleichtert . So wird eineUser interface greatly simplified. So will one
Sprachsteuerung ermöglicht , die nicht an von der Benutzeroberfläche vorgegebene Begri f fe gebunden ist . Infolge der Bestimmung eines semantischen Ähnlichkeitsgrads zwischen Textelementen des Sprachbefehls und Interaktionselementen, können syntaktisch völlig unähnliche , allerdings semantisch ähnliche Begri f fe verwendet werden . So wird beispielsweise ermöglicht , den Sprachbefehl „Melde mich an" auf eine graphische Benutzeroberfläche anzuwenden, deren entsprechende Schaltfläche mit „Einloggen" bezeichnet ist . Dies ermöglicht eine natürliche Sprachsteuerung, ohne die Begri f fsverwendung der zu steuernden graphischen Benutzeroberfläche benutzen zu müssen . Allows voice control that does not depend on the user interface is bound to given terms. As a result of the determination of a semantic degree of similarity between text elements of the voice command and interaction elements, syntactically completely dissimilar but semantically similar terms can be used. This makes it possible, for example, to use the voice command "Sign me in" on a graphical user interface whose corresponding button is labeled "Login". This enables natural language control without having to use the terminology of the graphical user interface to be controlled.
Dies ist nicht nur nützlich für Menschen, die wegen mangelnder Sehkraft die Begri f fe nicht erkennen können, sondern auch für sehende Menschen, da die Interaktionselemente außerhalb des angezeigten Bereichs liegen können und daher für den Anwender nicht zu j eder Zeit sichtbar sind . This is useful not only for people who cannot recognize the terms due to poor eyesight, but also for sighted people, since the interaction elements can be outside the displayed area and therefore not visible to the user at all times.
Der Sprachbefehl kann aus einem einzelnen Wort bestehen, er wird im Regel fall allerdings durch eine Abfolge von Textelementen gebildet sein . Ein Textelement kann hierbei aus einem einzelnen Wort bestehen oder seinerseits durch eine Abfolge von Wörtern gebildet sein . Der Sprachbefehl ist bevorzugt aus Wörtern einer natürlichen Sprache gebildet . The voice command can consist of a single word, but as a rule it will be formed by a sequence of text elements. A text element can consist of a single word or be formed by a sequence of words. The voice command is preferably formed from words in a natural language.
Bevorzugt ist der Sprachbefehl nach Regeln einer Grammatik gebildet . Hierbei handelt es sich besonders bevorzugt um eine formale Grammati k . The voice command is preferably formed according to grammar rules. This is particularly preferably a formal grammar.
Bevorzugt teilt die Grammatik Textelemente in verschiedene Klassen ein . Weiter unten sind beispielhaft einige mögliche Klassen genauer beschrieben . Das identi fi zierte Textelement gehört bevorzugt einer Klasse an, deren TextelementeThe grammar preferably divides text elements into different classes. Some possible classes are described in more detail below by way of example. The identified text element preferably belongs to a class whose text elements
Interaktionselemente bezeichnen . Es kann vorgesehen sein, dass der bereitgestellte Sprachbefehl computergestützt in eine Abfolge von Textelementen zergliedert wird . Hierbei kann die Abfolge auch nur aus einem Textelement bestehen, auch wenn regelmäßig die Abfolge mehrere Textelemente umfasst . Die Zergliederung kann beispielsweise mittels eines Textparsers erfolgen . Dies erfolgt bevorzugt gemäß den Regeln der zuvor genannten Grammatik . designate interaction elements. Provision can be made for the provided voice command to be broken down into a sequence of text elements with the aid of a computer. In this case, the sequence can also consist of just one text element, even if the sequence regularly includes a plurality of text elements. The breakdown can take place, for example, by means of a text parser. This is preferably done according to the rules of the aforementioned grammar.
Es kann beispielsweise vorgesehen sein, dass anhand der Grammatik erkannt wird, ob ein Textelement aus einem einzelnen Wort oder aus einer Abfolge mehrerer Wörter besteht . Hierzu können beispielsweise Signalwörter oder Satz zeichen vorgesehen sein, die bewirken, dass mehrere Wörter zu einem Textelement zusammengefasst werden . For example, it can be provided that the grammar is used to identify whether a text element consists of a single word or a sequence of several words. For this purpose, for example, signal words or punctuation marks can be provided which cause several words to be combined into one text element.
Bevorzugt wird eine Liste erstellt , welche diej enigen Textelemente , die einer Klasse angehören, deren Textelemente Interaktionselemente bezeichnen, in der Reihenfolge ihres Auftretens enthält . Eventuell bestehende Makros werden vorher aufgelöst . A list is preferably created which contains those text elements which belong to a class whose text elements designate interaction elements, in the order in which they occur. Any existing macros are resolved beforehand.
Der Sprachbefehl kann vorzugsweise nach den Regeln der zuvor genannten Grammatik, ansonsten frei gebildet sein . Von Vorteil ist es allerdings , wenn zur Aufstellung des Sprachbefehls weitere Informationen über eine Applikation, die eine ähnliche Funktionalität aufweist wie die Applikation, mit deren Benutzeroberfläche interagiert werden soll , verwendet werden . Hierzu können Beschreibungsunterlagen einer solchen Applikation oder auch Ergebnisse aus einer Testung einer solchen Applikation verwendet werden . Wichtig hierbei ist , dass es sich um eine andere Applikation mit einer Benutzeroberfläche handeln kann, die sich von der Benutzeroberfläche unterscheidet , die Gegenstand des erfindungsgemäßen Verfahrens ist . Dies ist ein großer Vorteil der Erfindung, da der einmal geschaf fene Sprachbefehl auf eine Viel zahl unterschiedlicher Applikationen angewendet werden kann . The voice command can preferably be formed according to the rules of the aforementioned grammar, otherwise freely. However, it is advantageous if additional information about an application that has a similar functionality to the application whose user interface is to be interacted with is used to set up the voice command. For this purpose, description documents of such an application or also results from testing such an application can be used. It is important here that it can be a different application with a user interface that differs from the user interface that is the subject of the method according to the invention. This is a great advantage of the invention, since once created the voice command on a Many number of different applications can be applied.
Es kann vorgesehen sein, dass der Sprachbefehl bereitgestellt wird, indem eine sprachliche Eingabe in eine Abfolge von Textelementen umgewandelt wird . Hierzu kann im Prinzip j edes Sprachaufnahmegerät und j edes Spracherkennungsverfahren verwendet werden, die dem Fachmann geeignet erscheinen . Alternativ oder zusätzlich kann vorgesehen sein, dass der Sprachbefehl bereitgestellt wird, indem eine Abfolge von Textelementen bereitgestellt wird . Beispielsweise kann dies durch eine Tastatureingabe oder durch das Auslesen eines Inhalts einer Textdatei erfolgen . Auch diesbezüglich kann die Abfolge von Textelementen lediglich ein einzelnes Textelement aufweisen, bevorzugt weist sie allerdings mehr als ein Textelement auf . Provision can be made for the voice command to be provided by converting a spoken input into a sequence of text elements. In principle, any voice recording device and any voice recognition method that appear suitable to the person skilled in the art can be used for this purpose. Alternatively or additionally, it can be provided that the voice command is provided by providing a sequence of text elements. For example, this can be done by entering a key or by reading out the content of a text file. In this regard, too, the sequence of text elements can only have a single text element, although it preferably has more than one text element.
Zur Bestimmung des semantischen Ähnlichkeitsgrad des Textelements zu dem lexikalischen Inhalt kann grundsätzlich j ede Methode angewandt werden, die aus der Computerlinguistik zur Bestimmung einer semantischen Ähnlichkeit bekannt ist . Beispielsweise kann die Kosinus-Ähnlichkeit der beiden miteinander verglichenen Textelemente berechnet werden, normalisiert auf die Länge der verglichenen Zeichenketten . Die Kosinus-Ähnlichkeit liefert einen numerischen Wert in einem Intervall [ - 1 , 1 ] , wobei Werte nahe 1 einen hohen semantischen Ähnlichkeitsgrad bedeuten . In principle, any method known from computer linguistics for determining a semantic similarity can be used to determine the degree of semantic similarity between the text element and the lexical content. For example, the cosine similarity of the two text elements being compared can be calculated, normalized to the length of the strings being compared. Cosine similarity returns a numerical value in an interval [−1, 1], where values close to 1 denote a high degree of semantic similarity.
Grundlage für die Bestimmung des semantischen Ähnlichkeitsgrads kann ein Modellraum für einen Satz von Wörtern sein, wobei j edem Wort des Satzes von Wörtern ein Element in dem Modellraum zugordnet ist . In dem Modellraum existiert eine Metrik, mit der ein Abstand der Elemente zueinander bestimmt werden kann, wobei der Abstand einen semantischen Abstand der Elemente zueinander beschreibt . Beispielsweise kann der Modellraum ein n-dimensionaler Vektorraum mit n >= 2 sein . Die Elemente können Vektoren in dem Vektorraum sein und die Metrik kann beispielsweise durch einen Winkel zwi schen Vektoren des Vektorraums gegeben sein . The basis for determining the semantic degree of similarity can be a model space for a set of words, with each word in the set of words being assigned an element in the model space. A metric exists in the model space with which a distance between the elements can be determined, the distance describing a semantic distance between the elements. For example, the model space can be an n-dimensional vector space with n >= 2. The elements can be vectors in the vector space and the metric can be given by an angle between vectors of the vector space, for example.
Um den Wörtern Elemente des Modellraums bzw . Vektoren zuzuordnen, können ausgehend von einem Textkorpus Beziehungen zwischen Wörtern ermittelt werden . Wörter mit hoher semantischer Ähnlichkeit werden sodann Elementen des Modellraums mit geringem Abstand zueinander zugeordnet . Ein bekanntes Modell ist beispielsweise das word2vec-Modell , das mit einem neuronalen Netzwerk trainiert wird . To match the words elements of the model space or . To assign vectors, relationships between words can be determined starting from a text corpus. Words with a high level of semantic similarity are then assigned to elements of the model space that are at a small distance from one another. For example, a well-known model is the word2vec model, which is trained with a neural network.
Zur Aus führung des Verfahrens werden sodann die miteinander zu vergleichenden Textelemente mit dem Modellraum abgeglichen, sodass den Textelementen Elemente aus dem Modellraum zugeordnet werden, Mittels der Metrik kann sodann der semantische Abstand zwischen den Textelementen bestimmt werden . To execute the method, the text elements to be compared with one another are then compared with the model space, so that elements from the model space are assigned to the text elements. The semantic distance between the text elements can then be determined by means of the metric.
Soll die semantische Ähnlichkeit von einem ersten Textelement zu einem zweiten Textelement bestimmt werden, von denen eines oder beide aus mehreren Wörtern des Modellraums bestehen, so kann vorgesehen sein, dass die semantischen Ähnlichkeiten j eweils paarweise berechnet und in einer Matrix angeordnet werden . Es kann sodann vorgesehen sein, dass den so ermittelten Matrixeinträgen ein Skalar zugeordnet wird, der die semantische Ähnlichkeit beschreibt . Hierzu kann vorgesehen sein, dass zu j eder Zeile oder zu j eder Spalte ein größter Wert bestimmt wird und die so ermittelten Werte miteinander addiert werden . Zur Normalisierung kann die Summe sodann durch die Anzahl der aufaddierten Werte dividiert werden . Wird für j eden Eintrag der Matrix die Kosinus-Ähnlichkeit verwendet , so liegt der so ermittelte Skalar wieder zwischen - 1 und 1 . Grundlage für die Bestimmung eines semantischen Ähnlichkeitsgrads kann daher ein Modell eines Satzes von Wörtern sein, wobei das Modell Beziehungen zwischen den Wörtern abbildet . Die Beziehungen können beispielsweise in einem gemeinsamen Auftreten in einem Kontext , beispielsweise in einem Satz oder einer sonstigen Sinneinheit , bestehen . Dem Fachmann sind diesbezüglich eine Viel zahl von Methoden bekannt . If the semantic similarity of a first text element to a second text element is to be determined, one or both of which consist of several words in the model space, it can be provided that the semantic similarities are each calculated in pairs and arranged in a matrix. Provision can then be made for the matrix entries determined in this way to be assigned a scalar which describes the semantic similarity. For this purpose it can be provided that a maximum value is determined for each row or for each column and the values determined in this way are added to one another. For normalization, the sum can then be divided by the number of added values. If cosine similarity is used for each entry in the matrix, the scalar determined in this way is again between -1 and 1. The basis for determining a semantic degree of similarity can therefore be a model of a set of words, with the model depicting relationships between the words. The relationships can consist, for example, in a joint occurrence in a context, for example in a sentence or some other unit of meaning. A large number of methods in this regard are known to the person skilled in the art.
Derartige Beziehungen zwischen Wörtern bleiben bei rein syntaktischen Vergleichen von Textelementen außer Betracht . Such relationships between words are not taken into account in purely syntactic comparisons of text elements.
Um einen geeigneten lexikalischen Inhalt dem Interaktionselement zuordnen zu können, kann vorgesehen sein, dass der lexikalische Inhalt zu dem Interaktionselement ermittelt wird, indem ein auf dem Interaktionselement angeordneter lexikalischer Inhalt identi fi ziert wird . In order to be able to assign suitable lexical content to the interaction element, provision can be made for the lexical content to be determined for the interaction element by identifying lexical content arranged on the interaction element.
Diese Herangehensweise scheitert , wenn auf demThis approach fails when on the
Interaktionselement kein lexikalischer Inhalt angeordnet ist . Interaction element no lexical content is arranged.
Allerdings wird eine das Interaktionselement kennzeichnende Beschreibung in der Regel in dessen Nähe angeordnet sein . So wird regelmäßig dem Interaktionselement räumlich ein graphisch dargestelltes Beschreibungselement zugeordnet sein . However, a description characterizing the interaction element will generally be located in its vicinity. A graphically represented descriptive element is regularly spatially assigned to the interaction element.
Es kann daher vorteilhaft sein, wenn zusätzlich oder statt einer Identi fi zierung eines auf dem Interaktionselement angeordneten lexikalischen Inhalts der lexikalische Inhalt zu dem Interaktionselement ermittelt wird, indem Abstände von umliegenden Beschreibungselementen mit einem lexikalischen Inhalt ermittelt werden und der lexikalische Inhalt des nahestgelegenen Beschreibungselement ausgewählt wird . Hierzu kann beispielsweise vorgesehen sein, dass euklidische Abstände von dem Interaktionselement zu seinen benachbarten Beschreibungselementen bestimmt werden, wobei sodann das Beschreibungselement mit einem geringsten Abstand ausgewählt wird . Zur Bestimmung des Abstands von zwei Elementen kann beispielsweise der euklidische Abstand von Ecken der Elemente , beispielsweise der linken-oberen Ecke der Elemente , bestimmt werden . Hierbei kann vorgesehen sein, dass bevorzugt ein Beschreibungselement ausgewählt wird, das mit dem Interaktionselement überlappt . It can therefore be advantageous if, in addition to or instead of identifying lexical content arranged on the interaction element, the lexical content of the interaction element is determined by determining distances from surrounding descriptive elements with lexical content and selecting the lexical content of the closest descriptive element . For this purpose it can be provided, for example, that Euclidean distances are determined by the interaction element to its neighboring descriptive elements, in which case the descriptive element with the smallest distance is selected. To determine the distance between two elements, for example, the Euclidean distance from corners of the elements, for example the top left corner of the elements, can be determined. It can be provided here that a description element is preferably selected which overlaps with the interaction element.
Bevorzugt wird zunächst geprüft , ob auf dem Interaktionselement ein lexikalischer Inhalt angeordnet ist . Wenn diese Prüfung negativ aus fällt , kann sodann die nähere Umgebung nach lexikalischen Inhalten wie beschrieben untersucht werden . It is preferably first checked whether lexical content is arranged on the interaction element. If this check is negative, the immediate surroundings can then be examined for lexical content as described.
Es kann vorgesehen sein, dass als Beschreibungselemente nur solche gelten, mit denen eine Interaktion nicht möglich ist . Dies ist allerdings nicht zwingend, da auch ein benachbartes Interaktionselement eine gemeinsame Beschreibung tragen kann . Es kann daher auch vorgesehen sein, dass alle graphisch dargestellten benachbarten Elemente mit lexikalischem Inhalt als Beschreibungselemente in Betracht kommen . Provision can be made for only those elements with which an interaction is not possible to apply as descriptive elements. However, this is not mandatory since an adjacent interaction element can also carry a common description. It can therefore also be provided that all graphically represented adjacent elements with lexical content come into consideration as descriptive elements.
Bei einer weiteren vorteilhaften Ausgestaltung des Verfahrens kann vorgesehen sein, dass der lexikalische Inhalt des Interaktionselements oder des Beschreibungselements ermittelt wird, indem er einem Textfeld einer einen aktuellen Zustand der Benutzeroberfläche beschreibenden Datenstruktur unmittelbar entnommen wird . Häufig ist eine solche Datenstruktur über eine Softwareschnittstelle der graphischen Benutzeroberfläche verfügbar . Hierbei kann die Datenstruktur Informationen zu dem Interaktionselement oder dem Beschreibungselement in Form von Datenfeldern aufweisen . Hierbei kann das Textfeld insbesondere ein dem Interaktionselement oder dem Beschreibungselement zugeordnetes Datenfeld der Datenstruktur sein . In a further advantageous embodiment of the method it can be provided that the lexical content of the interaction element or of the description element is determined by being taken directly from a text field of a data structure describing a current state of the user interface. Such a data structure is often available via a graphical user interface software interface. The data structure can have information about the interaction element or the description element in the form of data fields. Here, the text field can in particular a dem Interaction element or the description element assigned data field of the data structure.
I st kein solches Datenfeld verfügbar, so kann der lexikalische Inhalt des Interaktionselements oder des Beschreibungselements auch ermittelt werden, indem auf die graphische Darstellung des Interaktionselements oder des Beschreibungselements ein Verfahren der Texterkennung und/oder der Bilderkennung angewendet wird . Hierzu können alle gängigen Verfahren verwendet werden . Für die Texterkennung können beispielsweise OCR- ( optical character recognition) -Verfahren eingesetzt werden . If no such data field is available, the lexical content of the interaction element or the descriptive element can also be determined by applying a text recognition and/or image recognition method to the graphical representation of the interaction element or the descriptive element. All common methods can be used for this. OCR (optical character recognition) methods, for example, can be used for text recognition.
Es kann vorkommen, dass das Textfeld der Datenstruktur oder der durch die Texterkennung ermittelte Text ein Zeichen wie etwa ein Icon enthält , das von der Grammatik nicht umfasst ist . Es kann vorgesehen sein, dass ein Verfahren angewendet wird, das einem solchen Zeichen oder auch einem durch die Bilderkennung ermittelten Graphikelement einen lexikalischen Inhalt zuordnet . Hierzu kann beispielsweise eine Liste hinterlegt sein, die eine Zuordnung eines lexikalischen Inhalts zu den Zeichen und/oder Graphikelementen enthält . Das Verfahren würde in einem solchen Fall daher im Wesentlichen aus einem Zugri f f auf das entsprechende Listenelement bestehen . It can happen that the text field of the data structure or the text determined by the text recognition contains a character such as an icon that is not covered by the grammar. Provision can be made for a method to be used which assigns lexical content to such a character or also to a graphic element determined by image recognition. For this purpose, for example, a list can be stored that contains an assignment of lexical content to the characters and/or graphic elements. In such a case, the method would essentially consist of accessing the corresponding list element.
Es kann vorgesehen sein, dass eine Identi fi zierung des Interaktionselements und/oder des Beschreibungselements und/oder Informationen zu diesen Elementen mittels einer einen aktuellen Zustand der Benutzeroberfläche beschreibenden Datenstruktur erfolgt . Provision can be made for the interaction element and/or the description element and/or information about these elements to be identified by means of a data structure describing a current state of the user interface.
Ein zu einem Interaktionselement oder einem Beschreibungselement ermittelter Text kann noch unerwünschte , nicht sinntragende Unicode-Zeichen, Zeilenumbrüche oder dergleichen enthalten . Es kann daher vorgesehen sein, dass zur Ermittlung des lexikalischen Inhalts ein erkannter Text zunächst noch bereinigt wird, indem eine Auswahl von Zeichen entfernt oder durch Leerzeichen ersetzt werden . Beispielsweise kann vorgesehen sein, dass alle Sonderzeichen durch Leerzeichen ersetzt werden und alle Stoppwörter entfernt werden . A text determined for an interaction element or a description element can still contain unwanted, meaningless Unicode characters, line breaks or contain the like. It can therefore be provided that, in order to determine the lexical content, a recognized text is first cleaned by removing a selection of characters or replacing them with spaces. For example, it can be provided that all special characters are replaced by spaces and all stop words are removed.
Es kann vorgesehen sein, dass die erkannte und vorzugsweise bereits bereinigte Zeichenkette in eine Liste von Wörtern zergliedert wird, welche sodann den ermittelten lexikalischen Inhalt bilden . Provision can be made for the recognized and preferably already cleaned character string to be broken down into a list of words which then form the determined lexical content.
Eine erhebliche Erleichterung der Navigation auf der Benutzeroberfläche kann erzielt werden, wenn vorgesehen ist , dass der Sprachbefehl eine Bezeichnung für ein Makro umfasst , wobei das Makro seinerseits eine Abfolge von Textelementen umfasst . Die Abfolge von Textelementen zu dem Makro ist vorzugsweise in einer Textdatei gespeichert . Dies hat den Vorteil , dass der Sprachbefehl erheblich einfacher gestaltet sein kann und abstraktere Anweisungen enthalten kann, während Details in den Makros abgelegt sein können . Bei der Verarbeitung des Sprachbefehls werden bevorzugt die Makros direkt aufgelöst , indem die von dem Makro gebildete Abfolge von Textelementen die Bezeichnung des Makros im Sprachbefehl ersetzt . Das Makro kann selbst wieder Makros aufweisen, die dann rekursiv aufgelöst werden . Navigation on the user interface can be made considerably easier if it is provided that the voice command includes a designation for a macro, the macro in turn including a sequence of text elements. The sequence of text elements for the macro is preferably stored in a text file. This has the advantage that the language command can be designed much more simply and can contain more abstract instructions, while details can be stored in the macros. When processing the voice command, the macros are preferably resolved directly, in that the sequence of text elements formed by the macro replaces the designation of the macro in the voice command. The macro itself can have macros, which are then resolved recursively.
Es kann vorgesehen sein, dass für den Fall , dass eine Interaktion eine Eingabe erfordert , eine solche allerdings nicht in dem Sprachbe fehl mit aufgelösten Makros enthalten ist , das Verfahren angehalten wird, bis eine Eingabe erfolgt . Hierbei kann vorgesehen sein, dass ein graphisch oder akustisch wahrnehmbarer Hinweis an den Anwender des Verfahrens erfolgt . Es kann vorgesehen sein, dass die Eingabe per Sprachsteuerung erfolgt oder aber über die üblichen von der Benutzeroberfläche geforderten Eingabewege . It can be provided that in the event that an interaction requires an input that is not contained in the spoken command with resolved macros, the method is stopped until an input is made. Provision can be made here for a graphically or acoustically perceptible indication to be given to the user of the method. It can be provided that the input via Voice control takes place or via the usual input paths required by the user interface.
Es kann vorgesehen sein, dass mit einem solchen Interaktionselement , wenn es außerhalb einer aktuellen Anzeige der graphischen Benutzeroberfläche liegt , erst interagiert wird, nachdem dieses durch Scrollen der Anzeige innerhalb der aktuellen Anzeige angezeigt wird . Es kann darüber hinaus vorgesehen sein, dass ein Interaktionselement immer vor einer Interaktion mit diesem angezeigt wird . Provision can be made for such an interaction element, if it is outside a current display of the graphical user interface, to only be interacted with after it has been displayed within the current display by scrolling the display. In addition, it can be provided that an interaction element is always displayed before an interaction with it.
Bei einer vorteilhaften Ausgestaltung des Verfahrens kann vorgesehen sein, dass das Interaktionselement identi fi ziert wird, indem ein interaktives Element eines aktuellen Zustands der graphischen Benutzeroberfläche ausgewählt wird . Für die Identi fikation kann beispielsweise auf Funktionalitäten zurückgegri f fen werden, die von herkömmlichen Crawlern bekannt sind, die auf eine die graphische Benutzeroberfläche beschreibende Datenstruktur zurückgrei fen können . In an advantageous embodiment of the method, provision can be made for the interaction element to be identified by selecting an interactive element of a current state of the graphical user interface. For the identification, for example, functionalities can be used that are known from conventional crawlers that can access a data structure that describes the graphical user interface.
Um existierende , allerdings nicht sichtbare interaktive Elemente von einer Interaktion aus zuschließen, kann vorgesehen sein, dass nur ein solches interaktives Element ausgewählt wird, das eine endliche Ausdehnung hat . Auch kann es zweckmäßig sein, nur ein solches interaktives Element aus zuwählen, das nicht von anderen angezeigten Elementen vollständig oder auch nur teilweise verdeckt ist . In order to exclude existing but not visible interactive elements from an interaction, it can be provided that only such an interactive element is selected that has a finite extent. It can also be expedient to select only such an interactive element that is not completely or only partially covered by other displayed elements.
Um Fehlinteraktionen zu vermeiden, kann bei einer weiteren vorteilhaften Ausgestaltung des Verfahrens vorgesehen sein, dass mit dem Interaktionselement nur für den Fall interagiert wird, dass der ermittelte Ähnlichkeitsgrad einen Schwellwert überschreitet . Beispielsweise haben Versuche gezeigt , dass bei der Verwendung der Kosinus-Ähnlichkeit ein Schwellwert mit dem Wert 0 besonders geeignet ist . Auch ein zu hoch angesetzter Schwellwert sollte vermieden werden, um zu vermeiden, dass an sich gute Kandidaten letztlich nicht ausgewählt werden . In order to avoid incorrect interactions, in a further advantageous embodiment of the method it can be provided that the interaction element is only interacted with if the ascertained degree of similarity exceeds a threshold value. For example, experiments have shown that when using cosine similarity, a threshold with the value 0 is particularly suitable. Also an overestimated one Threshold should be avoided in order to avoid that intrinsically good candidates are ultimately not selected.
Wird der Schwellwert nicht erreicht oder auf andere Weise keine Ähnlichkeit festgestellt und wird ein solcher Schwellwert auch nicht bei der Bestimmung weiterer Ähnlichkeitsgrade zwischen Textelementen des Sprachbefehls und lexikalischen Inhalten von Interaktionselementen erreicht oder auf andere Weise eine Ähnlichkeit festgestellt , so kann vorgesehen sein, dass eine Interaktion zufällig ausgewählt wird . Bevorzugt werden hierbei solche Interaktionen ausgeschlossen, die bereits zuvor im Verlauf der Aus führung des Verfahrens oder des Sprachbefehls erfolgt sind . Durch derartige Ausgestaltungen des Verfahrens kann erreicht werden, dass auch größere Abweichungen von Sprachbefehl und Funktionalität der Applikation, auf die das Verfahren angewendet wird, kein Hindernis darstellen . If the threshold value is not reached or no similarity is found in any other way, and if such a threshold value is also not reached when determining further degrees of similarity between text elements of the voice command and lexical contents of interaction elements, or if a similarity is found in some other way, it can be provided that an interaction is selected at random. Interactions that have already taken place previously in the course of executing the method or the voice command are preferably excluded here. Such configurations of the method make it possible to ensure that even larger deviations in the voice command and functionality of the application to which the method is applied do not represent an obstacle.
Bei einer weiteren vorteilhaften Ausgestaltung des Verfahrens kann vorgesehen sein, dass Ähnlichkeitsgrade von Textelementen des Sprachbefehls zu zu Interaktionselementen der graphischen Benutzeroberfläche ermittelten lexikalischen Inhalten bestimmt werden und dass mit demj enigen Interaktionselement zuerst interagiert wird, für das der bestimmte Ähnlichkeitsgrad am höchsten ist . Entscheidend bei dieser Ausgestaltung des Verfahrens ist , dass vor der in Frage stehenden Interaktion mehr als ein Ähnlichkeitsgrad bestimmt wird . Hierzu können Ähnlichkeitsgrade von einem Textelement zu mehreren lexikalischen Inhalten, von mehreren Textelementen zu einem lexikalischen Inhalt und von mehreren Textelementen zu mehreren lexikal ischen Inhalten bestimmt werden . In a further advantageous embodiment of the method, it can be provided that degrees of similarity of text elements of the voice command to interaction elements of the graphical user interface are determined lexical content and that the interaction element is interacted with first for which the determined degree of similarity is highest. What is decisive in this embodiment of the method is that more than one degree of similarity is determined before the interaction in question. For this purpose, degrees of similarity can be determined from a text element to a plurality of lexical content, from a plurality of text elements to a lexical content and from a plurality of text elements to a plurality of lexical content.
„Mehrere" bedeutet in dieser Erfindungsbeschreibung mindestens zwei Die Bestimmung mehrerer Ähnlichkeitsgrade und die Auswahl eines besten Paares kann zu einer erheblichen Flexibilisierung der Navigation auf einer Benutzeroberfläche mittels Sprachbefehlen führen . "Several" in this specification means at least two The determination of several degrees of similarity and the selection of a best pair can lead to a considerable flexibility in navigating on a user interface using voice commands.
Besonders ersichtlich wird dies , wenn vorgesehen ist , dass die Ordnung der Textelemente des Sprachbefehls unberücksichtigt bleibt . So kann vorgesehen sein, dass mehrere Textelemente , zu denen ein Ähnlichkeitsgrad bestimmt wird, insbesondere alle Textelemente der Liste , welche die Textelemente enthält , die einer Klasse angehören, welche die Interaktionselemente beschreibt , gleichwertig behandelt werden . Dies erlaubt es , auch solche Sprachbefehle erfolgreich aus zuführen, welche Interaktionen in einer bestimmten Reihenfolge vorgeben, auch wenn die Applikation, auf die das Verfahren angewendet wird, eine andere Reihenfolge von Interaktionen verlangt oder auch einige der im Sprachbefehl enthaltenen Interaktionen überhaupt nicht vorsieht . This becomes particularly evident when it is provided that the order of the text elements of the voice command is not taken into account. Thus it can be provided that a number of text elements for which a degree of similarity is determined, in particular all text elements of the list which contains the text elements which belong to a class which describes the interaction elements, are treated equally. This also makes it possible to successfully execute those voice commands which specify interactions in a specific order, even if the application to which the method is applied requires a different order of interactions or some of the interactions contained in the voice command are not provided at all.
Soll die Reihenfolge nicht vollständig ignoriert werden, allerdings auch nicht zwingend an ihr festgehalten werden, so kann dies durch eine Einführung einer Gewichtung erfolgen, die den Ähnlichkeitsgrad umso mehr absenkt , desto später das Textelement in dem Sprachbefehl auf tritt . Alternativ oder zusätzlich kann vorgesehen sein, dass bei gleichen Ähnlichkeitsgraden oder geringen Unterschieden die Reihenfolge der Textelemente Vorrang hat . If the order is not to be completely ignored, but also not necessarily to be adhered to, this can be done by introducing a weighting that lowers the degree of similarity the more the later the text element appears in the voice command. Alternatively or additionally, it can be provided that the order of the text elements has priority in the case of the same degrees of similarity or small differences.
Es kann vorgesehen sein, dass dem Textelement des Sprachbefehls mindestens eine Aktion zugeordnet wird und dass die mindestens eine dem Textelement zugordnete Aktion mit einer dem Interaktionselement zugeordneten Aktion verglichen wird . Bevorzugt erfolgt die Bestimmung des Ähnlichkeitsgrads des Textelements zu dem Interaktionselement in Abhängigkeit von dem Ergebnis des Vergleichs . Besonders bevorzugt wird der Ähnlichkeitsgrad nur bestimmt , wenn die Aktionen kompatibel sind . Lässt ein Interaktionselement als Interaktion nur ein Anklicken zu und ist mit dem Textelement eine Eingabe verknüpft , so sind die Aktionen nicht kompatibel und es wäre überflüssig, einen Ähnlichkeitsgrad zu bestimmen . Bevorzugt kann ferner vorgesehen sein, dass der Ähnlichkeitsgrad auch bei miteinander kompatiblen Aktionen eine Gewichtung erfährt . Ein Beispiel , bei dem eine Absenkung zweckmäßig sein kann, ist weiter unten bei der Beschreibung des in Fig . 1 dargestellten Verfahrens beschrieben . It can be provided that at least one action is assigned to the text element of the voice command and that the at least one action assigned to the text element is compared with an action assigned to the interaction element. The degree of similarity of the text element to the interaction element is preferably determined as a function of the result of the comparison. The is particularly preferred Degree of similarity only determined if the actions are compatible. If an interaction element only allows a click as an interaction and an input is linked to the text element, then the actions are not compatible and it would be superfluous to determine a degree of similarity. Provision can preferably also be made for the degree of similarity to be weighted even in the case of mutually compatible actions. An example in which a lowering can be useful is further below in the description of the in FIG. 1 illustrated method described.
Zur besseren Steuerung der Aus führung eines Sprachbefehls kann vorgesehen sein, dass gespeichert wird, ob und/oder wie oft während der Aus führung des Verfahrens mit dem Interaktionselement interagiert worden ist . Alternativ oder zusätzlich kann vorgesehen sein, dass aus Interaktionen mit der Benutzeroberfläche und aus den infolge der Interaktionen erreichten Zuständen der Benutzeroberfläche ein Zustandsmodell der Benutzeroberfläche erstellt und/oder aktualisiert wird . Die gesammelten Informationen können verwendet werden, um das Verfahren weiter in vorteilhafter Weise zu beeinflussen, wie auch das nachfolgende Aus führungsbeispiel zeigt . For better control of the execution of a voice command, it can be provided that it is stored whether and/or how often the interaction element was interacted with during the execution of the method. Alternatively or additionally, it can be provided that a state model of the user interface is created and/or updated from interactions with the user interface and from the states of the user interface achieved as a result of the interactions. The information collected can be used to further influence the method in an advantageous manner, as the following exemplary embodiment also shows.
So kann vorgesehen sein, dass der Ähnlichkeitsgrad abgesenkt wird, wenn erkannt wird, dass mit dem Interaktionselement bereits zuvor im Verlauf der Aus führung des Verfahrens interagiert worden ist . Hierzu ist bevorzugt ein Wichtungsfaktor vorgesehen, der mit dem zuvor ermittelten Ähnlichkeitsgrad multipli ziert oder von diesem subtrahiert wird . Bevorzugt wird der Ähnlichkeitsgrad umso weiter abgesenkt j e häufiger mit einem Interaktionselement interagiert worden ist . Derartige Ausgestaltungen des Verfahrens haben unter anderem den Vorteil , dass der Sprachbefehl schneller und zuverlässiger abgearbeitet werden kann, da insbesondere vermieden wird, dass eine nicht ziel führende Aktion mehrfach oder sogar immer wiederkehrend ausgelöst wird . Provision can thus be made for the degree of similarity to be reduced if it is recognized that the interaction element has already been interacted with in the course of the execution of the method. For this purpose, a weighting factor is preferably provided, which is multiplied by the previously determined degree of similarity or subtracted from it. The degree of similarity is preferably further reduced the more frequently an interaction element has been interacted with. Such refinements of the method have the advantage, among other things, that the voice command can be processed more quickly and reliably, since in particular it is avoided that a goal-leading action is triggered several times or even recurring.
Es kann ferner vorgesehen sein, dass bei Zuständen der Benutzeroberfläche , die im Verlauf der Aus führung des Verfahrens erstmals erreicht werden, zunächst solche Textelemente des Sprachbefehls ausgeführt werden, die als Interaktion eine Eingabe erfordern oder ermöglichen . Es kann vorgesehen sein, dass dies nur erfolgt , wenn ein Schwellwert für den ermittelten Ähnlichkeitsgrad überschritten wird . It can also be provided that in the case of states of the user interface that are reached for the first time in the course of the execution of the method, those text elements of the voice command that require or enable an input as an interaction are executed first. It can be provided that this only takes place if a threshold value for the ascertained degree of similarity is exceeded.
Alternativ kann auch vorgesehen sein, dass der ermittelte Ähnlichkeitsgrad für derartige Textelemente erhöht wird . Alternatively, it can also be provided that the ascertained degree of similarity for such text elements is increased.
Der Zustand der Benutzeroberfläche und/oder der Applikation kann gespeichert werden, nachdem das Verfahren oder der Sprachbefehl ausgeführt worden ist . Dies kann beispielsweise für Zwecke der Auswertung oder Testung nützlich sein . The state of the user interface and/or the application can be saved after the method or the voice command has been executed. This can be useful, for example, for evaluation or testing purposes.
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung ferner vor, ein Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche zur Aus führung einer Funktion einer Applikation, die die Benutzeroberfläche als Schnittstelle verwendet , zu verwenden, wobei das Verfahren erfindungsgemäß , insbesondere wie zuvor beschrieben oder nach einem auf ein Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche gerichteten Schutzansprüche , ausgebildet ist . Bevorzugt wird der Sprachbefehl von dem Verwender beispielsweise im Wege einer Spracheingabe bereitgestellt . To achieve the above object, the invention also proposes using a method for interacting with a graphical user interface for executing a function of an application that uses the user interface as an interface, the method according to the invention, in particular as described above or according to a protection claims directed to a method for interaction with a graphical user interface. The voice command is preferably provided by the user, for example by way of a voice input.
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung ferner die Merkmale des auf ein Verfahren zum Testen einer Applikation gerichteten nebengeordneten Anspruchs vor . Insbesondere wird somit erfindungsgemäß bei einem Verfahren zum Testen einer eine Benutzeroberfläche als Schnittstelle verwendende Applikation zur Lösung der genannten Aufgabe vorgeschlagen, dass mindestens ein Sprachbefehl vorgegeben wird, dass zu j edem des mindestens einen Sprachbefehls ein Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche ausgeführt wird, wobei dieses Verfahren erfindungsgemäß , insbesondere wie zuvor beschrieben oder nach einem auf ein Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche gerichteten Schutzansprüche , ausgebildet ist , und dass ein Zustandsmodell der Benutzeroberfläche erzeugt und/oder aktualisiert wird und abrufbar abgespeichert wird, wobei das Zustandsmodell die durchgeführten Interaktionen und die hierdurch erreichten Zustände der Benutzeroberfläche umfasst . In order to solve the aforementioned problem, the invention also proposes the features of the independent claim directed to a method for testing an application. In particular, according to the invention, a user interface is used as an interface in a method for testing using application proposed to solve the stated task that at least one voice command is specified, that a method for interaction with a graphical user interface is performed for each of the at least one voice command, this method according to the invention, in particular as described above or according to a method for interaction with a graphical user interface directed protection claims, is formed, and that a state model of the user interface is generated and / or updated and stored in a retrievable manner, the state model comprising the interactions carried out and the states of the user interface achieved thereby.
Bevorzugt werden mehrere oder eine Viel zahl von Sprachbefehlen vorgegeben . Die Sprachbefehle testen hierbei vorzugsweise unterschiedliche Funktionen der Applikation . Several or a large number of voice commands are preferably specified. In this case, the voice commands preferably test different functions of the application.
Das Zustandsmodell kann in der Folge zur Auswertung des Testergebnisses verwendet werden . Beispielsweise kann ermittelt werden, welche Funktionen die getestete Applikation aufweist . The state model can then be used to evaluate the test result. For example, it can be determined which functions the tested application has.
Die zuvor genannten Verfahrensschritte werden j eweils bevorzugt computergestützt ausgeführt . Bevorzugt werden alle Verfahrensschritte computergestützt ausgeführt . Es ist allerdings bevorzugt vorgesehen, dass zumindest die Spracheingabe erfolgt , indem ein Anwender einen Sprachbefehl spricht . Alternativ kann ein solcher aber auch computergestützt aus einer Datei ausgelesen werden . The method steps mentioned above are each preferably carried out with the aid of a computer. All method steps are preferably carried out with the aid of a computer. However, it is preferably provided that at least the voice input takes place by a user speaking a voice command. Alternatively, this can also be read out from a file using a computer.
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung ferner die Merkmale des auf eine technische Vorrichtung gerichteten nebengeordneten Anspruchs vor . Insbesondere wird somit erfindungsgemäß bei einer technischen Vorrichtung zur Lösung der genannten Aufgabe vorgeschlagen, dass die technische Vorrichtung eingerichtet ist , ein Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche und/oder ein Verfahren zum Testen einer eine Benutzeroberfläche , beispielsweise die zuvor erwähnte Benutzeroberfläche , als Schnittstelle verwendende Applikation aus zuführen, wobei das j eweilige Verfahren erfindungsgemäß , insbesondere wie zuvor beschrieben oder nach einem der auf ein entsprechendes Verfahren gerichteten Schutzansprüche , ausgebildet ist . In order to solve the aforementioned problem, the invention also proposes the features of the independent claim directed to a technical device. In particular, therefore, according to the invention in a technical device for Solution to the stated object proposed that the technical device is set up to perform a method for interacting with a graphical user interface and / or a method for testing a user interface, for example the aforementioned user interface, as an interface using application, the respective method according to the invention, in particular as described above or according to one of the claims directed to a corresponding method.
Zur Lösung der zuvor genannten Aufgabe schlägt die Erfindung ferner eine Anordnung mit einer technischen Vorrichtung und mit einer technischen Einrichtung, auf der eine die Benutzeroberfläche als Schnittstelle verwendende Applikation aus führungs- und zugri f fsbereit abgelegt ist , vor . Die technische Vorrichtung ist erfindungsgemäß , insbesondere wie zuvor oder nachgehend beschrieben, ausgebildet . Ferner ist mindestens eine Schnittstelle ausgebildet , die eine Übermittlung von Daten von der technischen Vorrichtung auf die technische Einrichtung ermöglicht . Vorzugsweise ermöglicht die mindestens eine Schnittstelle auch eine Übermittlung von Daten von der technischen Einrichtung auf die technische Vorrichtung . In order to achieve the aforementioned object, the invention also proposes an arrangement with a technical device and with a technical device on which an application using the user interface as an interface is stored ready for use and access. The technical device is designed according to the invention, in particular as described above or below. Furthermore, at least one interface is formed, which enables data to be transmitted from the technical device to the technical device. Preferably, the at least one interface also enables data to be transmitted from the technical device to the technical device.
Bei den Schnittstellen kann es sich insbesondere um Hardwareschnittstellen oder um Softwareschnittstellen handeln . The interfaces can in particular be hardware interfaces or software interfaces.
Bevorzugt handelt es sich bei der technischen Vorrichtung und/oder der technischen Einrichtung um ein elektronisches Gerät wie etwa um einen Computer oder ein Smartphone . Es kann sich um dasselbe oder um separate Geräte handeln . The technical device and/or the technical facility is preferably an electronic device such as a computer or a smartphone. They can be the same or separate devices.
Bevorzugt sind an der technischen Vorrichtung und/oder an der technischen Einrichtung Eingabemittel zur Eingabe einesOn the technical device and/or on the technical facility, input means for inputting a
Sprachbefehls ausgebildet . Die technische Vorrichtung weist bevorzugt zumindest einen Datenspeicher und eine Datenverarbeitungseinheit auf . In dem Datenspeicher kann ein Computerprogramm abgelegt sein, das zur Aus führung der zuvor beschriebenen Verfahren ausgeführt wird . Trained voice command. The technical device preferably has at least one data memory and one data processing unit. A computer program can be stored in the data memory, which is executed to carry out the methods described above.
Die technische Einrichtung weist bevorzugt eine Anzeige auf , auf der darzustellende Elemente der graphischen Benutzeroberfläche angezeigt werden können . The technical device preferably has a display on which elements of the graphical user interface to be displayed can be displayed.
Es kann ein, vorzugsweise optischer, Sensor, wie etwa eine Videokamera, ausgebildet sein, mit dem das auf der Anzeige Dargestellte erfassbar ist . Der Sensor kann mit der technischen Vorrichtung verbunden sein, um die erfassten Daten auf diese zu übertragen . A preferably optical sensor, such as a video camera, can be designed with which what is shown on the display can be detected. The sensor can be connected to the technical device in order to transmit the recorded data to it.
Die technische Vorrichtung und die technische Einrichtung können gemeinsame Ressourcen nutzen wie etwa einen gemeinsam genutzten Datenspeicher oder einen gemeinsam genutzten Prozessor . The technical device and the technical facility can use common resources such as a shared data memory or a shared processor.
Die Erfindung wird nun anhand einiger weniger Aus führungsbeispiele näher beschrieben, ist j edoch nicht auf diese wenigen Aus führungsbeispiele beschränkt . Weitere Aus führungsbeispiele ergeben sich durch die Kombination der Merkmale einzelner oder mehrerer Schutzansprüche untereinander und/oder mit einzelnen oder mehreren Merkmalen der Aus führungsbeispiele . The invention will now be described in more detail using a few exemplary embodiments, but is not limited to these few exemplary embodiments. Further exemplary embodiments result from the combination of the features of individual or multiple claims with one another and/or with individual or multiple features of the exemplary embodiments.
Es zeigt : It shows :
Fig . 1 ein Flussdiagramm eines Aus führungsbeispiels eines erfindungsgemäßen Verfahrens zur Interaktion mit einer graphischen Benutzeroberfläche , Fig. 1 shows a flow chart of an exemplary embodiment of a method according to the invention for interacting with a graphical user interface,
Fig . 2 ein Flussdiagramm eines Aus führungsbeispiels eines Verfahrens zum Testen einer Applikation, die eine Benutzeroberfläche aufweist , Fig. 2 is a flowchart of an embodiment Method for testing an application that has a user interface,
Fig . 3 eine Anzeige einer graphischen Benutzeroberfläche , die sich in einem konkreten Zustand befindet . Fig. 3 shows a graphical user interface display that is in a specific state.
Fig . 4 bis Fig . 6 j eweils ein Aus führungsbeispiel einer erfindungsgemäßen Anordnung . Fig. 4 to fig. 6 in each case an exemplary embodiment of an arrangement according to the invention.
Bei der nachfolgenden Beschreibung der Erfindung erhalten in ihrer Funktion übereinstimmende Elemente auch bei abweichender Gestaltung oder Formgebung übereinstimmende Bezugs zahlen . In the following description of the invention, elements that have the same function are given the same reference numbers, even if the design or shape differs.
Fig . 1 zeigt ein Aus führungsbeispiel eines erfindungsgemäßen Verfahrens 100 . Fig. 1 shows an exemplary embodiment of a method 100 according to the invention.
In Verfahrensschritt 101 wird das Verfahren initialisiert , indem ein Sprachbefehl bereitgestellt wird, der auf eine Applikation mit einer graphischen Benutzeroberfläche angewendet werden soll . Bei der Applikation kann es sich beispielsweise um einen Online-Shop handeln . Der Sprachbefehl kann beispielsweise lauten „Melde mich an" . In method step 101, the method is initialized by providing a voice command that is to be applied to an application with a graphical user interface. The application can be an online shop, for example. For example, the voice command can be "Sign me in".
Für die Bezeichnung „Melde mich an" kann ein Makro hinterlegt sein, das beispielsweise wie folgt lautet : A macro can be stored for the designation "Sign me in", which reads as follows, for example:
Für Melde mich an Mache Sign me up for Mache
Klicke Anmelden Click Sign In
Und Schreibe Max Mustermann In Benutzername And write John Doe in username
Und Schreibe 123456 In Passwort And write 123456 in password
Der Sprachbefehl kann durch eine Spracheingabe bereitgestellt werden . Hierzu spricht der Anwender die Wörter „Melde mich an Mittels eines Mikrophons und eines Spracherkennungsverfahrens wird die Spracheingabe in den Sprachbefehl , also in eine Abfolge von Wörtern, umgewandelt . The voice command can be provided by voice input. To do this, the user speaks the words “Sign me in Using a microphone and a voice recognition process, the voice input is converted into the voice command, i.e. into a sequence of words.
In Schritt 102 wird der Sprachbefehl sodann mithil fe einer Grammatik und eines Parsers in seine Textelemente zergliedert , wobei die Textelemente in Klassen eingeteilt werden . In step 102, the voice command is then broken down into its text elements using a grammar and a parser, with the text elements being divided into classes.
Das Textelement „Melde mich an" gehört einer ersten Wortklasse an . Die erste Klasse beschreibt ein Makro . Der Parser erkennt dies anhand einer Liste von Bezeichnungen, zu denen auch das Textelement „Melde mich an" gehört . Zur Aus führung des Sprachbefehls „Melde mich an" wird sodann das Makro „Melde mich an" ausgeführt . Im Ergebnis wird die Bezeichnung des Makros daher durch dessen Inhalt ersetzt . The text element "Sign me in" belongs to a first class of words. The first class describes a macro . The parser recognizes this from a list of labels, which also includes the text element "Sign me in" . To execute the voice command "Log me in", the macro "Log me in" is then executed. As a result, the name of the macro is replaced by its content.
Die Textelemente „Für" , „Mache" und „Und" gehören einer zweiten Klasse an . Die zweite Klasse beschreibt Wörter, die den Sprachbefehl steuern . Die Wörter „Für" und „Mache" zeigen an, dass das dazwischenliegende Textelement eine Bezeichnung eines Makros ist . Das Wort „Und" bedeutet beispielsweise , dass neben der vor dem „Und" stehenden Interaktion eine weitere Interaktion erfolgt , die nach dem „Und" beschrieben ist . The text elements "For" , "Do" and "And" belong to a second class . The second class describes words that control the voice command . The words "For" and "Do" indicate that the intervening text element is a label of a macro The word "And" means, for example, that in addition to the interaction before the "And" there is another interaction that is described after the "And".
Das Textelement „Klicke" sowie die Wortkombination „Schreibe" und „In" gehören einer dritten Klasse an . Die dritte Klasse bezieht sich auf die Art der Interaktion . Beispielsweise kann das Wort „Klicke" so interpretiert werden, dass auf das Interaktionselement „Anmelden" geklickt werden soll . Hierbei kann es sich um einen kurzen oder um einen langen Klick handeln . Das aus der Wortkombination „Schreibe" und „In" bestehende Textelement bedeutet , dass Textelement zwischen den Wörtern „Schreibe" und „In" als Text in die Eingabe eingegeben werden soll , die zu dem Interaktionselement nach dem Wort „Schreiben" gehört . Die Textelemente „Anmelden" , „Benutzername" und „Passwort" gehören einer vierten Klasse an . Die vierte Klasse beschreibt Wörter, die Interaktionselemente bezeichnen . Wie im Folgenden noch genauer erläutert werden wird, ist es nicht erforderlich, dass die Applikation genau diese Begri f fe verwendet . Es genügt , dass eine semantische Ähnlichkeit vorliegt . The text element "click" and the word combination "write" and "in" belong to a third class. The third class relates to the type of interaction. For example, the word "click" can be interpreted in such a way that the interaction element "login" is to be clicked . This can be a short or a long click . The text element consisting of the word combination "Write" and "In" means that text element between the words "Write" and "In" as text in the input to be entered, which belongs to the interaction element after the word "write". The text elements "login", "username" and "password" belong to a fourth class. The fourth class describes words that designate interaction elements. As will be explained in more detail below, it is not necessary for the application to use exactly these terms fe is used It is sufficient that there is a semantic similarity .
Sodann wird eine Liste erstellt , die die Textelemente der vierten Klasse in der Reihenfolge ihres Auftretens auflistet . Mit j edem Element der Liste werden alle Aktionen verknüpft , die kompatibel sind mit der Art der Interaktion, die aus den Textelementen der dritten Klasse entnommen sind . Hierbei werden solche Aktionen zugeordnet , die für kompatible Interaktionselemente möglich sind . Um das vorherige Beispiel auf zugrei fen, wird dem Wort „Klicke" die Aktion „click" und „long-click" zugeordnet , wenn die graphische Benutzeroberfläche derartige Aktionen zulässt . A list is then created listing the text elements of the fourth class in the order of their occurrence. Associated with each element of the list are all the actions compatible with the type of interaction taken from the text elements of the third class. Actions that are possible for compatible interaction elements are assigned here. To access the previous example, the action "click" and "long-click" is associated with the word "click" if the graphical user interface allows such actions.
In Schritt 103 wird der aktuelle Zustand der graphischen Benutzeroberfläche analysiert . In der Regel stellt das Betriebssystem, auf dem die Applikation ausgeführt wird, eine Schnittstelle zur Verfügung, mittels derer der aktuelle Zustand der graphischen Benutzeroberfläche analysiert werden kann . So bieten beispielsweise Android oder Webseiten auf Desktop-PCs die Möglichkeit des Zugri f fs auf eine Struktur, die alle graphischen Elemente des aktuellen Zustands der graphischen Benutzeroberfläche hierarchisch auflistet und einige Grundinformationen zu diesen Elemente liefert wie beispielsweise deren Art , deren Ort , hori zontale Ausdehnung und vertikale Ebene . Auch ist erkennbar, ob die Elemente aktuell auf der dargestellten Anzeige erscheinen oder ob diese erst durch Scrol len der Anzeige erreicht werden müssen . In step 103 the current state of the graphical user interface is analyzed. As a rule, the operating system on which the application is running provides an interface that can be used to analyze the current status of the graphical user interface. For example, Android or websites on desktop PCs offer the possibility of accessing a structure that hierarchically lists all graphical elements of the current state of the graphical user interface and provides some basic information about these elements, such as their type, location, horizontal extent and vertical plane . It is also possible to see whether the elements currently appear on the displayed display or whether they first have to be reached by scrolling the display.
Aus der Struktur lassen sich daher insbesondere interaktive Elemente und die Interaktionsmöglichkeiten mit diesen wie etwa Klicken, Text eingeben oder Auswahl aus einem Drop-Down-Menü sowie eine mögliche unmittelbar mit dem Interaktionselement verknüpfte und auf diesem graphisch dargestellte Bezeichnung ableiten . Auch wird eine Möglichkeit zur Verfügung gestellt , mit den Interaktionselementen zu interagieren durch Verwendung eines Peripheriegeräts oder durch eine dieses ersetzende programmierte Anweisung . From the structure can therefore be particularly interactive Elements and the interaction options with them, such as clicking, entering text or selecting from a drop-down menu, and deriving a possible designation directly linked to the interaction element and graphically displayed on it. A possibility is also provided to interact with the interaction elements by using a peripheral device or by a programmed instruction replacing it.
Auch lassen sich nicht-interaktive Elemente wie beispielsweise reine Beschreibungselemente ableiten, für die ebenfalls Eigenschaften wie Ort , hori zontale Ausdehnung und vertikale Ebene hinterlegt sein können . Die Beschreibungselemente können insbesondere eine textbasierte oder auch eine bildbasierte Beschreibung (wie etwa ein Icon) aufweisen . Non-interactive elements such as purely descriptive elements can also be derived for which properties such as location, horizontal extent and vertical plane can also be stored. The descriptive elements can in particular have a text-based or an image-based description (such as an icon).
In dem hier beschriebenen Aus führungsbeispiel werden in Schritt 103 konkret die Interaktionselemente und die Beschreibungselemente des aktuellen Zustands der graphischen Benutzeroberfläche samt allen für das weitere Verfahren benötigten verfügbaren Informationen über diese Elemente bestimmt . In the exemplary embodiment described here, in step 103 the interaction elements and the description elements of the current state of the graphical user interface are specifically determined, together with all available information about these elements that is required for the further process.
In Schritt 104 werden zu den aktuellen Interaktionselementen deren j eweilige Bezeichnung bestimmt . Dies ist leicht , wenn mit dem Interaktionselement unmittelbar eine Bezeichnung verknüpft ist , da diese dann den zu dem Interaktionselement verfügbaren Informationen entnommen werden kann . So ist es beispielsweise in Fig . 3 bei dem mit der Bezugs zi f fer 24 versehenen Interaktionselement der Fall , bei dem die Bezeichnung „Einloggen" auf dem Interaktionselement 24 graphisch dargestellt ist . In step 104 the respective designation of the current interaction elements is determined. This is easy if a designation is directly linked to the interaction element, since this can then be taken from the information available on the interaction element. This is the case, for example, in FIG. 3 in the case of the interaction element provided with the reference number 24, in which the designation "login" is represented graphically on the interaction element 24.
Häufig ist eine graphisch dargestellte Bezeichnung allerdings nicht unmittelbar mit dem Interaktionselement verknüpft , sondern es befindet sich ein nicht-interaktives Beschreibungselement in der Nähe des Interaktionselements . Dies tri f ft in Fig . 3 beispielsweise auf das Interaktionselement 22 resp . 23 zu, dem das Beschreibungselement 25 ( „Username" ) resp . 26 ( „Passwort" ) zugeordnet ist . Frequently, however, a graphically displayed designation is not directly linked to the interaction element, but there is a non-interactive description element in the vicinity of the interaction element. This is true in Fig. 3, for example, on the interaction element 22, respectively. 23 to which the descriptive element 25 ("Username") or 26 ("Password") is assigned.
Um zu diesen Interaktionselementen das richtige Beschreibungselement zuzuordnen, kann vorgesehen sein, den Abstand der umgebenden Beschreibungselemente zu dem j eweiligen Interaktionselement zu bestimmen, wobei beispielsweise die Abstände der j eweils linken oberen Ecke zueinander bestimmt werden . Sodann kann beispielsweise dasj enige Beschreibungselement dem Interaktionselement zugeordnet werden, das den geringsten Abstand zu dem Interaktionselement aufweist . Sollte es überlappende Elemente geben, kann vorgesehen sein, dass ein überlappendes Element mit dem geringsten Abstand ausgewählt wird, andernfalls wird ein nicht-überlappendes Element mit einem geringsten Abstand ausgewählt . In order to assign the correct descriptive element to these interaction elements, provision can be made to determine the distance between the surrounding descriptive elements and the respective interaction element, with the distances between the respective upper left corners being determined, for example. Then, for example, that descriptive element that has the smallest distance to the interaction element can be assigned to the interaction element. If there are overlapping elements, it can be provided that an overlapping element with the smallest distance is selected, otherwise a non-overlapping element with a smallest distance is selected.
Den Beschreibungselementen wird sodann deren lexikalischer Inhalt entnommen . Dieser kann in der hierarchischen Struktur direkt mit dem Beschreibungselement verknüpft sein . I st er dies nicht , weil beispielsweise eine Bilddatei hinterlegt ist , so kann der lexikalische Inhalt beispielsweise mittels eines Verfahrens zur Texterkennung ( z . B . mittels einer OCR-Software ) entnommen werden oder bei Icons mittels eines Verfahrens , das dem Icon einen lexikalischen Inhalt zuordnet . The lexical content of the descriptive elements is then extracted. This can be linked directly to the description element in the hierarchical structure. If this is not the case, for example because an image file is stored, the lexical content can be extracted, for example, using a text recognition method (e.g. using OCR software) or, in the case of icons, using a method that assigns lexical content to the icon assigns .
Wie bereits zuvor beschrieben kann zur finalen Ermittlung des lexikalischen Inhalts der erkannte Text noch bereinigt werden und in Wörter zergliedert werden . As already described above, the recognized text can still be cleaned up and broken down into words for the final determination of the lexical content.
Im Ergebnis wird in Schritt 104 zu den Interaktionselementen ein lexikalischer Inhalt bestimmt , der diese bezeichnet . In Schritt 105 wird sodann ein semantischer Ähnlichkeitsgrad zwischen den Wörtern der in Schritt 102 erstellten Liste und den in Schritt 104 bestimmten lexikalischen Inhalten bestimmt . Die gestrichelten Linien weisen darauf hin, dass ermittelte Daten aus Schritt 102 und 104 in Schritt 105 verarbeitet werden . Mögliche Methoden zur Bestimmung sind weiter oben bereits genannt worden . Hat die Liste beispielsweise N Wörter und gibt es M Interaktionselemente mit zugeordnetem lexikalischen Inhalt , so werden insgesamt bis zu N*M Ähnlichkeitsgrade bestimmt . As a result, in step 104 a lexical content is determined for the interaction elements that designates them. In step 105 a semantic degree of similarity between the words of the list created in step 102 and the lexical content determined in step 104 is then determined. The dashed lines indicate that data determined from steps 102 and 104 are processed in step 105 . Possible methods for the determination have already been mentioned above. For example, if the list has N words and there are M interaction elements with associated lexical content, then a total of up to N*M degrees of similarity are determined.
Zur Reduktion der Anzahl der erforderlichen Berechnungen kann vorgesehen sein, dass nur solche Ähnlichkeitsgrade bestimmt werden, bei denen die Aktionen miteinander kompatibel sind . Dies kann dadurch erfolgen, dass geprüft wird, ob die einem Textelement der Liste zugeordneten Aktionen eine Aktion enthalten, die mit dem Interaktionselement aus führbar ist . I st eine derartige Aktion nicht möglich, so bedarf es keiner Ähnlichkeitsberechnung des semantischen Inhalts , da eine Interaktion mit dem Interaktionselement ausgeschlossen wird . In order to reduce the number of calculations required, it can be provided that only such degrees of similarity are determined in which the actions are compatible with one another. This can be done by checking whether the actions assigned to a text element of the list contain an action that can be carried out with the interaction element. If such an action is not possible, there is no need for a similarity calculation of the semantic content, since an interaction with the interaction element is ruled out.
In Schritt 106 wird der berechnete Ähnlichkeitsgrad mittels einer Gewichtung modi fi ziert . I st der Ähnlichkeitsgrad durch eine reellwertige Zahl ausgedrückt , so kann die Gewichtung multiplikativ erfolge . Alternativ kann auch die Subtraktion mit einer Zahl vorgesehen sein . In step 106 the calculated degree of similarity is modified by means of a weighting. If the degree of similarity is expressed by a real number, the weighting can be multiplicative. Alternatively, subtraction with a number can also be provided.
So kann erstens vorgesehen sein, dass bestimmte Aktionen den berechneten Ähnlichkeitsgrad reduzieren . Enthält beispielsweise ein Wort der Liste ein optionales Datenelement , so kann diesem eine click-Aktion zugeordnet werden, wobei der Ähnlichkeitsgrad abgesenkt wird . Hierdurch kann beispielsweise adäquat mit Drop-Down-Menüs umgegangen werden, die einen editierbaren Input erst dann of fenbaren, wenn sie angeklickt werden . Zweitens kann vorgesehen sein, dass der berechnete Ähnlichkeitsgrad reduziert wird, wenn festgestellt wird, dass bei der Aus führung des Verfahrens und des Sprachbefehls bereits zuvor mit dem Interaktionselement interagiert worden ist . Es kann vorgesehen sein, dass der Ähnlichkeitsgrad mit zunehmender Anzahl von Interaktionen immer weiter reduziert wird . Hierdurch kann vermieden werden, dass sich ungewünschte Interaktionsketten wiederholen und es kann erreicht werden, dass neue Interaktionspfade erreicht werden . Um dies zu ermöglichen, kann vorgesehen sein, dass die bei der Aus führung des Sprachbefehls erreichten Zustände und die vorgenommenen Interaktionen gespeichert werden . Firstly, provision can be made for certain actions to reduce the calculated degree of similarity. For example, if a word in the list contains an optional data element, a click action can be assigned to it, whereby the degree of similarity is reduced. In this way, for example, drop-down menus can be handled adequately, which only reveal an editable input when they are clicked on. Secondly, provision can be made for the calculated degree of similarity to be reduced if it is established that the interaction element has already been interacted with during the execution of the method and the voice command. Provision can be made for the degree of similarity to be reduced further and further as the number of interactions increases. In this way it can be avoided that undesired chains of interaction are repeated and it can be achieved that new paths of interaction are reached. In order to make this possible, it can be provided that the states reached during the execution of the voice command and the interactions carried out are stored.
In Schritt 107 wird sodann ein geeigneter Kandidat für die nächste Interaktion ausgewählt . Hierzu wird dasj enige Interaktionselement ausgewählt , für das - nach möglicherweise in Schritt 106 erfolgten Absenkung - der höchsteA suitable candidate for the next interaction is then selected in step 107 . For this purpose, that interaction element is selected for which—after possibly being lowered in step 106—the highest
Ähnlichkeitsgrad ermittelt worden ist . Degree of similarity has been determined.
I st der höchste ermittelte Ähnlichkeitsgrad geringer als ein Schwellwert , so ist in dem hier beschriebenen Aus führungsbeispiel vorgesehen, dass ein beliebiges Interaktionselement ausgewählt wird, wobei nur ein solches ausgewählt wird, mit dem noch nicht interagiert worden ist . If the highest ascertained degree of similarity is lower than a threshold value, the exemplary embodiment described here provides for any interaction element to be selected, with only one being selected that has not yet been interacted with.
In Schritt 108 wird sodann mit dem Interaktionselement interagiert . Falls eine Zuordnung existiert , unter Anwendung einer Aktion, die dem entsprechenden Textelement aus der Liste zugeordnet ist . I st eine Eingabe erforderlich, so ist das Einzugebende mit der entsprechenden Aktion in Schritt 102 bereits zuvor verknüpft worden . Sind zu mehreren Aktionen gleich ef fektive Ähnlichkeitsgrade zugeordnet , so wird eine von beiden ausgewählt . In Schritt 109 wird sodann ein Abbruchkriterium geprüft . Beispielsweise kann geprüft werden, ob eine maximale Zeit erreicht ist und/oder ob ein gewünschter Ziel zustand erreicht ist . So kann beispiel sweise das Verfahren beendet werden, wenn in dem hier besprochenen Beispiel die Anmeldung erfolgreich durchgeführt wurde . In step 108 the interaction element is then interacted with. If an association exists, applying an action associated with the corresponding text element from the list. If an entry is required, then what is to be entered has already been linked to the corresponding action in step 102 beforehand. If the same effective degrees of similarity are assigned to several actions, one of the two is selected. A termination criterion is then checked in step 109 . For example, it can be checked whether a maximum time has been reached and/or whether a desired target state has been reached. For example, the procedure can be terminated if the registration has been successfully completed in the example discussed here.
Es kann auch vorgesehen sein, das s nach einer Interaktion das ausgewählte Textelement aus der Liste gestrichen wird . In diesem Fall kann ferner das Verfahren beendet werden, wenn die Liste keine weiteren Elemente mehr enthält . Provision can also be made for the selected text element to be deleted from the list after an interaction. In this case, the method can also be ended when the list no longer contains any further elements.
I st das Abbruchkriterium erfüllt , so wird das Verfahren in Schritt 110 beendet . Insbesondere dann, wenn das Verfahren zum Testen einer Applikation verwendet wird, kann es nützlich sein, wenn die bei der Aus führung des Sprachbefehls erreichten Zustände und die vorgenommenen Interaktionen gespeichert werden . If the termination criterion is met, the method ends in step 110 . In particular when the method is used to test an application, it can be useful if the states reached during the execution of the voice command and the interactions carried out are saved.
I st das Abbruchkriterium nicht erfüllt , wo wird das Verfahren in Schritt 103 fortgesetzt . If the termination criterion is not met, the method continues in step 103 .
Fig . 2 zeigt ein Aus führungsbeispiel eines Verfahrens 200 zum Testen einer Applikation, die eine graphische Benutzeroberfläche aufweist . Fig. 2 shows an exemplary embodiment of a method 200 for testing an application that has a graphical user interface.
Zur Aus führung des Verfahrens werden zunächst in Schritt 201 eine Viel zahl von Sprachbefehlen bereitgestellt . Dies kann durch sprachliche Eingabe oder durch Zurverfügungstellung einer Textdatei erfolgen, die die Sprachbefehle enthält . To carry out the method, a large number of voice commands are first provided in step 201 . This can be done by speaking or by providing a text file containing the voice commands.
In Schritt 202 wird sodann geprüft , ob bereits alle Sprachbefehle abgearbeitet wurden oder ob noch ein Sprachbefehl unbearbeitet geblieben ist . I st noch ein Sprachbefehl unbearbeitet , wird in Schritt 203 das Verfahren 100 , das in Fig . 1 dargestellt ist , ausgeführt . Das Ergebnis des Verfahrens 100 wird zu einem anfangs noch leeren, nach einer ersten Iteration bereits existierenden Zustandsmodell hinzugefügt , wobei das Zustandsmodell die zu dem j eweiligen Sprachbefehl ausgeführten Interaktionen und die hierdurch erreichten Zustände der graphischen Benutzeroberfläche umfasst . In step 202 it is then checked whether all voice commands have already been processed or whether a voice command has remained unprocessed. If a voice command is still unprocessed, in step 203 the method 100 shown in FIG. 1 is shown . The result of the method 100 is added to an initially empty state model that already exists after a first iteration, the state model including the interactions carried out for the respective voice command and the states of the graphical user interface achieved as a result.
Sodann wird das Verfahren in Schritt 202 mit den verbleibendenThen the method in step 202 with the remaining
Sprachbefehlen fortgeführt . voice commands continued.
I st kein Sprachbefehl mehr aus zuführen, so wird das VerfahrenIf no more voice commands need to be executed, the method
200 in Schritt 204 beendet , indem das erstellte Zustandsmodell zur weiteren Analyse abrufbar abgespeichert wird . 200 ends in step 204 in that the created state model is stored so that it can be called up for further analysis.
Fig . 3 zeigt eine Anzeige 14 einer graphischen Benutzeroberfläche , die sich in einem aktuellen Zustand befindet . Angezeigt werden in dem gezeigten Zustand insgesamt drei interaktive Interaktionselemente 22 , 23 und 24 und zwei nicht-interaktive Beschreibungselemente 25 und 26 . Um sich einzuloggen, ist es zunächst erforderlich, in den Feldern 22 und 23 Benutzername und Passwort einzugeben, bevor über die Schaltfläche 24 eine Anmeldung erfolgen kann . Auf dem Interaktionselement 24 ist dessen lexikalischer Inhalt „Einloggen" angeordnet . Bei den beiden Eingabefeldern 22 und 23 befindet sich der ihnen zugeordnete lexikalische Inhalt „Username" und „Passwort" auf den j eweils nächstgelegenen Beschreibungs feldern 25 bzw . 26 . An anderer Stelle ist genauer beschrieben, dass und auf welche Weise mittels des Sprachbefehls „Melde mich an" durch Interaktion mit der Benutzeroberfläche eine Anmeldung erfolgt . Trotz abweichender im Sprachbefehl vorgesehenen Reihenfolge der Textelemente und trotz erheblicher syntaktischer Abweichungen zu den Textfeldern kann der Sprachbefehl erfolgreich ausgeführt werden und der Nutzer wird erfolgreich angemeldet . Fig. 3 shows a graphical user interface display 14 which is in a current state. In the state shown, a total of three interactive interaction elements 22, 23 and 24 and two non-interactive description elements 25 and 26 are displayed. In order to log in, it is first necessary to enter the user name and password in fields 22 and 23 before logging in can take place via button 24 . The lexical content "Login" is arranged on the interaction element 24. In the two input fields 22 and 23, the lexical content "Username" and "Password" assigned to them is located in the respective nearest description fields 25 and 26. Elsewhere is described in more detail that and how a registration takes place by means of the voice command "Sign me in" through interaction with the user interface. The voice command can be executed successfully despite the different order of the text elements provided in the voice command and despite considerable syntactic deviations from the text fields and the user is successfully logged in.
Die zuvor beschriebenen Verfahren 100 , 200 können beispielsweise mit den Anordnungen 12 bzw . mit den technischen Vorrichtungen 1 ausgeführt werden, die gemäß der Fig . 4 bis Fig . 6 ausgebildet sind und im Folgenden beschrieben werden . Hierzu werden die Verfahrensschritte automatisch mittels der technischen Vorrichtung 1 , bei der es sich beispielsweise um einen Server oder ein Smartphone handeln kann, ausgeführt . The methods 100, 200 described above can be used, for example, with the arrangements 12 or be performed with the technical devices 1, according to FIG. 4 to fig. 6 are formed and are described below. For this purpose, the method steps are carried out automatically by means of the technical device 1, which can be a server or a smartphone, for example.
Die Anordnung 12 umfasst die technischen Vorrichtung 1 und die technische Einrichtung 2 . The arrangement 12 includes the technical device 1 and the technical facility 2 .
In Fig . 4 und Fig . 5 verfügt die Vorrichtung 1 über Ressourcen, die von der Einrichtung 2 getrennt sind . In Fig . 6 ist ein Beispiel gezeigt , bei dem die Technische Vorrichtung 1 und die technische Einrichtung 2 gemeinsame Ressourcen nutzen wie etwa den Prozessor 15 und den Datenspeicher 16 . In Fig. 4 and figs. 5, device 1 has resources that are separate from device 2. In Fig. 6 shows an example in which the technical device 1 and the technical device 2 share resources such as the processor 15 and the data memory 16 .
So kann die technische Einrichtung 2 beispielsweise ein elektronisches Gerät 13 wie etwa ein Computer oder ein mobiles Gerät , vorzugsweise ein Smartphone , sein . Das elektronische Gerät 13 kann zugleich auch die technische Vorrichtung 1 bilden wie in Fig . 6 . Die technische Vorrichtung 1 kann allerdings wie in Fig . 4 oder Fig . 5 auch ein separates Gerät sein wie etwa ein Server . For example, the technical device 2 can be an electronic device 13 such as a computer or a mobile device, preferably a smartphone. The electronic device 13 can also form the technical device 1 at the same time, as shown in FIG. 6 . The technical device 1 can, however, as shown in FIG. 4 or fig . 5 can also be a separate device such as a server.
Die technische Einrichtung 2 und/oder die technische Vorrichtung 1 weisen eine Anzeige 14 auf , auf der graphische Elemente der graphischen Benutzeroberfläche in einem aktuellen Zustand angezeigt werden können . The technical facility 2 and/or the technical device 1 have a display 14 on which the current status of graphic elements of the graphic user interface can be displayed.
Auf der technischen Einrichtung 2 ist eine dieOn the technical device 2 is a the
Benutzeroberfläche als Schnittstelle verwendendeUsing user interface as interface
Softwareapplikation aus führungs- und zugri f fsbereit abgelegt . Auf der technischen Vorrichtung 1 ist ein Computerprogramm aus führungs- und zugri f fsbereit abgelegt . Software application from stored ready for use and access . A computer program is stored on the technical device 1 ready for use and access.
Die technische Einrichtung 2 verfügt über eine Dateneingangsschnittstelle 6 , über die Daten empfangen werden können . The technical device 2 has a data input interface 6 via which data can be received.
Über die Dateneingangsschnittstelle 6 kann die technische Einrichtung 2 Daten von der Datenausgangsschnittstelle 3 der technischen Vorrichtung 1 empfangen . Die empfangenen Daten können beispielsweise bestimmte von Interaktionselementen der Benutzerschnittstelle aus zuführende Aktionen umfassen . The technical device 2 can receive data from the data output interface 3 of the technical device 1 via the data input interface 6 . The received data can include, for example, specific actions to be performed by interaction elements of the user interface.
Die technische Vorrichtung 1 weist eine Dateneingangsschnittstelle 9 auf , über die Daten empfangen werden können . Wie in Fig . 4 kann hierzu die Dateneingangsschnittstelle 9 über eine drahtlose und/oder eine drahtgebundene Datenleitung 10 wie etwa eine Internetverbindung mit einer Datenausgangsschnittstelle 17 der technischen Einrichtung 2 verbunden sein . The technical device 1 has a data input interface 9 via which data can be received. As in Fig. 4, the data input interface 9 can be connected to a data output interface 17 of the technical device 2 via a wireless and/or wired data line 10 such as an Internet connection.
In Fig . 4 und Fig . 6 werden lexikalische Inhalte von Elementen der Benutzeroberfläche über eine Datenstruktur oder sonstige in Form von Daten hinterlegte Speicherinhalte ermittelt . In Fig . 5 ist vorgesehen, dass die j eweils aktuell auf der Anzeige 14 angezeigte graphische Darstellung der Benutzeroberfläche mittels eines Sensors 8 wie etwa einer Videokamera aufgenommen wird und die Aufnahmen an die technische Vorrichtung 1 übertragen werden . In Fig. 4 and figs. 6, lexical content of elements of the user interface is determined via a data structure or other memory content stored in the form of data. In Fig. 5 it is provided that the graphic representation of the user interface currently displayed on the display 14 is recorded by means of a sensor 8 such as a video camera and the recordings are transmitted to the technical device 1 .
Die technische Vorrichtung 1 und die technische Einrichtung 2 weisen j eweils zumindest einen Datenspeicher 16 und einen Prozessor 15 auf . Letztere sind in Fig . 4 und Fig . 5 aus Gründen der Übersichtlichkeit nicht expli zit eingezeichnet . In Fig. 4 und 5 sind die Schnittstellen 3, 6, 9 und 17 als Hardwareschnittstellen und in Fig. 6 alsThe technical device 1 and the technical facility 2 each have at least one data memory 16 and one processor 15 . The latter are shown in Fig. 4 and figs. 5 not shown explicitly for reasons of clarity. In Fig. 4 and 5 the interfaces 3, 6, 9 and 17 are as hardware interfaces and in Fig. 6 as
Softwareschnittstellen aus gebildet . Zusammenfassend betrifft die Erfindung eine Vorrichtung 1 und ein Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche und zum Testen einer Applikation. Es wird ein Sprachbefehl bereitgestellt, aus dem ein Textelement identifiziert wird. Zu einem interaktiven Element 22, 23, 24 der Benutzeroberfläche wird ein lexikalischer Inhalt ermittelt. Es wird ein semantischer Ähnlichkeitsgrad des Textelements zu dem lexikalischen Inhalt bestimmt und es wird sodann in Abhängigkeit von dem Ähnlichkeitsgrad mit dem interaktiven Element 22, 23, 24 interagiert. Software interfaces formed from . In summary, the invention relates to a device 1 and a method for interacting with a graphical user interface and for testing an application. A voice command is provided from which a text element is identified. A lexical content is determined for an interactive element 22, 23, 24 of the user interface. A semantic degree of similarity of the text element to the lexical content is determined and the interactive element 22, 23, 24 is then interacted with depending on the degree of similarity.
/ Bezugszeichenliste / List of References
Bezugszeichenliste Technische Vorrichtung Technische Einrichtung Datenausgangsschnittstelle von 1 Dateneingangsschnittstelle von 2 Sensor Dateneingangsschnittstelle von 1 Datenleitung Testanordnung elektronisches Gerät Anzeige einer graphischen Benutzeroberfläche Prozessor Datenspeicher Datenausgangsschnittstelle von 2 Interaktionselement weiteres Interaktionselement weiteres Interaktionselement Beschreibungselement weiteres Beschreibungselement List of reference symbols Technical device Technical device Data output interface of 1 Data input interface of 2 Sensor Data input interface of 1 data line Test arrangement Electronic device Display of a graphical user interface Processor Data memory Data output interface of 2 interaction element further interaction element further interaction element descriptive element further descriptive element
/ Ansprüche / Expectations

Claims

34 34
Ansprüche Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche , wobei die graphische Benutzeroberfläche ein Interaktionselement aufweist , dadurch gekennzeichnet , dass ein Sprachbefehl bereitgestellt wird, aus dem ein Textelement identi fi ziert wird, dass zu dem Interaktionselement ein lexikalischer Inhalt computergestützt ermittelt wird, dass ein semantischer Ähnlichkeitsgrad des Textelements zu dem lexikalischen Inhalt computergestützt bestimmt wird und dass in Abhängigkeit von dem Ähnlichkeitsgrad mit dem Interaktionselement interagiert wird . Verfahren nach dem vorangehenden Anspruch, dadurch gekennzeichnet , dass der lexikalische Inhalt zu dem Interaktionselement ermittelt wird, indem ein auf dem Interaktionselement angeordneter lexi kalischer Inhalt identi fi ziert wird und/oder indem Abstände von umliegenden Beschreibungselementen mit einem lexikalischen Inhalt ermittelt werden und der lexikalische Inhalt des nahestgelegenen Beschreibungselement ausgewählt wird . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass der lexikalische Inhalt desClaims Method for interacting with a graphical user interface, the graphical user interface having an interaction element, characterized in that a voice command is provided from which a text element is identified, that a lexical content for the interaction element is determined with computer assistance, that a semantic degree of similarity of the text element to the lexical content is determined in a computer-aided manner and that the interaction element is interacted with depending on the degree of similarity. Method according to the preceding claim, characterized in that the lexical content for the interaction element is determined by identifying lexical content arranged on the interaction element and/or by determining distances from surrounding description elements with lexical content and the lexical content of the closest description element is selected . Method according to one of the preceding claims, characterized in that the lexical content of the
Interaktionselements oder des Beschreibungselements ermittelt wird, indem er einem Textfeld einer einen aktuellen Zustand der Benutzeroberfläche beschreibenden Datenstruktur unmittelbar entnommen wird und/oder indem auf eine graphische Darstellung des Interaktionselements oder des Beschreibungselements ein Verfahren der Texterkennung und/oder der Bilderkennung angewendet wird, insbesondere wobei bei einem zunächst ermittelten Graphikelement und/oder bei einem zunächst ermittelten Zeichen, das von 35 der Grammatik nicht umfasst ist , ein Verfahren angewendet wird, das dem Graphikelement und/oder dem Zeichen einen lexikalischen Inhalt zuordnet . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass der Sprachbefehl bereitgestellt wird, indem eine sprachliche Eingabe in eine Abfolge von Textelementen umgewandelt wird und/oder dass derinteraction element or the descriptive element is determined by taking it directly from a text field of a data structure describing a current state of the user interface and/or by applying a text recognition and/or image recognition method to a graphical representation of the interaction element or the descriptive element, in particular with an initially identified graphic element and/or in the case of an initially identified character that is 35 is not included in the grammar, a method is used which assigns lexical content to the graphic element and/or the character. Method according to one of the preceding claims, characterized in that the voice command is provided by a spoken input is converted into a sequence of text elements and / or that the
Sprachbefehl bereitgestellt wird, indem eine Abfolge von Textelementen, insbesondere durch eine Tastatureingabe oder durch eine Textdatei , bereitgestellt wird . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass der Sprachbefehl computergestützt vorzugsweise mittels eines Parsers in eine Abfolge von Textelementen zergliedert wird . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass der Sprachbefehl eine Bezeichnung für ein Makro umfasst , wobei das Makro seinerseits eine vorzugsweise in einer Textdatei gespeicherte Abfolge von Textelementen umfasst . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass das Interaktionselement identi fi ziert wird, indem ein interaktives Element eines aktuellen Zustands der graphischen Benutzeroberfläche ausgewählt wird, insbesondere wobei das interaktive Element eine endliche Ausdehnung hat und/oder unverdeckt ist . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass mit dem Interaktionselement nur für den Fall interagiert wird, dass der ermittelte Ähnlichkeitsgrad einen Schwellwert überschreitet . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass semantische Ähnlichkeitsgrade von einem oder mehr als einem Textelement des Sprachbefehls zu einem oder mehr als einem lexikalischen Inhalt , der zu einem oder mehr als einem entsprechenden Interaktionselement ermittelt wird, bestimmt werden und dass mit demj enigen Interaktionselement zuerst interagiert wird, für das der bestimmte Ähnlichkeitsgrad am höchsten ist . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass dem Textelement des Sprachbefehls mindestens eine Aktion zugeordnet wird und dass die mindestens eine dem Textelement zugordnete Aktion mit einer dem Interaktionselement zugeordneten Aktion verglichen wird, insbesondere wobei die Bestimmung des Ähnlichkeitsgrads des Textelements zu dem Interaktionselement in Abhängigkeit von dem Ergebnis des Vergleichs erfolgt . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass gespeichert wird, ob und/oder wie oft während der Aus führung des Verfahrens mit dem Interaktionselement interagiert worden ist und/oder dass aus Interaktionen mit der Benutzeroberfläche und aus den infolge der Interaktionen erreichten Zuständen der Benutzeroberfläche ein Zustandsmodell derVoice command is provided by a sequence of text elements, in particular by a keyboard input or by a text file, is provided. Method according to one of the preceding claims, characterized in that the voice command is broken down into a sequence of text elements with the aid of a computer, preferably by means of a parser. Method according to one of the preceding claims, characterized in that the voice command includes a designation for a macro, the macro for its part including a sequence of text elements preferably stored in a text file. Method according to one of the preceding claims, characterized in that the interaction element is identified by selecting an interactive element of a current state of the graphical user interface, in particular wherein the interactive element has a finite extent and/or is unobscured. Method according to one of the preceding claims, characterized in that the interaction element is only interacted with if the determined degree of similarity exceeds a threshold value. Method according to one of the preceding claims, characterized in that semantic degrees of similarity of one or more than one text element of the voice command to one or more than one lexical content, which is determined for one or more than one corresponding interaction element, are determined and that with demj enigen Interaction element is interacted first, for which the certain degree of similarity is highest. Method according to one of the preceding claims, characterized in that the text element of the voice command is assigned at least one action and that the at least one action assigned to the text element is compared with an action assigned to the interaction element, in particular wherein the determination of the degree of similarity of the text element to the interaction element in Dependence on the result of the comparison takes place. Method according to one of the preceding claims, characterized in that it is stored whether and/or how often the interaction element has been interacted with during the execution of the method and/or that from interactions with the user interface and from the states achieved as a result of the interactions user interface a state model of the
Benutzeroberfläche erstellt und/oder aktualisiert wird . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass der Ähnlichkeitsgrad vorzugsweise mittels eines Wichtungs faktors abgesenkt wird, wenn erkannt wird, dass mit dem Interaktionselement bereits zuvor im Verlauf der Aus führung des Verfahrens interagiert worden ist . Verfahren nach einem der vorangehenden Ansprüche , dadurch gekennzeichnet , dass bei Zuständen der Benutzeroberfläche , die im Verlauf der Aus führung des Verfahrens erstmals erreicht werden, zunächst solche Textelemente des Sprachbefehls ausgeführt werden, die als Interaktion eine Eingabe erfordern oder ermöglichen . Verwendung des Verfahrens nach einem der vorangehenden Ansprüche zur Aus führung einer Funktion einer dieUser interface is created and/or updated. Method according to one of the preceding claims, characterized in that the degree of similarity is preferably reduced by means of a weighting factor if it is recognized that the interaction element has already been interacted with during the execution of the method. Method according to one of the preceding claims, characterized in that in the case of states of the user interface which are reached for the first time in the course of the execution of the method, those text elements of the voice command which require or enable an input as an interaction are executed first. Use of the method according to any one of the preceding claims for executing a function of a die
Benutzeroberfläche als Schnittstelle verwendende Applikation, insbesondere wobei der Verwender denApplication using the user interface as an interface, in particular where the user uses the
Sprachbefehl bereitstellt . Verfahren zum Testen einer eine Benutzeroberfläche als Schnittstelle verwendende Applikation, dadurch gekennzeichnet , dass mindestens ein Sprachbefehl vorgegeben wird, dass zu j edem des mindestens einen Sprachbefehls das Verfahren gemäß einem der vorangehenden Ansprüche ausgeführt wird und dass ein Zustandsmodell dervoice command provides . Method for testing an application using a user interface as an interface, characterized in that at least one voice command is specified, that the method according to one of the preceding claims is carried out for each of the at least one voice command and that a state model of the
Benutzeroberfläche erzeugt und/oder aktualisiert wird und abrufbar abgespeichert wird, wobei das Zustandsmodell die durchgeführten Interaktionen und die hierdurch erreichten Zustände der Benutzeroberfläche umfasst . Technische Vorrichtung ( 1 ) , dadurch gekennzeichnet , dass die technische Vorrichtung ( 1 ) eingerichtet ist , das Verfahren zur Interaktion mit einer graphischen Benutzeroberfläche gemäß einem der Ansprüche 1 bis 13 und/oder das Verfahren zum Testen einer eine oder die Benutzeroberfläche als Schnittstelle verwendende Applikation gemäß Anspruch 15 aus zuführen, insbesondere wobei Eingabemittel zur Eingabe eines Sprachbefehls ausgebildet sind . 38 Anordnung (12) mit einer technischen Vorrichtung (1) nach dem vorangehenden Anspruch und mit einer technischen Einrichtung (2) , auf der eine die Benutzeroberfläche als Schnittstelle verwendende Applikation ausführungs- und zugriffsbereit abgelegt ist, wobei mindestens eineUser interface is generated and / or updated and stored in a retrievable manner, the state model comprising the interactions carried out and the states of the user interface achieved as a result. Technical device (1), characterized in that the technical device (1) is set up, the method for interacting with a graphical user interface according to one of claims 1 to 13 and/or the method for testing an application using one or the user interface as an interface carry out according to claim 15, in particular wherein input means are designed for entering a voice command. 38 arrangement (12) with a technical device (1) according to the preceding claim and with a technical device (2) on which an application using the user interface as an interface is stored ready for execution and access, with at least one
Schnittstelle ausgebildet ist, die eine Übermittlung von Daten von der technischen Vorrichtung (1) auf die technische Einrichtung (2) ermöglicht. Interface is formed, which enables a transmission of data from the technical device (1) to the technical device (2).
/ Zusammenfassung / Summary
PCT/EP2021/065301 2020-08-17 2021-06-08 Device and method for interaction with a graphical user interface and for testing an application WO2022037818A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020121565.7A DE102020121565A1 (en) 2020-08-17 2020-08-17 Device and method for interacting with a graphical user interface and for testing an application
DE102020121565.7 2020-08-17

Publications (1)

Publication Number Publication Date
WO2022037818A1 true WO2022037818A1 (en) 2022-02-24

Family

ID=76502702

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/065301 WO2022037818A1 (en) 2020-08-17 2021-06-08 Device and method for interaction with a graphical user interface and for testing an application

Country Status (2)

Country Link
DE (1) DE102020121565A1 (en)
WO (1) WO2022037818A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116627807B (en) * 2023-05-12 2024-04-09 南京数睿数据科技有限公司 Mobile application test repair method integrating interface element semantics and structural information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013170383A1 (en) * 2012-05-16 2013-11-21 Xtreme Interactions Inc. System, device and method for processing interlaced multimodal user input
US20170031652A1 (en) * 2015-07-29 2017-02-02 Samsung Electronics Co., Ltd. Voice-based screen navigation apparatus and method
US20170084273A1 (en) * 2015-09-22 2017-03-23 Meshrose Ltd. Automatic performance of user interaction operations on a computing device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8788271B2 (en) 2004-12-22 2014-07-22 Sap Aktiengesellschaft Controlling user interfaces with contextual voice commands
US8756571B2 (en) 2010-05-07 2014-06-17 Hewlett-Packard Development Company, L.P. Natural language text instructions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013170383A1 (en) * 2012-05-16 2013-11-21 Xtreme Interactions Inc. System, device and method for processing interlaced multimodal user input
US20170031652A1 (en) * 2015-07-29 2017-02-02 Samsung Electronics Co., Ltd. Voice-based screen navigation apparatus and method
US20170084273A1 (en) * 2015-09-22 2017-03-23 Meshrose Ltd. Automatic performance of user interaction operations on a computing device

Also Published As

Publication number Publication date
DE102020121565A1 (en) 2022-02-17

Similar Documents

Publication Publication Date Title
DE60120247T2 (en) Speech recognition from multimodal input
DE60122352T2 (en) EYE TRACKING FOR CONTEXT DEPENDENT LANGUAGE RECOGNITION
DE69736552T2 (en) INTELLIGENT USER SUPPORT FUNCTION
DE19960050A1 (en) Test code generation method for automatic testing procedure for computer system using visual representation for selection of test object and test object options
DE102005016561A1 (en) Structured problem collection and treatment device for e.g. medical instruments has control equipment having central processing unit (CPU) that determines and transmits solutions to selected problems
EP2289022B1 (en) Method and apparatus for automatically determining control elements in computer applications
DE102007021284A1 (en) Method for computer based protection of manual annotation of characteristics in text body, involves segmenting text body in series of subfields
DE112016002275T5 (en) COORDINATED USER WORD SELECTION FOR TRANSLATING AND RECEIVING CONTEXT INFORMATION FOR THE SELECTED WORD
EP1599866B1 (en) Voice processing system and method
DE112018001952T5 (en) IMPROVED VISUAL DIALOG SYSTEM FOR INTELLIGENT TUTORS
DE69636141T2 (en) A computer-implemented method for determining a minimum code set for an executable program in a data processing system
WO2022037818A1 (en) Device and method for interaction with a graphical user interface and for testing an application
EP3543844A1 (en) Method for carrying out changes to a software application
DE102021212276A1 (en) KNOWLEDGE DRIVEN AND SELF SUPERVISED QUESTION ANSWERING SYSTEM
DE102015215044A1 (en) Method and system for processing multimodal input signals
DE102016114265A1 (en) Method for at least partially machine transferring a word sequence written in a source language into a word sequence of a target language
DE112021006602T5 (en) REFINING QUERY GENERATION PATTERNS
EP1324218A1 (en) System for categorising data objects and method of checking the consistency of the designation of categories to the data objects
DE102019008981A1 (en) Easier finding of verbal commands using multimodal interfaces
DE102021121116B4 (en) METHOD AND DEVICE FOR ENTERING A CHARACTER STRING
DE4311211C2 (en) Computer system and method for automated text analysis
DE202015006393U1 (en) System for identifying and marking a mathematical expression in an electronic text document
DE102022110355A1 (en) Method and device for mechanical support of a designer
DE102016222954A1 (en) Method of creating and / or modifying a collection of datasets for a dialog-driven technical tool to assist in the creation and / or modification of data processing programs or database entries
DE19626142A1 (en) Computer-aided text design system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21733072

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21733072

Country of ref document: EP

Kind code of ref document: A1