用selenium2 + phpunit选择一个选项

时间:2013-06-18 12:10:49

标签: select selenium phpunit option

我有一个看起来像这样的选择元素,现在我想打开它并选择值为t3的选项,所以我尝试了这样:

<select id="selectMenu">
<option value="">&nbsp;</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。

5 个答案:

答案 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');

另见other question

答案 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');