0

Ich bin gerade dabei, einige Texteditor-Funktionalität zu testen, und ich muss Text in mein Textfeld mit Zeilenumbrüchen eingeben und ich habe keine Ahnung, wie dieses Verhalten zu simulieren.Robot Framework - Eingabe Text mit Zeilenumbrüchen

Was ich suche ist so etwas wie:

Input Text ${locator} "text with linebreak \n" 

Oder wie Eingabe von Text in mehrere Zeilen aufgeteilt?
Wenn ich will, statt dies:

Input Text ${locator} Such a long text to input that cannot even fit on my computer's monitor size 

dies tun, teilen Sie diese Eingabe von Text in mehrere Zeilen:

Input Text ${locator} Such a long text to input that cannot + 
         + even fit on my computer's monitor size 

Vielen Dank für alle Ideen.

+0

Es scheint kein' selenium'/'Selen-webdriver' bezogenes Problem wie in reinen' Python zu sein + selen' das funktioniert genau so wie '.send_keys (" erste Zeile \ n zweite Zeile ")' ... – Andersson

+0

probiere 'Taste drücken' drücke einen enter und du kannst weiter tippen? –

Antwort

-1

Sie im Python insterested werden textwrap module:

In [1]: import textwrap 

In [2]: s = "I am not rambling. " * 10 

In [3]: textwrap.wrap(s, 80) 
Out[3]: 
['I am not rambling. I am not rambling. I am not rambling. I am not rambling. I am', 
'not rambling. I am not rambling. I am not rambling. I am not rambling. I am not', 
'rambling. I am not rambling.'] 

Es spaltet elegant (zwischen den Wörtern) einen langen Text in einer Liste von Strings von 80 Zeichen max (in diesem Beispiel ist konfigurierbar). Dann müssen Sie nur noch diese Zeichenfolgen mit einem Zeilenumbruch zwischen jeder beitreten:

"\n".join(textwrap.wrap(s, 80)) 

NB: Da es sich um eine reine Python-Lösung ist, ist es nicht in Robot Framework verwendbar sein kann, das weiß ich nicht.

+0

Und es funktioniert, wie es String mit einer Bruchkante trennt, habe ich Recht? –

+0

@ PetrBečka Ich habe die Antwort bearbeitet, um Details hinzuzufügen – Tryph

1

Verwenden Sie Press Key Stichwort aus Selenium2Library wie folgt, wo Sie eine neue Zeile möchten, dann können Sie weiter tippen.

Press Key $ {Textarea} \ 13 `

0

Diese

für mich zu arbeiten scheint
*** Test Cases *** 
SomeRandom 
    Open Browser   http://www.textfixer.com/tools/remove-line-breaks.php 
    Input text    id=oldText Vivi is trying to enter \n can he do that? \n I think so \n lets try 
+0

Und wie können Sie Eingabefeld, um Text hinein? –

+0

Hier gebe ich nur ein Beispiel. – Vivi

+0

here id = oldText ist der $ {locator} wo Sie den Text eingeben möchten. Sie können den Locator bekommen, indem Sie die Webseite überprüfen. Ich würde Firepath oder Firebug (für Mozilla) vorschlagen. – Vivi

Verwandte Themen