A library based on Robot Framework for QGIS UI Automation and Testing
Project description
QGISLibrary
A Robot Framework library that provides reusable keywords for QGIS UI Automation and Testing
Installation
Install via pip:
pip install QGISLibrary
Features
- Automate QGIS UI actions using section *** Tasks *** in robot file
- Test QGIS UI behaviours using section *** Test Cases *** in robot file
- Generate HTML report of task/test execution
- Capture screenshots and logs
- Supported OS: Windows (PyWinAuto, PyAutoGUI), Linux and MacOS not yet supported
Example of Robot Framework file
qgis_sample.robot
*** Settings ***
Documentation This is an example QGIS Robot Framework file
Suite Setup Set Metadata From Variables
Suite Teardown Log End of Suite
Metadata Author Michal Pilarski
Metadata Version 1.0.0
Metadata Environment TEST
Metadata QGIS Version 3.40.7-Bratislava
Library QGISLibrary
Library Screenshot
*** Variables ***
${QGIS_FILEPATH} C:\\Program Files\\QGIS 3.40.7\\bin\\qgis-ltr-bin.exe
${QGIS_PROFILE} default
*** Tasks ***
QGIS Init Task
[Documentation] Sample of QGIS Init Task
[Tags] dev qgis
[Setup] Log Start Task
[Teardown] Log End Task
Start Qgis ${QGIS_FILEPATH} ${QGIS_PROFILE}
# Connect Qgis ${QGIS_FILEPATH}
${MAIN_WINDOW} Main Window
${OPEN_PROJECT_BUTTON} Get Locator By Parent ${MAIN_WINDOW} title=Otwórz… control_type=Button
Mouse Left Click Locator ${OPEN_PROJECT_BUTTON} 1
Take Screenshot qgis_screenshot.jpg
# Kill Qgis
*** Keywords ***
Set Metadata From Variables
[Documentation] Set Suite Metadata
Set Suite Metadata QGIS FILEPATH ${QGIS_FILEPATH}
Set Suite Metadata QGIS PROFILE ${QGIS_PROFILE}
Usage
- Run command via terminal
robot qgis_sample.robot
- For help run via terminal
robot --help
- Open HTML Reports: report.html or log.html
QGIS UI Locators
- Use Inspect.exe or UISpy.exe (located on: QGISLibrary on GitLab) to detect UI locators
Robot Framework Editor
- Use RIDE to edit
.robotfiles: - Run command via terminal
pip install robotframework-ride
ride
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
qgislibrary-1.7.10.tar.gz
(11.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qgislibrary-1.7.10.tar.gz.
File metadata
- Download URL: qgislibrary-1.7.10.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
716d8f032b7684d27de7300b750c1cc6a3032904d6ea972cb55c9c74d5ea5d69
|
|
| MD5 |
886b2d741c2b09ea61d7f4cc6b9b9307
|
|
| BLAKE2b-256 |
738e979d22d686cfc61702846963b19819d331f6792bb876097af862a5e6964b
|
File details
Details for the file qgislibrary-1.7.10-py3-none-any.whl.
File metadata
- Download URL: qgislibrary-1.7.10-py3-none-any.whl
- Upload date:
- Size: 10.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
551135028fe675049d6d7ab27b5330c01c11b4067ed6c761f219e41dffa73e2c
|
|
| MD5 |
ca6491d79a1eeefc6fe6155bed799540
|
|
| BLAKE2b-256 |
b97c8ab14d56e02856d8b9a9fe5e647ac3e39e8be3a44fe3806874546123e787
|