WEB-Seiten, Internationale Setups und vieles mehr: AGR\

theogott
Beiträge: 15
Registriert: So Feb 27, 2011 3:29 pm

WEB-Seiten, Internationale Setups und vieles mehr: AGR\

Beitragvon theogott » Mo Apr 18, 2011 4:56 pm

AGR\ erweitert die bisherigen Grenzen des ACMP AutoMATE auf WEB- und Office-Anwendungen. Nebenbei werden mit AGR\ an vielen Stellen beliebige Internationalisierungen möglich.

Man kann mit dem ACMP AutoMATE fast in jedem Befehl durch Verwendung der Suchpatterns 2 Internationalisierungen vornehmen, zum Beispiel:

Code: Alles auswählen

AFO\42\Deutscher Name||English name
Mit dem Befehl AGR\ kann man nun unbegrenzt viele Internationalisierungen umsetzen.
Zum Beispiel:

Code: Alles auswählen

AGR\42\Deutscher Name&OR:English name&OR:Spanisch nombre etc.
Es gibt bei AGR\ im Bezug auf die Patterns fast keine Beschränkungen wie unten zu sehen ist.

Wird AGR\zum Suchen von Buttons eingesetzt und nur eine begrenzte Anzahl Buttons stehen zur Verfügung, könnte man europäische Sprachen sogar mit einem FUZZY-Logic-Pattern erfassen:

Wenige Zeichen wie hier:

Code: Alles auswählen

AGR\42\Name&FUZZY:3
genügen oftmals um alle Dialekte einzuschliessen ( => in diesem Fall sind 3 Tippfehler erlaubt und das Wort wird trotzdem akzeptiert).

AGR\ ersetzt auch den ACMP AutoMATE -Befehl AFO\ in den Fällen, wo eine einfache und schnelle Suche benötigt wird, die so schnell wie möglich ausgeführt werden soll.

Dies ist zum Beispiel auf großen, sich ändernden HTML-Seiten oder in ASP-Anwendungen der Fall.

Da AGR\ intern eine andere Pattern-Engine benutzt wird, müssen hier andere Jokerzeichen und Wildcards verwendet werden als in den übrigen ACMP AutoMATE -Befehlen. Auch deshalb kann AGR\ in der Version 8.5 nicht mit der "gelben Liste" aufgezeichnet werden, sondern muss manuell codiert werden.

Die Syntax lautet etwa:

Code: Alles auswählen

AGR\[wartezeit in s|]Role\Name\Value\Number[\Flag][:Label]
Als Suchfenster wird intern das zuletzt lokalisierte Fenster eingesetzt.

Ob das gesuchte Element gefunden wurde, kann mit dem Befehl IIF\ (= If Instruction Failed)festgestellt werden.

Um mit AGR\ auf das Erscheinen eines Elementes auf einer WEB-Seite zu warten würde man so vorgehen:

Code: Alles auswählen

Beispiel: CAW\ieframe\theo BOP\www.fa2.de WSC\ SWP\12,2|775,932 HTV\$$MYW :Lab ' Fenster lokalisieren SCW\$$MYW AGR\42\Login IIF\ TDL\100 GOTO Lab EIF\ ' Fortfahren, wenn Element vorhanden ist MMV\
oder einfacher:

Code: Alles auswählen

:Lab TDL\120 ' Fenster lokalisieren SCW\$$MYW AGR\42\Login\\\:Lab ' Fortfahren wenn Element vorhanden ist MMV\
Bei der Befehlsausführung wird der aktuelle Punkt gesetzt und das gefundene Element in die Bildmitte gescrollt.

Das AGR\ verwendet anstelle der ACMP AutoMATE -Standard-Suchmuster diese weiterentwickelten Suchmuster:

Code: Alles auswählen

{&DOCAPS:} {&0:} {&DOCAPS:ExPE} -> Gross- Kleinschreibung beachten. {&OR:} {&1:} {Text1&OR:Text2} -> A oder B oder beides {&XOR:} {&2:} {Text1&XOR:Text2} -> A oder B {&AND:} {&3:} {Text1&AND:Text2} -> A und B Reihefolge egal {&ANDTHEN:} {&4:} {Text1&ANDTHEN:Text2} -> A dann B {&FUZZY:} {&5:} {{Text1}&FUZZY:[value]} -> ungefähr A {&TOLERANT:} {&6:} {{Text1}&TOLERANT:[value]} -> A zu min. X% {&NOT:} {&7:} {&NOT:{Text1}} -> Darf nicht vorkommen {&EXACT:} {&8:} {&EXACT:Text1} -> genau A (Ohne Grossklein) {&NOTEXT:} {&9:} {&9:} {&t:} - Always True {&f:} - Always False
Die einfachen Operatoren können beliebig oft wiederholt werden, also:

Code: Alles auswählen

