2009-04-16 4 views
0

Wir haben ein System, das ursprünglich vor Jahrzehnten entwickelt wurde und im Laufe der Jahre seine Codebasis erhöht hat. Dies ist ein ziemlich großes System mit einer Konfiguration, die von unserer Abteilung verwaltet wird (der Anbieter erlaubt uns keinen Zugriff auf die Quell- oder die zugrunde liegende Datenbank). Die Client-Software ist eine proprietry entwickelte Anwendung, die im Grunde eine schicke Terminal-Anwendung ist, die sich mit der Hauptdatenbank verbindet.Automatisierte GUI-Tests von älteren Nicht-MFC-Anwendungen?

Ich möchte Komponententests schreiben, um die verschiedenen funktionalen Komponenten des Systems zu testen. Ich habe versucht, AutoIT und AutoHotkey ohne Glück zu verwenden, mein Problem ist, dass ich die Daten aus dem Fenster nicht lesen kann, da es eine benutzerdefinierte Klasse ist (der Fensterfinder wird leer angezeigt). Ich habe sogar versucht, eine OCR-API mit AutoIT ohne Erfolg (es ist nicht zuverlässig). Ich habe auch versucht mit einem Terminal-Emulator wie CRT und Putty mit begrenztem Erfolg, wie die normale Client-Software sendet bestimmte Nicht-Terminal-Standard-Daten beim Drücken von Tasten etc.

Es scheint, dass alle Testsuiten wirklich nur für Web-basierte gelten Anwendungen oder mehr standardisierte Anwendungen.

Hat jemand anderes ein ähnliches Problem?

Antwort

0

Ich endete mit einer Kombination von AutoIT und TextCaptureX. Die oben vorgeschlagenen Lösungen sind gute Produkte, funktionieren aber in diesem Fall nicht wirklich. TextCaptureX verbindet sich tatsächlich mit dem Windows GDI, um Text zu erfassen.

Ich habe inzwischen Testskripts entwickelt, die GUI-Tests auf unserer Anwendung sehr gut durchführen.

0

Versuchen Sie "Automatische QA: Test abgeschlossen". Wir verwenden es seit einiger Zeit für eine größere Anwendung und es ist das einzige Produkt, das WPF, Win32, .NET, Java usw. usw. problemlos testen kann. Nachdem Sie die Testszenarien erstellt haben, können Sie sie später als Regressionstest erneut ausführen.

0

Für automatisierte GUI-Tests von Thick- und/oder Terminal-Clients unter Windows können Sie auch IBM Rational Funktionstester, IBM Rational Roboter, HP QTP, Compuware TestPartner, Borland SilkTest in Betracht ziehen.

Genauer gesagt klingt es so, als müssten Sie die alte Copy-Paste verwenden. Hat das Terminal-Fenster die Entsprechung von Bearbeiten-> Alle auswählen, Bearbeiten-> Menüs kopieren? Wenn dies der Fall ist, können Sie es codieren, um auf die GUI-Menüs zu klicken, um den gesamten Text auszuwählen und in die Zwischenablage zu kopieren. Sobald sich der Text in der Zwischenablage befindet, können Sie mithilfe der Zwischenablage-API auf den Text zugreifen und ihn analysieren.

+0

Leider nein, die Software hat keine Art von Kopieren/Einfügen, wir können nicht einmal Text hervorheben. Aber ich werde immer noch in die Produkte schauen, die du erwähnt hast! –

+0

Das ist seltsam, in der Regel sogar für Terminal-oder Green-Screen-Anwendungen können Sie zumindest eine Alles auswählen, kopieren, da das Terminal-Fenster selbst können Sie den gesamten Text in den Puffer kopieren können. In einer Windows-Eingabeaufforderung können Sie beispielsweise Bearbeiten-> Alle auswählen, Bearbeiten-> Kopieren, um den Text von der Eingabeaufforderung in den Zwischenablagepuffer zu übernehmen. –

+0

Ja, es ist seltsam, der Verkäufer hat es absichtlich deaktiviert. Ich glaube, es war aus Gründen der Vertraulichkeit (die Daten sind sehr empfindlich). Es gibt keine Möglichkeit zum Markieren, Kopieren, Einfügen und wirklich etwas mit der Zwischenablage zu tun. Dies ist wahrscheinlich meine Haupthürde beim Testen. –