我正在尝试从select2 dropDown列表中选择选项,但我无法这样做这是代码
enter code here
<select id="addedLanguageId" class="input-large select2-me
select2-offscreen" name="language.id" style="width: 200px;"
tabindex="-1"> <option value="">Select a language</option> <option
value="1">Aboriginal Dialects</option> <option
value="2">Afrikaans</option> <option value="3">Ainu</option> <option
value="4">Akkadian</option> <option value="5">Albanian</option>
</select>`
我尝试了很多内容,例如$("form").language.id=["4"]
或在selectLang{$('#language.id')}
等页面中添加了代码,并在selectLang.value('20')
等测试中添加了代码。我使用了其他概念,如selectLang{$('#language.id')}
和
dropdownSelectedText {selectLang.find('option', value:selectLang.value()).text()}
在页面中并完成测试:
when:
selectLang='Akkadian'
then:
dropdownSelectedText=='Akkadian'
selectLang.value()=='Akkadian'
答案 0 :(得分:1)
编辑:在查看我的一些geb测试之后,我正在设置这样的select2值(使用geb 0.9.2):
在页面对象中为表单定义选择器:
static content = {
myForm { $("form") }
}
然后在测试中,您可以像这样设置select2值:
myForm."language.id" = "4"
答案 1 :(得分:0)
请试试这个。据我所知,这不是select2问题。我在下面写了硒测试。它适用于select和select2两者。
WebDriver driver=new FirefoxDriver();
driver.get("http://ivaynberg.github.io/select2/");
WebElement select=driver.findElement(By.id("e1"));
List<WebElement> options = select.findElements(By.tagName("option"));
for(WebElement option : options){
if(option.getText().equals("California")) {
option.click();
break;
}
}