Testautomatisierungstool / Bibliotheken / Framework für C ++ GUI Desktop Windows Apps

8

Leider habe ich eine GUI-Desktop-Anwendung unter Windows und kompiliert mit Borland C ++ Compiler. Ich weiß, es ist eine sehr alte Technologie, aber das ist das Leben. Die Firma, für die ich arbeite, hat viele kostenlose Lizenzen für QTP. Aber um ehrlich zu sein mag ich dieses Tool nicht und ich möchte es mit einer Open-Source-Alternative ändern.

Ich habe Erfahrung mit Automatisierungs-Web-Services mit Selenium und einigen Java-Swing-Applets. Ich habe meine Tests basierend auf Java / JUnit erstellt. Ich frage mich, ob ich einige Tests in Java erstellen kann, um meine C ++ - Anwendung zu testen - das wäre großartig. Wenn das nicht möglich ist, wenn ich irgendwelche C / C ++ - Bibliotheken verwenden kann, um mein eigenes Testframework zu erstellen.

Das sollten keine Unit-Tests sein. Ich möchte eher eine Suite von Funktionstests erstellen. Ich möchte Objekte wie Schaltflächen, Tabellen, Zellen usw. lokalisieren, Aktionen wie Klicken, Fokuswechsel usw. ausführen.

Zusätzlich habe ich Zugriff auf die Quelle. Aber das ist eher ein alter Spaghetti Code und ich habe nicht viel Erfahrung mit C ++ Apps.

Was schlägst du vor?

    
Robert 12.05.2011, 08:16
quelle

4 Antworten

5

Open Source-Tools

White ist ein .NET-basiertes UI-Automatisierungstool, mit dem win32-Anwendungen unter anderen Typen automatisiert werden können. Solange die in Ihrer App verwendeten Steuerelemente ihren Inhalt / ihr Verhalten mit den standardmäßigen UIAutomation-Hooks von Windows offen legen, sollten Sie in der Lage sein, das zu tun, was Sie brauchen.

UIAutomation Verify ist ein weiteres CodePlex-Projekt, das mit den gleichen APIs zur Automatisierung von UIA-konformen Benutzeroberflächen arbeitet.

Visual Studio

Wenn Sie Zugriff darauf haben, können Sie in Visual Studio 2010 Funktionen für den Skript-UI-Test verwenden, die in Premium / Ultimate Editionen erstellt wurden - Codierte UI-Tests . Dies unterstützt .NET, native und Web-Anwendungen mit Record / Replay und Scripting-Funktionalität.

    
Simon Steele 12.05.2011 09:53
quelle
5

Wir benutzen Sikuli und waren damit sehr zufrieden. Es funktioniert außerhalb der verschiedenen Automatisierungs-APIs, so dass es nicht-standardmäßige UIs sehr gut verarbeitet.

    
Soo Wei Tan 12.05.2011 17:47
quelle
1

Ich stimme Robert zu, dass QTP manchmal nicht das beste Werkzeug ist, besonders wenn Sie darauf warten wollen, dass die Desktop-Anwendung ihre Verarbeitung beendet. QTP-Befehle sind nicht synchron, was bedeutet, dass QTP nicht wartet, bis der vorherige Befehl die Ausführung beendet hat, bevor zum nächsten Aufruf übergegangen wird. Wir hatten viele Probleme damit. Wir planen nun, eine c # dll zu schreiben, die dies für QTP tun kann, und diese in unsere QTP-Programme einzubeziehen, damit QTP dynamisch wartet, bis die Desktop-Anwendung seine Verarbeitung beendet. Derzeit wird meines Wissens keine solche Wartefunktionalität von QTP unterstützt.

Auch bei der Objekterkennung gab es viele Probleme damit, und wir nahmen den alternativen Weg, Befehle über Mnemonics durch Tastenanschläge in QTP aufzurufen. Wie Simon bereits erwähnt hat, könnte dies an der Nichtbelichtung der GUI-Elemente liegen. Wir hatten in dieser Hinsicht nicht viel Kontrolle und so haben wir das nicht weiter untersucht.

    
user2074621 13.08.2013 06:25
quelle
0

Robert, wenn Ihr Unternehmen bereits Lizenzen für QTP hat, schlage ich vor, dass Sie das verwenden. Es ist das richtige Werkzeug für den Job, und es ist sinnlos, das Rad neu zu erfinden, wenn es Ihrem Unternehmen bereits gehört. Es hat seine Warzen - meine Hauptbedenken sind die begrenzte IDE und VBScript Skriptsprache - aber es wurde nicht das marktführende Werkzeug durch Zufall. Es gibt nicht viele Open-Source-Optionen zum Testen einer Windows C ++ - GUI-App. Die wichtigsten kommerziellen Optionen, die Sie berücksichtigen sollten, sind HP QTP, IBM Rational Functional Tester und VS2010 Coded UI Tests.

    
Tom E 12.05.2011 17:31
quelle