Frage

Ich bin auf der Suche nach Informationen [Ich zögere, „Best Practices“ schließen] für die Automatisierung von Anwendungen. Ich beziehe mich speziell auf das zu ersetzen, die durch traditionelle manuelle Mittel vorhersagbar wiederholbar ist [die Menschen den GUI Manipulation] mit etwas, das vom Nutzer geplant und durchgeführt wird „Automatisch“.

Wir AutoIT verwenden intern für Automatisiertes Testen führen und den gleichen Ansatz für die Bereitstellung von unbeaufsichtigte Verarbeitung unserer Anwendungen in Betracht gezogen, aber wir sind durch die Möglichkeit des Benutzers nur ungern „versehentlich“ die Interaktion mit der Anwendung parallel mit der Ausführung einer geplanten „Automatisierung“ und damit „brechen“ die Automatisierung.

Shy des Gebäudes in unserem eigenen Scheduler mit bekannten Ereignissen und festen Argumenten für einen vordefinierten Satz von Aktionen zu steuern, welche Ansätze soll ich beurteilen / betrachten und welche Werkzeuge erforderlich wäre?

Weitere Informationen: Einige diese Fähigkeit als „Stapelverarbeitung“ im Anwendungskontext beziehen würden.

War es hilfreich?

Lösung

In der Regel ist es eine gefährliche Praxis UIs zu automatisieren. Es kann ein nützliches Hack für ein kurzfristiges Problem sein: Ich finde mich AutoHotKey mit einigen lästigen Aufgaben in einigen Situationen laufen ... aber nur, wenn die Aufgabe nicht würdig Code zu schreiben um die Änderung (dh ein einmaligen zu implementieren, 15 Minuten Aufgabe).

Andernfalls werden Sie wahrscheinlich leiden unter inkonsistent läuft aufgrund laggy Reaktion einiger Bildschirme, inkonsistente UIs usw. Die meisten Anwendungen haben eine API zur Verfügung, und mit nicht viel schmerzhafter als den Erwerb und die Verwendung dieser in 99 sein wird % der Fälle.

In der unglücklichen, aber möglichen Situation, dass es keine UI ist und Sie auf Screen Scraping / Manipulieren reduziert, ein Werkzeug, das automatisierten Test durchführt, ist wahrscheinlich so gut wie Sie erhalten. Es ermöglicht Ihnen, verifizieren der Zustand der App (bis zu einem gewissen Grad), und somit können einige Sicherheitsnetze in bauen. Außerdem habe ich einen Arbeitsplatz zu dieser Aufgabe widmen würde ... mit der Tastatur und Maus gesperrt weg von neugierigen Nutzer. (A Remote-Desktop oder VNC Stil Verbindung funktioniert gut für diese. Sie aus dem Prozess und trennen treten können, ist es resistent machen Manipulationen)

Allerdings würde ich diesen Ansatz betrachtet nur als verzweifelter letzten Ausweg. ein API Manipulieren weit ist, weit, weit, weit (habe ich genug bekommen „fars“ da drin?) nachhaltiger zu gestalten.

Andere Tipps

Wenn ich richtig verstehe, wollen Sie automatisieren Sie Verarbeitung mit etwas Werkzeug, das eine vordefinierte Liste von Aktionen in einem bestimmten Software-System ausgeführt wird. Da dies unterscheidet sich von automatisierten Test .

Ich möchte Sie bitten, für die Prüfung soll mit Werkzeugen zu vermeiden Verarbeitung auszuführen. Viele große Software-Systeme haben öffentliche APIs Sie können Aktionen ohne Interaktion direkt Benutzer auszuführen. Dies ist eine viel robuste und zuverlässige Weise automatisierte Prozesse zu planen. Kontaktieren Sie den Hersteller der Software, die Sie mit arbeiten, manchmal sind die API auf Anfrage erhältlich.

Godeke und Dave ist absolut richtig, dass, wenn verfügbar, die API der beste Weg ist. Doch praktisch ist dies manchmal nicht möglich, und Sie müssen die GUI Automatisierung Weg gehen. Neben dem zuvor erwähnten dedizierten Arbeitsstation (en) die Automatisierung laufen, empfehle ich Codierung in einigen Audit-Trails, so dass es leichter zu debuggen oder Rückzieher, wenn Probleme auftreten. Batch-Verarbeitung Automatisierung sollte halten ein detailliertes Protokoll, was Datensätze verarbeitet wurden, wenn sie verarbeitet wurden und wie sie verarbeitet wurden. Sie sollten es so eingerichtet, dass die Datensätze selbst (in der nativen Anwendung) reflektiert, dass es über Automatisierung aktualisiert / bearbeitet. Zum Beispiel, wenn jeder Datensatz einen aktualisierbare Notizen / Kommentare Feld hat, soll die Automatisierung Text dieses Feld wie „durch Automatisierung Benutzer verarbeitet hinzufügen, 2009-02-25 10.05.11, Account Feld geändert von‚ABC123‘bis ' DEF456' “auf diese Weise, die automatisierten Mods für einen Benutzer ohne weiteres ersichtlich, manuell den Datensatz in der GUI nach oben ziehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top