All Projects → Dushistov → qt_monkey

Dushistov / qt_monkey

Licence: BSD-3-Clause license
Tool for testing Qt based applications

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to qt monkey

carina
Carina automation framework: Web, Mobile, API, DB etc testing...
Stars: ✭ 652 (+1571.79%)
Mutual labels:  test-automation, testing-tools
SHAFT ENGINE
SHAFT is an MIT licensed test automation engine. Powered by best-in-class frameworks like Selenium WebDriver, Appium & RestAssured it provides a wizard-like syntax to increase productivity, and built-in wrappers to eliminate boilerplate code and to ensure your tests are extra stable and your results are extra reliable.
Stars: ✭ 170 (+335.9%)
Mutual labels:  test-automation, testing-tools
kentan
A modular test data generator for TypeScript
Stars: ✭ 38 (-2.56%)
Mutual labels:  test-automation, testing-tools
Gauge
Light weight cross-platform test automation
Stars: ✭ 2,622 (+6623.08%)
Mutual labels:  test-automation, testing-tools
eat
Json based scenario testing tool(which can have test for functional and non-functional)
Stars: ✭ 41 (+5.13%)
Mutual labels:  test-automation, testing-tools
Recheck Web
recheck for web apps – change comparison tool with local Golden Masters, Git-like ignore syntax and "Unbreakable Selenium" tests.
Stars: ✭ 224 (+474.36%)
Mutual labels:  test-automation, testing-tools
toster
DSL framework for testing Android apps
Stars: ✭ 31 (-20.51%)
Mutual labels:  test-automation, testing-tools
Vividus
Vividus is all in one test automation tool
Stars: ✭ 170 (+335.9%)
Mutual labels:  test-automation, testing-tools
qt-webkit-kiosk
This is simple browser application written on Qt & QtWebkit.
Stars: ✭ 49 (+25.64%)
Mutual labels:  qt5, qt4
scenarioo
Scenarioo Docu Viewer for Automated Documentation using UI/E2E-Tests
Stars: ✭ 62 (+58.97%)
Mutual labels:  test-automation, testing-tools
Hitchhiker
a Restful Api test tool
Stars: ✭ 2,175 (+5476.92%)
Mutual labels:  test-automation, testing-tools
sandboni-core
Sandboni - Java test optimization library which reduces test execution time without compromising quality
Stars: ✭ 27 (-30.77%)
Mutual labels:  test-automation, testing-tools
Tork
💞 Tests your Ruby code, in parallel, as you change it
Stars: ✭ 185 (+374.36%)
Mutual labels:  test-automation, testing-tools
Mockito Scala
Mockito for Scala language
Stars: ✭ 231 (+492.31%)
Mutual labels:  test-automation, testing-tools
Botium Core
The Selenium for Chatbots - Bots Testing Bots
Stars: ✭ 181 (+364.1%)
Mutual labels:  test-automation, testing-tools
allure-nunit
Archived - Allure adapter for NUnit framework.
Stars: ✭ 45 (+15.38%)
Mutual labels:  test-automation, testing-tools
Mockito
Most popular Mocking framework for unit tests written in Java
Stars: ✭ 12,453 (+31830.77%)
Mutual labels:  test-automation, testing-tools
Argus Eyes
A lightweight commandline tool for visual regression testing of UI components.
Stars: ✭ 158 (+305.13%)
Mutual labels:  test-automation, testing-tools
vividus-starter
VIVIDUS-based test project template
Stars: ✭ 43 (+10.26%)
Mutual labels:  test-automation, testing-tools
saloon
An E2E test seeder for enterprise web applications
Stars: ✭ 30 (-23.08%)
Mutual labels:  test-automation, testing-tools

Qt Monkey Travis build status Appveyor build status License

Introduction

Qt Monkey is a tool to automate testing of Qt-based applications (widgets only). It automates creation/modification and running of the tests. Tests are written in Javascript (Qt supported dialect).

To write your tests, simply run your application (instrumented by Qt Monkey) and click on widget, input text, etc. As a result, a script in Javascript will be generated (see https://github.com/Dushistov/qt_monkey/blob/master/tests/test1.js for example).

[example of script]

After that you can add suitable asserts and run this script via command line or GUI tool.

[example of work of runnig script]

Requirements

Qt Monkey requires compiler with C++11 support and Qt 4.x or Qt 5.x.

How to use

First, download and build Qt Monkey:

git clone --recursive https://github.com/Dushistov/qt_monkey.git
cd qt_monkey
cmake -DQT_VARIANT="qt5" .
cmake --build .

Also you can use -DQT_VARIANT="qt4" for building with Qt 4.x. Then, integrate Qt Monkey agent into your application:

  1. Make sure that you link your application with qtmonkey_agent library
  2. Create object of class qt_monkey_agent::Agent in the main thread of your application:
qt_monkey_agent::Agent agent;

That's all. Now you can run qtmonkey_gui application and record or run your own scripts. See https://github.com/Dushistov/qt_monkey/blob/master/tests/test_app/main.cpp for the more complex usage example.

Internals

Qt Monkey consists of three parts: Qt Monkey's agent library (qtmonkey_agent), qtmonkey_app (tool that run test application and cooperates with agent) and qtmonkey_gui. qtmonkey_app and qtmonkey_gui use json as their preferred data marshalling language and communicate via stdin/stdout streams. Therefore you can easily replace qtmonkey_gui with a plugin for your favorite IDE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].