All templates
Desktop AutomationAdvanced
GUI Testing Calculator
Robomotion•Updated 9 months ago

Overview
Drives the Windows Calculator through native UI automation to validate arithmetic. A concrete template for end-to-end GUI testing of desktop apps.
GUI Testing Calculator
Manual GUI testing can be a challenging task for applications with complicated interfaces. Use Robomotion as a testing tool and create desktop flows that replicate testing steps every time they are needed.
What GUI Testing Calculator can do
- Pre-test —
Set Variables(Core.Flow.SubFlow): seeds the core identifiers and computes the CSV report file paths. - Pre-test —
Start Test Report(Core.Flow.SubFlow): writes the CSV header row to the temporary report file. - Test setup —
Launch App(Core.Flow.SubFlow): starts Calculator, waits for its window, captures its product version, thenResize and Position Appnormalises the window geometry. - Test pass —
Navigation Menu(Core.Flow.SubFlow): exercises the hamburger menu by switching betweenGraphing CalculatorandStandard Calculatormodes. - Teardown —
Close App(Core.Flow.SubFlow) thenFinish Test Report(Core.Flow.SubFlow) writes the final report row and closes the target application beforeCore.Flow.Stop. Core.Trigger.Catchwatches theLaunch App,Resize and Position App,Navigation Menu, andClose Appsubflows — on any subflow error it invokesLog Errors(Core.Flow.SubFlow) and stops withfailedand reasonA subflow raised an error.
Behind the scenes
- The flow is orchestrated entirely from
Core.Flow.SubFlownodes; each step is an isolated subflow that can be run or debugged independently. - The central
Core.Trigger.Catchfunnels errors from every test subflow into a singleLog Errorspath, so per-subflow Fail rows remain consistent in the CSV report. - The success path lets each subflow write its own
Passrow at the tail; the error path writes the correspondingFailrow — mirror this two-outcome shape when adding new test subflows. - CSV writes inside the
Log Errorsbranch should usecontinueOnError: trueso logging a failure cannot itself abort the flow.
More desktop automation templates
See all 11 →- Add Datetime to File NamesRenames every file in a directory by appending the current date to its name. A quick way to version artefacts, snapshots, or export batches.
- Copy FilesCopies every file from a source directory into a destination, with optional overwrite. Demonstrates how to enumerate files and drive file-system operations from a subflow.
- Delete Files of Specific Size RangeScans a directory and deletes files whose size falls inside a min/max range. Useful for pruning oversized logs or clearing tiny scratch files.
- Find and Delete Empty FilesWalks a directory, locates zero-byte files, and deletes them in a single pass. Handy for cleaning up broken export folders.
- Open a FolderLaunches the system file explorer pointed at a given path. Minimal template demonstrating the Application.Launch node.
- Print Current Week's CalendarGenerates an HTML page for the current week and sends it to the default printer. Useful for team dashboards or physical planning boards.