2012-03-29 7 views
2

Ich mache Automatisierung mit Selen. Ich verwende DefaultSelenium Klasse, in unserer Anwendung habe ich ein Dropdown. Ich möchte einen Wert von diesem Dropdown erhalten.Auswählen von Werten im Dropdown-Menü mit Selen Selen.select ("", "")?

Zunächst ich mit Selen IDE Skript haben, gab es mir den Code wie:

selenium.select("id=skuOptionSIZE1c4b403", "label=8"); 

, aber wenn ich in Code (Java) Schreiben beginnen, wirft Eklipse einen Fehler, während ich noch in der Lage bin zu sehen Drop-Down-id auf der Seite vorhanden:

Exception in thread "main" com.thoughtworks.selenium.SeleniumException: ERROR: Element id=skuOptionSIZE1cd7bfd not found 

Kann jemand bitte helfen Sie mir, wie Sie sich die Werte von Tropfen zu bekommen?

Antwort

5

Wenn Sie Selen verwenden 2 aka WebDriver Ich würde es tun, wie folgt:

Select select = new Select(driver.findElemetn(/*Way to your drop down*/)); 
select.selectByValue("your value") 
//or 
select.selectByVisibleText("your Test"); 

//alternativly you can do something like this 
List<WebElement> options = select.getOptions(); 
//find your desired option 
select.selectByVisibleText(option.getText()); 

Hoffnung, das hilft.

0

Wenn Sie IE8 oder höher verwenden, drücken Sie F12 und verwenden Sie die Developer Tools dort. Besonders hilfreich sollte das Cursorsymbol sein, d. H. Element durch Klicken auswählen, mit dem Sie ein beliebiges Element auswählen und alle ihm zugewiesenen Attribute sehen können.

Wenn Sie Firefox 11 verwenden, gibt es ein ähnliches Werkzeug im Menü Web Developer. Oder verwende das Firebug-Addon, das stärker, aber komplexer ist.

Aber! Das Hauptproblem besteht darin, dass die ID von Zeit zu Zeit geändert wird. Es scheint automatisch generiert zu werden. Das bedeutet, dass Sie das Element auf andere Weise auswählen müssen. Sie können zum Beispiel selenium.select("id=skuOptionSIZE*", "label=8"); verwenden, oder finden Sie es durch XPath oder css selector.

0

Wenn Sie die WebDriver Unterstützung dll herunterladen, dann können Sie die folgende

SelectElement select = new SelectElement(element); 
select.SelectByIndex(8); //Where the number 8 is the base 0 index of the options 

So verwenden, wenn Sie 10 Optionen (0-9) SelectByIndex(8) die neunte Option zurückzukehren.

Verwandte Themen