2016-07-12 20 views
2

Ich automatisiere eine Webseite mit Robot Framework. Die Seite verfügt über ungewöhnliche Textfelder, die automatisch eingegeben werden (keine Platzhalterwerte), wenn eingegeben wird. Geben Sie ein, um ungültige Werte zu erhalten. HierRoboterrahmen Textfeld löschen und eingeben

ist das Textfeld:

<div class="bound_value"> 
 
\t <input id="ember475" size="5" type="text" class="ember-view ember-text-field"> 
 
\t <input id="ember476" type="checkbox" class="ember-view ember-checkbox"> 
 
</div>

ich versucht habe, mit Texteingabe Umgang sowie Press Key. Ich bin eher ein Anfänger-Programmierer, also bitte vergib mir meine Formulierung weiter.

  • Mit Eingabetext: das Verhalten war, als ob ich auf dem Feld angeklickt, den Inhalt gelöscht, drücken Sie die Eingabetaste und dann den Wert eingegeben.

  • Mit Drücken Sie die Taste das Verhalten war, als ob ich auf dem Feld in Eingabe gerade eingegeben hinzufügen geklickt Zusatz zu dem, was ich bereits enthalten war.

Element löschen Text + Drücken Sie die Taste arbeitete die gleiche Art und Weise wie Eingabetext.

Ich brauche eine Möglichkeit, auf das Textfeld klicken, um den Inhalt zu entfernen, auf nicht drücken Sie geben Sie, um Text einzugeben, dann drücken Sie die Eingabetaste.

Wie kann ich das mit RIDE Custom Libraries machen?

Vielen Dank im Voraus für Ihre Mühe.

Antwort

1

Dies könnte für Sie arbeiten:

*** Keywords *** 
Clear Field Of Characters 
    [Arguments] ${field} ${character count} 
    [Documentation] This keyword pushes the delete key (ascii: \8) a specified number of times in a specified field. 
    :FOR ${index} IN RANGE ${character count} 
    \ Press Key ${field} \\8 

Input Into Text Field 
    [Arguments] ${field} ${text} 
    [Documentation] Keyword is just an input text keyword. That clears the text field dynamically. 
    ${field text}= Get Value ${field} 
    ${field text length}= Get Length ${field text} 
    Clear Field of Characters ${field} ${field text length} 
    Press Key ${field} ${text} 

Der Teil, dass diese doesn‘ t do würde eingeben in das Feld eingeben, sobald der gesamte Text eingegeben wurde. Sie können das unten an das Ende anhängen oder haben es in einem separaten Anruf danach getan.

Press Key ${field} \\13 #I believe 13 is the ascii for carriage return, \n may work as well.