{Text1&OR:Text2&OR:Text2&OR:Text2&OR:Text2... usw.}
Es gibt keine Beschränkung auf 2 Operatoren, wie bei den bisherigen ACMP AutoMATE -Suchmustern , also bei AFO\(?), STW\ etc.
Dadurch sind beliebig viele Internationalisierungen im gleichen Script denkbar.

Das {&EXACT:Text1}-Pattern ersetzt das ACMP AutoMATE Standard-Suchmuster "Text1&&" (&& am Ende).

Prinzipiell sind auch Verschachtelungen möglich, solange man die Klammern korrekt setzt,

Also zum Beispiel:

Code: Alles auswählen

{{{Text1&ORText2}&ANDTHEN:{Text1&ORText4}}&ANDTHEN:Text2}
Neu hinzugekommen ist der fortschrittliche "Tippfehler-Operator"
Beispiel:

Code: Alles auswählen

{Text1&FUZZY:5}


Die Zahl hinter dem "&FUZZY:" gibt an, wie oft man sich vertippen darf, so dass der Text trotzdem erkannt wird.

Ebenso neu hinzugekommen ist der "TOLERANT" Operator.
Hierbei wird ein %-Zahl angegeben, die die Wortähnlichkeit angibt, ab der Text der Bedingung entspricht oder nicht.

Beispiel:

Code: Alles auswählen

{Text1&TOLERANT:89}
Bei allen Operatoren kann jeweils das &DOCAPS: verwendet werden. Dadurch wird die jeweilige Klammerebene auf Gross/Klein-Schrift umgeschaltet, berücksichtigt dann also Gross- und Kleinschreibung.

Beispiele:

Code: Alles auswählen

' Ein Button mit der Beschriftung "Senden" soll lokalisiert werden, es genügt die Angabe eines Teils ' der Beschriftung um den Button zu lokalisieren STW\opusapp\ - nachricht|w30 GCW\0\3\#32770\*|w30 AGR\43\Sende MMV\ ' Der Button heißt "Senden" ohne Groß- Kleinschreibung zu unterschieden. ' Ein Button mit der Beschriftung "Senden" soll lokalisiert werden ' Würden wir hier auch nur "Sende" angeben (ohne "n") würde der Button nicht gefunden! STW\opusapp\ - nachricht|w30 GCW\0\3\#32770\*|w30 AGR\43\&EXACT:Senden MMV\ ' In diesem Beispiel wollen wir dass auch Gross- Kleinschreibung berücksichtigt wird. ' Dazu verwenden wir den "&DOCAPS: -Operator. ' Würden wir hier &EXACT:&DOCAPS:SEnden angeben als Parameter, würde der Button nicht gefunden! STW\opusapp\ - nachricht|w30 GCW\0\3\#32770\*|w30 AGR\43\&EXACT:&DOCAPS:Senden MMV\ ' Nun wenden wir uns einer WEB-Seite zu, sicherlich ein Haupteinsatzgebiet für AGR\ ' Hier suchen wir einen Text (Role 42), der die Worte "Hardware" und "Journal" enthält. ' Dabei achten wir nicht auf Gross-/Kleinschreibung CAW\ieframe\theo BOP\www.fa2.de WSC\ SWP\12,2|775,932 AGR\42\Hardware&AND:Journal MMV\ ' Allerdings würde im vorigen Beispiel auch ein Text "Journal der aktuellen Hardware" gefunden werden. ' das wollen wir nicht, daher nehmen wir den &ANDTHEN: Operator. ' Nun muss der zweite Term nach dem ersten im Text stehen! CAW\ieframe\theo BOP\www.fa2.de WSC\ SWP\12,2|775,932 AGR\42\manager&ANDTHEN:magazin MMV\

Diese Operatoren können auch aneinandergereiht werden, zum Beispiel wenn wir "Computer Partner News" suchen:

Code: Alles auswählen

CAW\ieframe\theo BOP\www.fa2.de WSC\ SWP\12,2|775,932 AGR\42\ompu&ANDTHEN:ner&ANDTHEN:ews MMV\ ' Oder auch mit Berücksichtigung der Gross- und Kleinschreibung im jeweiligen Term: AGR\42\ompu&ANDTHEN: &DOCAPS:ner&ANDTHEN:&DOCAPS:ews oder auch komplexer: AGR\42\{&DOCAPS:Computer&AND:{ompu&ANDTHEN:&DOCAPS:ner&ANDTHEN:&DOCAPS:ews}} ' Die AGR\Suchpattern kann man abkürzen, um Schreibarbeit zu sparen. ' Im Fall oben würde das so aussehen, wäre allerdigns schlechter verständlich. AGR\42\{&0:Computer&3:{ompu&4:&0:ner&4:&0:ews}}
Theo Gottwald
Selbständiger IT-Berater

ACMP AutoMATE Professional
Let the Robots do it for you.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast