Applikation von TerminalServern / Messung für Maskenwechsel

  • Hallo AutoIT - Community,

    ich habe ein Problem und möchte euch um Rat bitten.
    Ich habe bisher relativ wenig Erfahrung im Bereich AutoIt und komme mit der momentanen Problematik nicht ganz zurecht.

    Was soll passieren?
    Die Aufgabe besteht darin, Performencemessung einer Software einer Drittfirma durchzuführen. Die Software wird über einen Terminal-Server bereitgestellt.

    Wo ist das Problem?
    Das Problem besteht darin, es sollen Maskenwechsel gemessen werden. Bedeutet:
    User X, Y gibt in Maske 1 Daten ein und bestätigt mit dem vorgesehenden Button.
    Ab jetzt läuft die Zeit bis die verarbeitung der Anfrage zuende ist und die nachfolgende Maske erscheint.

    Das AutoIT v3 Window Info sieht wie folgt aus.

    [Blockierte Grafik: http://i.imgur.com/P0vsN07.jpg]

    Jetzt komme ich zu meiner Frage:

    Gibt es eine Möglichkeit, auf ein Event zu reagieren oder sozusagen einen Respond?
    Ich habe bereits versucht mit WinActive die ganze Angelegenheit zu Prüfen aber der TITEL des Fensters bleibt immer gleich innerhalb der Anwendung.

    Da es sich um ein Drittprogramm handelt, kann ich nichtmal sagen, wie die Masken heißen oder wie sie kenntlich gemacht werden.
    So ein Tell me When ready Respond wäre ideal.

    Ich hoffe, ich konnte mein Problem deutlich genug Beschreiben.
    Falls noch etwas Unklar ist, bitte schreiben ich versuch es so gut es geht zu beantworten.

    Sonst ein Danke schonmal an Alle die Ihre Energie in mein Problem investieren :)

    EDIT:
    Die Applikation ist basierend auf JAVA.

    Mit Freundlichen Grüßen
    Schoto

    Einmal editiert, zuletzt von Schoto (4. März 2015 um 10:10)

  • Schade ! ;(

    Scheint wohl ein sehr merkwürdiges Problem zu sein was ich dort habe.
    Leider konnte ich es immer noch nicht lösen.

    Ich vermute ja sehr Stark, dass die Software grütze ist...

    Falls noch wem etwas einfällt ;D Ich bin für Ansätze sehr dankbar.

    Mit freundlichen Grüßen
    Schoto

  • Bei Java schaust Du immer in eine "Black Box", auch die AutoIt Window Info hat ja keine Daten.

    Die einzige Möglichkeit (die ich kenne ;) ) ist in so einem Fall, mit ImageSearch zu arbeiten.
    Suche Bildern vom Bildschirm, mach diese aber nicht zu groß, denn sonst findet ImageSearch (meiner Erfahrung nach) diese nicht besonders gut.

    Hoffe, es hilft ein bißchen...

  • Hallo! :)

    Die darf ich mir das mit ImageSearch vorstellen?
    Kannst du mir da ein kleines Beispiel für geben?

    @ Lottich. Da ist leider das Problem ich sehe wirklich 0 Komponenten in den Masken. Die Sogenannte "BlackBox" von der Zocker Udo spricht.

    EDIT:
    Ich glaube ich habs Verstanden! Ich nehme ein Bild Auf und lasse darauf schauen wenn er das Bild findet ist es soweit.!!!!!
    Das könnte helfen. Superklasse vielen Dank!

    Hab ich das richtig verstanden?? Also Vergleicht Bild mit aktuellem Screen? Wenn ja Gibt es den return value 1 zurück?
    Oder sucht er nach einem Bild in dieser Maske? Weil Bilder kann ich aus der Maske auch nicht erkennen :(

    Ich werde mich melden, sobald ich es umgesetzt habe.

    2 Mal editiert, zuletzt von Schoto (6. März 2015 um 12:37)

  • Ich hatte ein ähnliches Problem. Ich habe dann mit dem GIMP Screenshots gemacht und mit Imagesearch danach suchen lassen (Fenster muß im Vordergrund sein!!)
    Halte die Teilausschnitte des Bildschirms so klein wie möglich und mach BMPs. Das ist am Sichersten - nach meinen Erfahrungen.

    Ebenso enthält die UDF beim download einen "Fehler" - da muß vor jedem ByRef ein Leerzeichen eingefügt werden, sonst kommen Fehlermeldungen.

  • Also ich werde mich heute Abend an die Arbeit machen :)

    Wenn das so klappt bist du mein Held :)

    Ich werde mich melden sobald ich Success / Failure melden kann.

    MFG Schoto!

  • Hallo,

    ich glaube ich bin bei der Fehlermeldung auf die du mich hingewiesen hast.

    "C:\Program Files (x86)\AutoIt3\Include\ImageSearch.au3" (44) : ==> Subscript used on non-accessible variable.:
    if $result[0]="0" then return 0
    if $result^ ERROR

    Wie kann ich die beheben? :)

    EDIT: Habe Lehrzeichen für ByRef eingefügt daran liegt es wohl nicht :(

    Habe erlesen können es handelt sich wohl um die x64 und x86 Version des Runs des Scriptes

    Ich habe es zum Fliegen bekommen!

    Ich bedanke mich vielmals !!!!

    PS. Falls es wen interessiert ich lasse jetzt eine DO While Schleife solange nichts tun bis das Image gefunden wird bzw. das Ergebnis = 1 ist. Ab dann Mouse Move / Click etc.

    Funktioniert perfekt!

    3 Mal editiert, zuletzt von Schoto (6. März 2015 um 20:17)

  • Freut mich, wenn es klappt.
    Ich füge in die Do-Schleife meist noch ein
    MsgBox(0, "", "irgendein-Text", 1) ein, so erhalte ich zwischendurch immer wieder die Info, daß das Script "noch lebt" ;)