我有一个看起来像这样的选择元素,现在我想打开它并选择值为t3的选项,所以我尝试了这样:
<select id="selectMenu">
<option value=""> </option>
<option value="t1">test 1</option>
<option value="t2">test 2</option>
<option value="t3">test 3</option>
<option value="t4">test 4</option>
<option value="t5">test 5</option>
<option value="t6">test 6</option>
</select>
$this->byId('selectMenu')->click();
sleep(1);
$type = $this->elements($this->using('css selector')->value(option[value="t3"]'));
$type[0]->click();
现在这会打开菜单,但是它没有选择选项标签,我想使用select()而不是click()但是还不支持select(),或者至少这是我尝试时得到的消息使用该方法。我运行以下扩展PHPUnit_Extensions_Selenium2TestCase。
答案 0 :(得分:12)
它相对简单。
$this->select($this->byId('selectMenu'))->selectOptionByValue('t3');
这应该根据值选择selectbox的选项。使用PHPUnit Selenium 2 v1.3.3
答案 1 :(得分:2)
我发现我需要将PHPUnit_Extensions_Selenium2TestCase_Element
转换为PHPUnit_Extensions_Selenium2TestCase_Element_Select
:
PHPUnit_Extensions_Selenium2TestCase_Element_Select::fromElement($this->byId('selectMenu'))->selectOptionByValue('t3');
答案 2 :(得分:0)
$这 - &GT; byId( 'selectMenu') - &GT; selectOptionByValue( 'T3');
答案 3 :(得分:0)
使用值选择
$this->select($this->byName())->selectOptionByValue($value);
选择使用标签
$this->select($this->byName())->selectOptionByLabel($label);
答案 4 :(得分:-1)
您可以尝试使用
$this->select('css=#selectMenu','test 1');