{"id":16677906,"url":"https://github.com/dushistov/qt_monkey","last_synced_at":"2025-09-06T15:42:42.563Z","repository":{"id":136592942,"uuid":"56722136","full_name":"Dushistov/qt_monkey","owner":"Dushistov","description":"Tool for testing Qt based applications","archived":false,"fork":false,"pushed_at":"2019-12-12T06:48:04.000Z","size":553,"stargazers_count":48,"open_issues_count":2,"forks_count":17,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-06-04T07:51:48.384Z","etag":null,"topics":["qt","qt4","qt5","test-automation","testing","testing-tools"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dushistov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-20T21:26:44.000Z","updated_at":"2025-04-09T20:37:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"8ad11969-3840-4cef-952e-a68639bb4b28","html_url":"https://github.com/Dushistov/qt_monkey","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Dushistov/qt_monkey","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dushistov%2Fqt_monkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dushistov%2Fqt_monkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dushistov%2Fqt_monkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dushistov%2Fqt_monkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dushistov","download_url":"https://codeload.github.com/Dushistov/qt_monkey/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dushistov%2Fqt_monkey/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259521511,"owners_count":22870448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["qt","qt4","qt5","test-automation","testing","testing-tools"],"created_at":"2024-10-12T13:27:52.170Z","updated_at":"2025-06-12T20:05:43.101Z","avatar_url":"https://github.com/Dushistov.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qt Monkey [![Travis build status](https://travis-ci.org/Dushistov/qt_monkey.svg?branch=master)](https://travis-ci.org/Dushistov/qt_monkey) [![Appveyor build status](https://ci.appveyor.com/api/projects/status/c6h10uayiqmnr465?svg=true)](https://ci.appveyor.com/project/Dushistov/qt-monkey) [![License](https://img.shields.io/badge/license-BSD-green.svg)](https://github.com/Dushistov/qt_monkey/blob/master/LICENSE)\n\n## Introduction\n\nQt Monkey is a tool to automate testing of Qt-based applications (widgets only).\nIt automates creation/modification and running of the tests.\nTests are written in Javascript (Qt supported dialect).\n\nTo write your tests, simply run your application (instrumented by Qt Monkey) and click\non widget, input text, etc. As a result, a script in Javascript will be generated\n(see https://github.com/Dushistov/qt_monkey/blob/master/tests/test1.js for example).\n\n[![example of script](https://github.com/Dushistov/qt_monkey/blob/master/docs/qtmonkey_gui.png)]\n\nAfter that you can add suitable asserts and run this script via command line or GUI tool.\n\n[![example of work of runnig script](https://github.com/Dushistov/qt_monkey/blob/master/docs/script_run_demo.gif)]\n\n## Requirements\n\nQt Monkey requires compiler with C++11 support and Qt 4.x or Qt 5.x.\n\n## How to use\n\nFirst, download and build Qt Monkey:\n```sh\ngit clone --recursive https://github.com/Dushistov/qt_monkey.git\ncd qt_monkey\ncmake -DQT_VARIANT=\"qt5\" .\ncmake --build .\n```\n\nAlso you can use -DQT_VARIANT=\"qt4\" for building with Qt 4.x.\nThen, integrate Qt Monkey agent into your application:\n1. Make sure that you link your application with qtmonkey_agent library\n2. Create object of class `qt_monkey_agent::Agent` in the main thread of your application:\n```C++\nqt_monkey_agent::Agent agent;\n```\n\nThat's all. Now you can run qtmonkey_gui application\nand record or run your own scripts. See https://github.com/Dushistov/qt_monkey/blob/master/tests/test_app/main.cpp\nfor the more complex usage example.\n\n## Internals\n\nQt Monkey consists of three parts: Qt Monkey's agent library (qtmonkey_agent),\nqtmonkey_app (tool that run test application and cooperates with agent) and qtmonkey_gui.\nqtmonkey_app and qtmonkey_gui use json as their preferred data marshalling language\nand communicate via stdin/stdout streams. Therefore you can easily replace qtmonkey_gui\nwith a plugin for your favorite IDE.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdushistov%2Fqt_monkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdushistov%2Fqt_monkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdushistov%2Fqt_monkey/lists"}