Welches Scripting-Tool kann ich zum automatischen Testen von Delphi-Programmen verwenden? [geschlossen]

8

Ich suche nach einem Werkzeug für automatisiertes Testen. Ich werde Scripting zum Testen verwenden, anstatt nur zu automatisieren, was bedeutet, dass es nicht einfach einige Tastendrücke senden kann. Es muss das Fenster der App untersuchen, um zu sehen, ob es korrekt aktualisiert wurde. Je billiger, desto besser, ohne Kostensenkung. ; -)

Ich brauche eine echte Sprache mit Funktionen, Variablen, Schleifen, Verzweigungen usw., und die Apps werden in Delphi entwickelt.

Ich muss in der Lage sein, die Kontrollen * zu fokussieren, auf Fenster zu warten, nach Steuerelementen / Fenstern zu suchen, Tastatureingaben zu senden und zu prüfen, ob verschiedene Fenster / Steuerelemente den Status geändert haben jetzt deaktiviert, ein Textfeld enthält den richtigen Text, ein Dialogfeld öffnet sich usw.).

Ich habe AutoIt vor ein paar Jahren benutzt und komme jetzt zurück zum Scripting. Ich habe mich gefragt, ob es während meiner Abwesenheit neue Entwicklungen gegeben hat.

Irgendwelche Vorschläge?

* Ich möchte den Cursor nicht in absolute Koordinaten bewegen, falls sich das Layout der App ändert. Dieses Zitat aus Wikipedia erklärt warum:

  

Regressionstests werden auch zu einem Problem mit GUIs. Dies liegt daran, dass sich die GUI in verschiedenen Versionen der Anwendung signifikant ändern kann, auch wenn die zugrunde liegende Anwendung dies möglicherweise nicht tut. Ein Test, der entwickelt wurde, um einem bestimmten Pfad durch die GUI zu folgen, kann diesem Pfad möglicherweise nicht folgen, da eine Schaltfläche, ein Menüelement oder ein Dialogfeld Standort oder Aussehen möglicherweise geändert haben.   

    
Mawg 23.10.2011, 01:56
quelle

6 Antworten

6

Autoit erledigt alles, was Sie aufgelistet haben. Ich benutze es für die gleichen Schweinswale die ganze Zeit. Außerdem ist Delphi in dem Sinne gut, dass es Standard-Windows-Steuerelemente verwendet, wodurch es sehr einfach ist, sich daran zu orientieren.

    
Fidel 24.10.2011, 05:05
quelle
7

Ich glaube, Sie haben gerade TestComplete von SmartBear Software beschrieben.

    
Harriv 23.10.2011 07:54
quelle
5

Ich hatte einige Erfolge mit sikuli , was den Vorteil hat, dass es sich um Python (jython) -Code handelt. Es baut auf OpenCV auf und verwendet eine vollständige Bildverarbeitungs-Engine, um Teile des Bildschirms mit Mustern zu versehen. Es enthält auch Editoren und Funktionen für Screenshots, die auf Änderungen warten, sowie Tastenbetätigungen und Mauseingaben.

    
Andrew Walker 23.10.2011 02:01
quelle
3

Etwas anderes als meine andere Antwort: PyWinAuto

Es hat vollständige Skripte (weil es Python ist), es verwendet Kontrollnamen anstelle von X, Y Koordinaten, es wartet auf Fenster und Sie können Tasten drücken. Und es ist kostenlos.

Die Schattenseiten sollten offensichtlich sein:)

    
Harriv 24.10.2011 09:22
quelle
1

Um das Hauptproblem einer Delphi-Anwendung zu automatisieren, habe ich festgestellt, dass alle Test-Tools (QTP mit Delphi-Addon, Test Complete, Testanywhere, Autoit, Sikuli) keine Tlabels und Tlist und andere Komponenten für eine Anwendung erkennen Build in Delphi bildet einen prominenten Teil der Benutzeroberfläche. Selbst wenn wir func-basierte Tests durchführen wollen, müssen wir letztendlich eine Komponente im Frontend untersuchen, um zu sehen, ob eine Func direkt ausgibt. Selbst wenn ein Skript automatisiert werden soll, müssen wir zuerst das Objekt erkennen und dem Repository hinzufügen.

Wir haben eine Anwendung, in der wir stark von vielen Drittanbieterkomponenten abhängig sind. Ich habe versucht, die Machbarkeit mit fast allen auf dem Markt verfügbaren Werkzeugen zu überprüfen. Die beiden wichtigsten Tools im Markt waren nutzlos.

  1. QTP mit Delphi-Addon ist nutzlos, sogar auf der Website haben sie offen gesagt, dass es nicht viele in Delphi erstellte Klassen unterstützen wird.

  2. TestComplete ist besser als QTP, wo es viele Komponenten Menükomponenten erkennt und wenn ich mich richtig erinnere Raster etc.

Dann nach einigem googlen fand ich

  1. TestAnywhere, das mit Sicherheit die Bauelemente von Drittanbietern besser erkennen konnte. Das einzige Problem, das ich dabei fand, war, dass es Tlabel-Klassen nicht erkannte und einige Komponenten sich nicht erinnern, welche.

Wenn ich über die Erkennung von Komponenten spreche, kann es teilweise oder vollständig sein, dh einige Werkzeuge konnten erkennen, dass es eine Komponente an XY-Koordinaten gibt, aber nicht die Komponentenklassen oder Details (wie Komponenteneigenschaftenname usw.) erhalten Es war schwierig, ein Skript zu automatisieren und zu schreiben.

Ruhe alles war mehr oder weniger Kombination oder Teilmenge von diesen oben.

Suche immer noch !!!!!!!!!!!

    
user2056904 09.02.2013 11:15
quelle
1

Wenn Sie bei TestComplete Ihre App als eine offene App kompilieren, also ihre Bibliotheken einschließen, wird Ihre App superüberprüfbar. Ideal zum Testen, wahrscheinlich nicht für die Sicherheit. Test abgeschlossen war das Beste, es ist nur TOOOO teuer für mein Budget.

Das Scripting darin ist großartig, das Verständnis von Delphi ist großartig. Der Preis ist einfach nicht gut, besonders wenn Sie versuchen, GUI-Tests innerhalb einer Organisation zu testen, so wie es sich anhört.

    
Jason Chapman 01.07.2016 10:38
quelle