US-12619521-B2 - Automated testing of walkthroughs
Abstract
A product, system and method comprising: obtaining a test of a walkthrough of an application, wherein the application comprises a Graphical User Interface (GUI), wherein the walkthrough is defined by a sequence of steps and associated advancement conditions, wherein the test comprises a sequence of automated user actions to be provided to the GUI that is configured to invoke the sequence of steps of the walkthrough; executing, at least partially, the test on the walkthrough, wherein said executing comprises providing the sequence of automated user actions in a manner that is configured to cause the sequence of steps to be invoked; generating a trace display of the test execution, wherein the trace display comprises a visual display of events including both steps of the walkthrough and automated user actions of the test; and outputting the trace display.
Inventors
- Stas SHWARZMAN
- Yossi ZARFATI
- Shlomi SASSON
Assignees
- WALKME LTD.
Dates
- Publication Date
- 20260505
- Application Date
- 20220120
Claims (20)
- 1 . A method comprising: obtaining a walkthrough of an application, the walkthrough comprising an executable tutorial of the application, wherein the application comprises a Graphical User Interface (GUI), wherein the walkthrough is defined by a sequence of steps and an associated sequence of advancement conditions, wherein for each advancement condition of the sequence of advancement conditions, in response to the advancement condition being met, a next step in the sequence of steps is configured to be invoked, wherein a step of the sequence of steps comprises presenting a descriptive element that is associated to a functionality of a GUI element of the GUI of the application, wherein at least one advancement condition of the advancement conditions is configured to be met by actions of a user that is interacting with the GUI; obtaining a test of the walkthrough of the application, wherein the test comprises a sequence of automated user actions to be provided to the GUI of the application, wherein the sequence of automated user actions is configured to invoke the sequence of steps of the walkthrough, wherein the sequence of automated user actions is configured to mimic interactions of the user with the GUI; and executing, at least partially, the test over the walkthrough, wherein said executing comprises providing the sequence of automated user actions in a manner that is configured to cause the sequence of steps to be invoked, at least in part, whereby providing a test execution, wherein the test execution comprises at least automated user actions of the test intertwined with walkthrough steps, wherein the test execution comprises at least an execution of a first step of the walkthrough, followed by an execution of an automated user action of the test, followed by an execution of a second step of the walkthrough.
- 2 . The method of claim 1 , wherein the second step of the walkthrough follows the first step of the walkthrough in the sequence of steps, wherein the first step is associated with a first advancement condition; wherein the test comprises one or more first automated user actions and one or more second automated user actions, wherein the one or more first automated user actions comprise at least the automated user action, wherein the one or more second automated user actions follow the first automated user actions in the sequence, wherein the first automated user actions are configured to cause the first advancement condition of the first step to be met; and wherein said executing comprises: implementing the one or more first automated user actions of the test; monitoring the application to identify that the second step is invoked; and in response to identifying that the second step is invoked, implementing the one or more second automated user actions of the test.
- 3 . The method of claim 2 , wherein the second step is associated with a second advancement condition, wherein the walkthrough comprises a third step, wherein the third step follows the second step in the sequence, wherein said executing comprises: in response to identifying that the third step is not invoked after said implementing the one or more second automated user actions of the test, indicating that the walkthrough failed to properly operate.
- 4 . The method of claim 1 further comprising: generating a trace display of the test execution, wherein the trace display comprises a visual display of events, wherein the events comprise both the walkthrough steps and the automated user actions of the test, whereby providing an interleaved display between a visual representation of the walkthrough and a visual representation of the test; and outputting the trace display, wherein said executing the test comprises identifying a failed step of the sequence of steps, wherein the test did not cause a subsequent step of the walkthrough to be invoked, wherein the trace display comprises a visual indication of the failed step.
- 5 . The method of claim 1 further comprising: generating a trace display of the test execution, wherein the trace display comprises a visual display of events, wherein the events comprise both the walkthrough steps and the automated user actions of the test, whereby providing an interleaved display between a visual representation of the walkthrough and a visual representation of the test; and outputting the trace display, wherein said executing the test comprises determining a failed sub-sequence of the sequence of steps, wherein the failed sub-sequence comprises a plurality of steps starting with an initial step that is estimated to have not been properly operated by the test, wherein the failed sub-sequence comprises the initial step and a failed step, wherein the failed sub-sequence ends with the failed step, wherein the trace display comprises a visual indication of the failed sub-sequence.
- 6 . The method of claim 1 , wherein the walkthrough is provided by a provider different than a provider of the application, wherein the walkthrough is configured to utilize an acquisition process, wherein the acquisition process is configured to identify an element in the GUI based on parameters associated with the element.
- 7 . The method of claim 1 further comprises: injecting the test and the walkthrough into a page of the application.
- 8 . The method of claim 1 further comprises: displaying a walkthrough display, wherein the walkthrough display comprises a visual display of the sequence of steps, wherein the walkthrough display is different from the trace display; and displaying a test display, wherein the test display comprises a visual display of the sequence of automated user actions, wherein the test display is different from the trace display.
- 9 . The method of claim 1 , wherein the advancement conditions are configured to be met by at least one of: a timeout; a user interaction; the automated user action; and an external event.
- 10 . A system comprising a processor and coupled memory, the processor being adapted to: obtain a walkthrough of an application, the walkthrough comprising an executable tutorial of the application, wherein the application comprises a Graphical User Interface (GUI), wherein the walkthrough is defined by a sequence of steps and an associated sequence of advancement conditions, wherein for each advancement condition of the sequence ent conditions, in response to the advancement condition being met, a next step in the sequence of steps is configured to be invoked, wherein a step of the sequence of steps comprises presenting a descriptive element that is associated to a functionality of a GUI element of the GUI of the application, wherein at least one advancement condition of the advancement conditions is configured to be met by actions of a user that is interacting with the GUI; obtain a test of the walkthrough of the application, wherein the test comprises a sequence of automated user actions to be provided to the GUI of the application, wherein the sequence of automated user actions is configured to invoke the sequence of steps of the walkthrough, wherein the sequence of automated user actions is configured to mimic interactions of the user with the GUI; and execute, at least partially, the test over the walkthrough, wherein said executing comprises providing the sequence of automated user actions in a manner that is configured to cause the sequence of steps to be invoked, at least in part, whereby providing a test execution, wherein the test execution comprises at least automated user actions of the test intertwined with walkthrough steps, wherein the test execution comprises at least execution of a first step of the walkthrough, followed by an execution of an automated user action of the test, followed by an execution of a second step of the walkthrough.
- 11 . The system of claim 10 , wherein the second step of the walkthrough follows the first step of the walkthrough in the sequence of steps, wherein the first step is associated with a first advancement condition; wherein the test comprises one or more first automated user actions and one or more second automated user actions, wherein the one or more first automated user actions comprises at least the automated user action, wherein the one or more second automated user actions follow the first automated user actions in the sequence, wherein the first automated user actions are configured to cause the first advancement condition of the first step to be met; and wherein said executing comprises: implementing the one or more first automated user actions of the test; monitoring the application to identify that the second step is invoked; and in response to identifying that the second step is invoked, implementing the one or more second automated user actions of the test.
- 12 . The system of claim 11 , wherein the second step is associated with a second advancement condition, wherein the walkthrough comprises a third step, wherein the third step follows the second step in the sequence, wherein said executing comprises: in response to identifying that the third step is not invoked after said implementing the one or more second automated user actions of the test, indicating that the walkthrough failed to properly operate.
- 13 . The system of claim 10 further comprising: generating a trace display of the text execution, wherein the trace display comprises a visual display of events, wherein the events comprise both the walkthrough steps and the automated user actions of the test, whereby providing an interleaved display between a visual representation of the walkthrough and a visual representation of the test; and outputting the trace display, wherein said executing the test comprises identifying a failed step of the sequence of steps, wherein the test did not cause a subsequent step of the walkthrough to be invoked, wherein the trace display comprises a visual indication of the failed step.
- 14 . The system of claim 10 further comprising: generating a trace display of the test execution, wherein the trace display comprises a visual display of events, wherein the events comprise both the walkthrough steps and the automated user actions of the test, whereby providing an interleaved display between a visual representation of the walkthrough and a visual representation of the test; and outputting the trace display, wherein said executing the test comprises determining a failed sub-sequence of the sequence of steps, wherein the failed sub-sequence comprises a plurality of steps starting with an initial step that is estimated to have not been properly operated by the test, wherein the failed sub-sequence comprises the initial step and a failed step, wherein the failed sub-sequence ends with the failed step, wherein the trace display comprises a visual indication of the failed sub-sequence.
- 15 . The system of claim 10 , wherein the walkthrough is provided by a provider different than a provider of the application, wherein the walkthrough is configured to utilize an acquisition process, wherein the acquisition process is configured to identify an element in the GUI based on parameters associated with the element.
- 16 . The system of claim 10 , wherein the processor is adapted to inject the test and the walkthrough into a page of the application.
- 17 . The system of claim 10 , wherein the processor is adapted to display a test display, wherein the test display comprises a visual display of the sequence of automated user actions, wherein the test display is different from the trace display.
- 18 . The system of claim 10 , wherein the advancement conditions are configured to be met by at least one of: a timeout; a user interaction; the automated user action; and an external event.
- 19 . A non-transitory computer readable medium retaining program instructions, which program instructions when read by a processor, cause the processor to: obtain a walkthrough of an application, the walkthrough comprising an executable tutorial of the application, wherein the application comprises a Graphical User Interface (GUI), wherein the walkthrough is defined by a sequence of steps and an associated sequence of advancement conditions, wherein for each advancement condition of the sequence of advancement conditions, in response to the advancement condition being met, a next step in sequence of steps is configured to be invoked, wherein a step of the sequence of steps comprises presenting a descriptive element that is associated to a functionality of a GUI element of the GUI of the application, wherein at least one advancement condition of the advancement conditions is configured to be met by actions of a user that is interacting with the GUI; obtain a test of the walkthrough of the application, wherein the test comprises a sequence of automated user actions to be provided to the GUI of the application, wherein the sequence of automated user actions is configured to invoke the sequence of steps of the walkthrough, wherein the sequence of automated user actions is configured to mimic interactions of the user with the GUI; and execute, at least partially, the test over the walkthrough, wherein said executing comprises providing the sequence of automated user actions in a manner that is configured to cause the sequence of steps to be invoked, at least in part, whereby providing a test execution, wherein the test execution comprises at least automated user actions of the test intertwined with walkthrough steps, wherein the test execution comprises at least an execution of a first step of the walkthrough, followed by an execution of an automated user action of the test, followed by an execution of a second step of the walkthrough.
- 20 . The computer readable medium of claim 19 , wherein the walkthrough is provided by a provider different than a provider of the application, wherein the walkthrough is configured to utilize an acquisition process, wherein the acquisition process is configured to identify an element in the GUI based on parameters associated with the element.
Description
CROSS-REFERENCE TO RELATED APPLICATION This application is a U.S. National Stage of PCT/IL2022/050092 filed on Jan. 20, 2022 which claims the benefit of U.S. patent application Ser. No. 17/170,121, titled “Automated Testing of Walkthroughs” filed Feb. 8, 2021, now, U.S. Pat. No. 11,520,690, which is hereby incorporated by reference in its entirety without giving rise to disavowment. TECHNICAL FIELD The present disclosure relates to test automation in general, and to test walkthroughs and augmented functionalities, in particular. BACKGROUND Walkthroughs in applications can be a useful tool to improve customer and employee onboarding processes, as well as to improve productivity as a whole, improve customer retention and have other significant advantages. WALKME® provides a DAP™ system enabling users to enhance existing Graphical User Interfaces (GUIs) of existing applications. Such walkthroughs include in-application (in-app) walkthroughs that are limited to a single application; cross-application walkthroughs that guide the user through the use of several different applications; or the like. Such walkthroughs may be implemented over web-based applications, which can be processed differently depending on the execution environment (e.g., CHROME™, FIREFOX™, or the like). Additionally or alternatively, the walkthroughs may be implemented over desktop applications, running on WINDOWS™ OSX™, or the like. Additionally or alternatively, the walkthroughs may be implemented over native mobile applications, e.g., running on iOS™, ANDROID™, or the like. As another example, the application may have a web mobile version, running on mobile browsers. As yet another example, the application may have been written using a cross platform framework such as XAMARIN™, REACT NATIVE™, or the like. BRIEF SUMMARY One exemplary embodiment of the disclosed subject matter is a method comprising: obtaining a test of a walkthrough of an application, wherein the application comprises a Graphical User Interface (GUI), wherein the walkthrough is provided by a provider different than a provider of the application, wherein the walkthrough is defined by a sequence of steps and associated advancement conditions, wherein in response to an advancement condition being met, a next step in the sequence of steps is configured to be invoked, wherein at least one advancement condition of the advancement conditions is configured to be met by actions of a user that is interacting with the GUI, wherein the test comprises a sequence of automated user actions to be provided to the GUI that is configured to invoke the sequence of steps of the walkthrough, wherein the sequence of automated user actions is configured to mimic activity of the user; executing, at least partially, the test on the walkthrough, wherein said executing comprises providing the sequence of automated user actions in a manner that is configured to cause the sequence of steps to be invoked, at least in part, whereby providing a test execution; generating a trace display of the test execution, wherein the trace display comprises a visual display of events, wherein the events comprise both steps of the walkthrough and automated user actions of the test, whereby providing an interleaved display between a visual representation of the walkthrough and a visual representation of the test; and outputting the trace display. Optionally, the walkthrough comprises a first step and a second step, the second step follows the first step in the sequence, and the first step is associated with a first advancement condition. The test comprises one or more first automated user actions and one or more second automated user actions, wherein the one or more second automated user actions follow the first automated user actions in the sequence, wherein the first automated user actions are configured to cause the first advancement condition of the first step to be met; and wherein said executing comprises: implementing the one or more first automated user actions of the test; monitoring the application to identify that the second step is invoked; and in response to identifying that the second step is invoked, implementing the one or more second automated user actions of the test. Optionally, the second step is associated with a second advancement condition, the walkthrough comprises a third step, the third step follows the second step in the sequence, wherein said executing comprises: in response to identifying that the third step is not invoked after said implementing the one or more second automated user actions of the test, indicating that the walkthrough failed to properly operate. Optionally, said executing comprises identifying a failed step of the sequence of steps, wherein the test did not cause a subsequent step of the walkthrough to be invoked, wherein the trace display comprises a visual indication of the failed step. Optionally, said executing comprises determining a failed sub-sequence of the sequence