2014-01-07 21 views
0

我想请从选择2下拉列表中选择,但我不能够做的测试选择2所以这是代码如何通过创业板

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()} 
页面

,并完成测试:(使用GEB 0.9看着我的一些创业板的测试,我设置选择2值,这样后:

when: 
selectLang='Akkadian' 
then: 
dropdownSelectedText=='Akkadian' 
selectLang.value()=='Akkadian' 

回答

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; 
     } 
    } 
1

编辑0.2):

在页面对象定义表单选择:

static content = { 
    myForm { $("form") } 
} 

然后在你的测试中,你可以像这样设置select2值:

myForm."language.id" = "4" 
+0

它不工作先生在创业板,我们不能提供命令这样你能提供一些其他的选项 – user3091180

+0

嗯..确定。看看我的一个测试,我在我的Page对象中声明了如下形式:myForm {$(“form”)}'。然后在我的geb规范中,我设置了select2的值:'myForm。“some.id”=“123”'。你可以试试吗? – rcgeorge23

相关问题