{"repo":"faaxm/spix","free":true,"listed":false,"github":"https://github.com/faaxm/spix","clone":"git clone https://github.com/faaxm/spix.git","description":"UI test automation library for QtQuick/QML Apps","language":"C++","stars":265,"topics":["qml","qml-applications","qtquick","qt5","automated-testing","automation","qt-qml","qt","qt-quick"],"license":"MIT","category":"workflow-automation","readme_excerpt":"Spix Spix is a minimally invasive UI testing library that enables your Qt app's UI to be controlled either via C++ code or through an HTTP RPC interface. UI elements are referenced through names and paths which are robust against design changes: To provide an RPC test interface, add three lines to your main() : Test scripts can then control your app remotely: Architecture Spix uses a modular architecture: - Spix::Core - Qt-independent functionality (RPC server, commands) - Spix::QtQuick - Qt/QML scene implementation - Spix::QtWidgets - QWidget scene implementation (Qt6 only) This enables Core-only usage in headless environments and support for different Qt UI frameworks. Features - Send mouse events (click, move, drag/drop) - Drop mime data from external apps - Enter text and key events - Check existence and visibility of items - Get/set property values - Invoke methods on objects - Take screenshots - Remote control over network Requirements - AnyRPC - Qt 5.15+ or Qt 6.x (for scene libraries) - CMake 3.18+ Quick Start Build Options: - SPIX QT MAJOR : Qt version (5 or 6, default: 6) - SPIX BUILD QTQUICK : Build QtQuick support (default: ON) - SPIX BUILD QTWIDGETS : Build QtWidgets support (default: OFF, Qt6 only) CMake Integration Qt/QML applications: QWidget applications (Qt6 only): Item Paths Spix uses slash-separated paths to identify UI elements: Items are matched by objectName (or QML id ). Paths don't need to include every ancestor - Spix searches recursively. See Item P","default_branch":null,"files":null,"tree":[],"storefront":"/r/faaxm","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/faaxm/spix/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}