【问题标题】:select a option with selenium2+phpunit使用 selenium2+phpunit 选择一个选项
【发布时间】:2013-06-14 15:31:20
【问题描述】:

我有一个看起来像这样的选择元素,现在我想打开它并选择值为 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。

【问题讨论】:

    标签: select selenium phpunit option


    【解决方案1】:

    比较简单。

    $this->select($this->byId('selectMenu'))->selectOptionByValue('t3');
    

    这应该根据值选择选择框的选项。使用 PHPUnit Selenium 2 v1.3.3

    【讨论】:

      【解决方案2】:

      我发现我需要将PHPUnit_Extensions_Selenium2TestCase_Element 转换为PHPUnit_Extensions_Selenium2TestCase_Element_Select

      PHPUnit_Extensions_Selenium2TestCase_Element_Select::fromElement($this->byId('selectMenu'))->selectOptionByValue('t3');
      

      另见other question

      【讨论】:

        【解决方案3】:

        $this->byId('selectMenu')->selectOptionByValue('t3');

        【讨论】:

          【解决方案4】:

          选择使用值使用

                $this->select($this->byName())->selectOptionByValue($value);
          

          使用标签选择使用

                $this->select($this->byName())->selectOptionByLabel($label);
          

          【讨论】:

            【解决方案5】:

            你可以试试

            $this->select('css=#selectMenu','test 1');
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2023-04-11
              • 1970-01-01
              • 1970-01-01
              • 2018-11-09
              • 2012-07-18
              • 2013-01-12
              • 1970-01-01
              相关资源
              最近更新 更多