2016-09-23 8 views
2

Я хотел бы узнать, чтобы быстрее протестировать мои графические приложения.Как протестировать более быстрые графические приложения?

Для бэкэнда у меня есть хороший набор модульных тестов, поэтому я думаю, что все в порядке, и я могу повторить довольно быстро.

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

Итак, вы могли бы предложить мне хороший способ протестировать графические приложения? в частности, мне очень интересно узнать, как ускорить цикл тестирования приложений PyQt.

ответ

1

Если вы просто пытаетесь проверить правильность действий определенных графических интерфейсов, вы можете использовать QTest для имитации нажатия кнопок и другого взаимодействия с графическим интерфейсом.

В идеале большая часть вашей бизнес-логики находится в модулях без GUI, чтобы было легче протестировать. Таким образом, тестирование графического интерфейса ограничивается главным образом тестированием, если результаты отображаются правильно и что клавиша вызывает события триггера.

+0

Спасибо за ваш ответ, я дам ему шанс на QTest. И вы правы, бизнес-логика должна быть изолирована от GUI полностью. Я задал вопрос об этом [здесь] (http://programmers.stackexchange.com/questions/331246/how-to-decouple-ui-from-logic-on-pyqt-qt-apps-properly) – BPL

1

Есть также интерфейс Blackbox инструментов тестирования, такие как AutoPilot и Squish которые позволяют записывать взаимодействия с приложением и в дальнейшем воспроизводить их снова

+0

Спасибо за ваш ответ, я использую окна, поэтому я не уверен, могу ли я использовать их, во всяком случае, +1 для усилий – BPL

+0

Я был бы удивлен, если AutoPilot не работал и в Windows, но Squish определенно делает. Он даже поддерживает тестирование приложений, использующих специальные технологии Windows, такие как MFC –

0

Похожи pywinauto должна теперь быть хорошо для PyQt5 (с использованием backend="uia" выпущен в Ноябрь 2016 года).