2016-07-21 7 views
0

I Robot Framework nativen Stichwort „Aus der Liste wählen“ Befehl, um eine Option zu wählen bin versucht, aber es wird mit der Fehlermeldung fehlgeschlagen:Robot Framework „Aus der Liste wählen“ Befehlsfehlern

HTML-Seite Quelle:

<select id="reason" placeholder="Please select" style="width: 100%; display: none;" class="m-b-xs" data-role="combobox" aria-disabled="false" aria-readonly="false"> 
<option value="a">Assume</option> 
<option value="b">New</option> 
<option value="c">Renew</option> 
<option value="d">Purchase</option> 
<option value="e">Refinance</option> 
<option value="f">Reschedul</option> 
<option selected="selected" value="New">New</option> 
</select> 

ich benutzte Wert "annehmen" oder "a":

Choose Application Reason 
    Select From List xpath=//select[@id="reason"] Assume 

Test mit Fehlermeldung fehlgeschlagen wurde:

INFO : Selecting option(s) 'Assume' from list 
'xpath=//select[@id="reason"]'. 
..... 
FAIL :ValueError: Option 'Assume' not in list 'xpath=//select[@id="reason"]'. 
INFO : Selecting option(s) 'a' from list 'xpath=//select[@id="reason"]'. 
..... 
FAIL : ValueError: Option 'a' not in list 'xpath=//select[@id="reason"]'. 

Aber wenn ich Wert ersetzen "Angenommen" mit Standard vale "Neu":

Choose Application Reason 
    Select From List xpath=//select[@id="reason"] New 

Test wurde bestanden.

Kann jemand die Hilfe tun? Danke voraus.

Antwort

4

Ich hatte ähnliche Probleme mit ausgewählten Dropdowns und ich habe das versucht und für mich gearbeitet.

click element xpath=//select[@id="reason"] 
wait until element is visible xpath=//option[contains(text(),'${label}')] 
click element xpath=//option[contains(text(),'${label}')] 

Wenn Sie einen statischen Wert aus der Liste auswählen möchten.

click element xpath=//select[@id="reason"] 
click element xpath=//select/option[0] 

Sie auch gleich Text verwenden können,

click element xpath=//option[text()='${label}')] 

leer zu ignorieren,

click element xpath=//option[normalize-space(text())='Assume'] 
0

Ich denke, es hat funktioniert als neu eine Standardoption ist. Für mich funktioniert das Stichwort "Select from List by Value" besser. Versuchen:

Select From List by Value xpath=//select[@id="reason"] a 

Wenn es nicht funktioniert - ich habe einen Fehler mit einem Elemente Zustand haben - add-Element klicken, bevor Sie aus der Liste auswählen:

Click Element xpath=//select[@id="reason"] 
Select From List by Value xpath=//select[@id="reason"] a 
0

Etikett verwendet werden soll, bedeutet der Text

z

Select From List By Label xpath=//select[@id="reason"] Assume 
0

Andere Alternative durch die Verwendung Index

Select From List By Index xpath=//select[@id="reason"] 1 
0

Ich glaube, Sie von Wert auswählen sollten:

select from list by value  xpath=//select[@id="reason"]  a