1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. RWarnecke

Beiträge von RWarnecke

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • RWarnecke
    • 10. April 2016 um 14:40
    Zitat von Andy

    Um das nochmal deutlich zu machen, wir würden SEHR GERNE WEITERHELFEN!

    Das finde ich ja auch gut, danke dafür. Ich werde vielleicht das eine oder andere Mal noch auf eure Hilfe zurückkommen.


    Zitat von Andy

    Und damit du begreifst um was es geht: Um WELCHE Aktion im Kontextmenü welcher Anwendung geht es?

    Es geht um die Software JTL-Wawi, wie ich weiter oben schon geschrieben habe und da explizit um die Angebotsverwaltung für Amazon. Dazu muss erst ein Abgleich mit Amazon durchgeführt werden. Danach alle Datensätze der Angebotsverwaltung markiert werden und dann über das Kontextmenü der neue maximale Warenbestand in der JTL-Wawi gesetzt werden. Das als kurze Erklärung.

    Ich habe mich dagegen entschieden, dass Thema weiterzuverfolgen, da selbst ein einfacher manueller Mausklick in die Tabelle der Angebotsverwaltung um einen Datensatz auszuwählen zwischen sofort und bis zu einer Minute dauern kann. Dadurch das das alles so instabil läuft, ist mir das Risiko zu groß, dass das AutoIT Script nach längerer Laufzeit irgendein Bockmist baut und ich dafür verantwortlich gemacht werde.

    Nochmals danke für die Hilfe und die vielen Antworten.

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • RWarnecke
    • 10. April 2016 um 13:47

    Hallo zusammen,

    ich danke euch für eure Antworten. Mir ist selber klar, dass die Konstellation und so wie die Anwendung derzeit arbeitet, nicht das gelbe vom Ei ist.

    Zur Erklärung, in der angesprochenen Tabelle sind über 10000 Datensätze drin und mit STRG+A werden alle markiert, weil dann mit dem Menüpunkt aus dem Kontextmenü eine Aktion ausgeführt werden soll auf alle Datensätze.

    Ich selber habe mittlerweile nach noch zusätzlicher Recherche im Internet mich dazu entschieden, das Thema nicht weiter zu verfolgen, da mir die Umgebung wo die Anwendung läuft zu instabil ist. Danke für eure Hinweise, die werde ich auf jeden Fall beim nächsten Mal beachten.

    Habe wieder einiges dazu gelernt.

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • RWarnecke
    • 9. April 2016 um 16:26
    Zitat von Xorianator

    Dein Sleep ist auf 5 Minuten bemessen, deshalb fragte ich ja warum 5 Minuten. Aber wenn er es nicht drückt, wieso sollte er den Befehl dann überspringen?

    Ich gehe im Moment davon aus, dass der Sleep-Befehl nicht greift, weil die Anwendung in den Status "Keine Rückmeldung" geht nach dem STRG+A und deswegen das AutoIT Script ins Schwanken kommt. Denn selbst nach mehr als 5 Minuten kommt kein Kontextmenü. Deswegen auch meine Annahme, dass er die Befehle für das Kontextmenü früher oder garnicht ausführt. Mir ist klar, dass ich ein Timing Problem habe, weil das AutoIt Script für die Anwendung zu schnell ist oder weil die Anwendung durch das Blocken (Keine Rückmeldung) das Script ins Schwanken bringt.

    Zitat von Xorianator

    Kurze Frage am Rande: Wie gut sind deine AutoIt Kenntnisse?

    Ich habe AutoIT vor längerer Zeit mal für ein paar kleine Sachen benutzt. Dort waren es nur ein paar Message Boxen und ein paar Befehle die ausgeführt worden sind.

    Zitat von misterspeed

    Welche Anwendung soll überhaupt automatisiert werden?

    JTL-Wawi von JTL-Software.

    Zitat von misterspeed

    Außerdem bieten viele Programme Schnittstellen zur Automatisierung (z.B. COM Objekte, API, Kommandozeile). Sollte letzteres vorhanden sein ist das allen anderen Lösungen vorzuziehen, da die Schnittstelle genau hierfür konzipiert wurde ...

    Für den Vorgang gibt es meines Wissens keine Schnittstelle und auch keinen Automatismus seitens der JTL-Wawi. Letzteres wurde beim Support auch angefragt und dieser hat es verneint.

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • RWarnecke
    • 9. April 2016 um 15:52
    Zitat von Xorianator

    Also dass er den Sleep Befehl überspringt, das bezweifle ich mal ganz stark (oder du hast nen anderen Code als wir).

    Ich gehe davon aus, dass er den Sleep-Befehl überspringt, da er den Rechtsklick mit der Maus und 5 mal die Cursor-Taste nach unten nicht drückt. Denn In Zeile 17 endet erstmal das Script. Das heißt er müsste mir dann ja das Kontextmenü anzeigen und ein Menüpunkt müsste ausgewählt sein oder sehe ich das Falsch ?

    Zitat von Xorianator

    Kurze Frage: Warum 5 Minuten Sleep?

    Weil das die maximal gemessene Zeit war, bis in der Tabelle alle Datensätze markiert waren von dem Befehl STRG+A

    Ich habe die Vermutung, dass das AutoIT-Script deswegen nicht sauber läuft, weil die Anwendung immer wieder den Status "Keine Rückmeldung" gibt oder nur die Sanduhr zu sehen ist und sonst weiter keine Aktion. Habt Ihr eventuell ähnliche Erfahrungen gemacht ?

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • RWarnecke
    • 9. April 2016 um 15:03
    Zitat von Bioshade

    Zu deiner Zeile 13 lässt sich nichts sagen, außer dass du da halt mal eben gar nicht wartest, was eine Antwort durch das Programm recht schwierig macht.

    Ich habe in Zeile 13 zum Test einen Sleep(300000) reingesetzt. Leider überspringt er den Sleep-Befehl und macht dann mit Zeile 15 weiter. In Zeile 9 bis 11 wird mit der linken Maustaste eine Zeile markiert und dann mit STRG+A sollen dann alle Zeilen markiert werden.

    Zitat von Bioshade

    Dein Problem ist vermutlich, dass dein Script zu schnell ist. Oder anders formuliert: Du solltest vor deiner Zeile 3 warten, bis das Fenster erstmalig erscheint. Beispielsweise mit WinWaitActive oder WinWait. Dann sollte dein Code zuverlässig abwarten, bis das Fenster "Datenabgleich" wieder geschlossen ist.

    Danke für den Tipp, ich werde laufe der nächsten Woche den Befehl WinWaitActive und WinWait testen und dann hier berichten.

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • RWarnecke
    • 9. April 2016 um 14:24

    Danke erstmal für Deine Antwort. Hier der Teil des Scripts, der am meisten Probleme bereitet :

    AutoIt
    ; Den Abgleich starten
       Send("{SPACE}")
       ; Hier gibt es das Problem mit der Antwortzeit
       ; Warten bis Abgleich fertig ist
       while WinExists("Datenabgleich")
    	  sleep(200)
       WEnd
       ; Alle Datensätze markieren
       MouseMove(273, 209)
       MouseClick("left", 273, 209)
       Send("^+A")
       ; Warten bis alle Datensätze markiert sind
       ; Hier gibt es das Problem mit der Antwortzeit
       ; Kontextmenü aufrufen
       MouseMove(273, 209)
       MouseClick("right", 273, 209)
       Send("{DOWN 5}")
    Alles anzeigen

    In Zeile 3 wird nach dem Space ein Statusfenster angezeigt. Das Script soll erst weitermachen, wenn das Fenster geschlossen ist (Wird automatisch von der Anwendung geschlossen). Wenn ich in Zeile 3 ein Sleep setze passiert es aber trotzdem, dass er manchmal schon mit Zeile 8 weitermacht. Das gleiche passiert in Zeile 13. Ist hier ein Sleep drin, wird in manchen Fällen einfach mit Zeile 15 weitergemacht.

    An beiden Stellen kann es passieren, dass die Anwendung auch mal den Status "Keine Rückmeldung" zurückgibt und dann Befehle aus dem Script einfach trotzdem ausgeführt werden, aber keinen Effekt zeigen, wenn die Anwendung wieder aktiv ist.

  • Unterschiedliche Antwortzeiten der Anwendung dadurch sporadische Ausführung

    • RWarnecke
    • 8. April 2016 um 13:52

    Hallo zusammen,

    ich habe ein AutoScript geschrieben, was nur sporadisch sauber durchläuft. Es liegt daran, dass die Anwendung an verschiedenen Stellen immer unterschiedliche Antwortzeiten hat, bis die Aktion ausgeführt wird oder die Anwendung eine entsprechende Antwort gibt.

    Welche Möglichkeiten ausser über WinExists habe ich noch um auf Aktionen zu warten ?
    Kann ich abfragen, ob der Mauszeiger gerade eine Sanduhr ist oder ob in der Titelzeile der Anwendung die Meldung (Keine Rückmeldung) drin steht ?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™