Тестирование Qt "monkey" - имитация случайных щелчков и нажатий клавиш

существует ли структура для имитации детерминированно псевдослучайной серии кликов, наложенных на приложение Qt, - чтобы попытаться вызвать любые утечки памяти, ошибки потоков и т. д. - типичное тестирование обезьян?

некоторые экзотические, обезьяна использовать для QTestLib?

2 ответов


Да, вы можете использовать полезный модуль модуль тестирования. Посмотрите, в частности, на класс QTestEventList. Просто укажите QWidget, который вы хотите протестировать, или QMainWindow или любой подкласс, который вы хотите, и добавьте список событий, которые вы хотите создать. Если вы хотите создать последовательность точек для воспроизведения в случае сбоя, используйте qsrand() и QR и().


на Squish автоматизированная платформа тестирования GUI можно использовать, чтобы сделать обезьяны щелкая в вашем приложении. Есть несколько приятных вещей об использовании Squish для этой цели:

  • Squish работает на Windows, Mac, Linux и Android
  • он регистрирует любые случайные шаги, которые он выполняет в качестве сценария, который можно повторно запустить (обезьяна тестирование docs)
  • Он имеет возможность сделать снимок экрана при сбое приложения (скриншот настроек отказа docs)

недостатки: Squish не является бесплатным. Настройка Squish для запуска приложения может быть очень раздражающей, особенно если приложение требует определенных характеристик сборки Qt или Python.