2017-12-28 60 views
0

Ich möchte einige Programmierfehler bezüglich einer GUI-Anwendung mit einem QGraphicsView finden. Um manuell zu testen, ist ein Mausklick auf die QGraphicsView-Komponente erforderlich. Aufgrund meiner unvollkommenen Maushandhabung führen verschiedene Pixelkoordinaten zu einem komplett veränderten Ausführungspfad mit vielen veränderten Variablenwerten.Automatisieren Sie manuelle einleitende Mausklicks, die zum Debuggen erforderlich sind

Darüber hinaus ist das manuelle Klicken zu Debugging-Zwecken aufgrund von unangenehmen Fehlern (Endlosschleifen, SIGSEVs, ...) ziemlich zeitaufwendig.

Wie ist es möglich, eine solche Aufgabe zu automatisieren, wie ein Mausklick ähnlich wie Komponententests (mit QTest), während man Debugging durchführen kann (Kontrolle des Programmflusses durch Breakpoints, ...)? Vielen Dank im Voraus.

EDIT: Ich bin in der Lage, die erforderlichen Mausklicks in Komponententests zu simulieren. Ich bin nicht daran interessiert, ein hoffentlich korrektes Unterprogramm vollständig auszuführen und die Werte einiger Assertionen als Ergebnis zu erhalten, sondern eine Sequenz von Mausklicks zu automatisieren, um das Programm bis zum ersten Haltepunkt auszuführen (nicht bis zum Ende) und dann sorgfältig auszuführen die einzelnen Anweisungen manuell. Vielleicht habe ich den Link verpasst.

+1

Mögliches Duplikat von [Qt QGraphicsView-Unit-Test - Wie hält man die Maus in einem "gedrückten" Zustand?] (Https://stackoverflow.com/questions/16299779/qt-qgraphicsview-unit-testing-how-to- keep-the-mouse-in-a-press-state) –

+0

Werfen Sie einen Blick auf https://stackoverflow.com/questions/16299779/qt-qgraphicsview-unit-testing-how-to-keep-the-mouse-in - gedrückter Zustand, um zu sehen, wie es gemacht werden kann –

Antwort

0

Das Problem ist gelöst. Die Mausklicks führen zur Ausführung eines Algorithmus. Ich konnte den Algorithmus während der Fensterinitialisierung direkt mit festen Argumenten aufrufen. Auf diese Weise habe ich später interveniert und musste Mausklicks nicht mehr nachahmen.

Verwandte Themen