
Raphael introduces desktop application test automation, focusing on underserved areas and database testing, using Robot Framework’s keyword-driven scripts to empower less technical users while applying core principles to your projects.
install python 3.11 from python.org, respect library compatibility with 3.12 and above, configure advanced options and the installation folder, and verify with python --version in the command prompt.
Install pymysql, the Python database library used to connect to a Microsoft SQL database, via the PyPI site and pip install in the command prompt.
Install Accessibility Insights to locate elements in Windows GUI applications by downloading the tool, running the installer, and configuring telemetry and startup options.
Open Visual Studio Code and choose a theme (dark modern or light modern). Install the Robot Framework Language Server extension to enable test creation.
Install ManicTime by downloading the 64-bit or 32-bit setup, running setup.exe, and accepting the license with default options.
Section overview on inspecting desktop GUI elements, actions that will be automated and locator strategy
Inspecting Grindstone application using Accessibility Insights tool for automation elements
Keywords in rpa framework library that will be used for automating actions in the different applications
Keywords from the Builtin library that will be used for verifying actions
Creating a basic test automation script using Visual Code and Robot Framework libraries
Create an automated test script to open Grindstone with the RPA desktop library in Python, set the app path, use click to handle the okay dialog, and kill the process.
Navigate the grindstone application to create a new work item by using click commands and send keys, refining test scripts with accessibility insights and keyboard shortcuts.
Create and remove Grindstone tasks by entering a name, details, due date, and priority, saving, and verifying addition and deletion via test runs and return status checks.
Develop test scripts for the Manage Time desktop app, covering opening the app, creating and removing a task, verifying deletion, navigating settings, and using Application Insights with Visual Studio Code.
Use Accessibility Insights to inspect ManicTime elements, note no name or keyboard shortcut, and verify navigation via tab and spacebar, then use image recognition for dynamic settings and delete actions.
Create a robot framework test in Visual Studio Code to open and close the Manictime app with rpa desktop, desktop operating system, and rpa.windows libraries.
Navigate the ManicTime menu to select all option, use keyboard navigation and screenshot verification, then automate settings and okay clicks using RPA desktop actions.
Remove ManicTime task and verify its removal in an end-to-end test by adding a settings task, capturing a settings.png screenshot, deleting tasks, and validating deletion with automated checks.
DatabaseLibrary keywords used in this section to perform and verify actions
String and Collection library keywords which are used in conjunction with DabaseLibary keywords to structure and verify actions
Manual walkthrough and test automation scripting for connecting to Microsoft SQL Server using Windows and SQL Server authentication
Using a SELECT statement to a single value
Using a SELECT statement to retrieve multiple values and structuring these values for use in further actions
Using the UPDATE statement to update a value and verifying the change
Using a SQL file to insert data into a database table and verifying the change
Using the DELETE statement to remove a row of data an verifying the change
The lecture introduces test script improvements by eliminating duplicated steps, using keywords, and leveraging setup and teardown features to manage variables.
Create and reuse a unique keyword to eliminate duplication across test scripts by centralizing database connection values as 'database connection', then verify tests pass.
Creating and set variables at test, suite and global variables, also the retrieving of the variables within a keyword.
Celebrates completion of the desktop application test automation course, notes beginner level and potential for more advanced content, and invites feedback to improve future offerings for real world projects.
- Introduction on Robot Framework.
- A little bit about my background and experience.
- Installation process of Python 3.x and Robot Framework.
- Installation of Visual Studio Code and required extensions needed in this course.
- Creating structured test scripts in Robot Framework, including keywords, documentation and tags.
- Automating tests for 3 different types of desktop applications, covering the following scenarios in each application:
Open application and add task
Edit the same task
Remove newly added task
Navigate through settings option
Close application
Troubleshooting issues will also be covered, as the steps are created from scratch, and any issues encountered as investigated and fixed.
Installing the required libraries and tools needed for desktop GUI automation.
Identifying the locators for the various functionality using Application Insights
Discuss the common keywords used in the various libraries which will be used for automating the different desktop applications.
- Database query automation for a Microsoft SQL database.
Installing the required libraries for database automation.
Connecting to a database, creating and executing queries, and verifying results.
This will include CRUD operations: Create (Update), Read (Select), Update and Delete queries.
- Improvements to test scripts using keywords, setup and teardown steps, and using variables in tests to reduce the duplication of steps.