6

我正在使用 PHPUnit Selenium 扩展在 PHP 中编写 Selenium 测试。

我知道如何在文本字段中输入内容:

$this->type('fieldName', 'value');

但是如何从下拉菜单中选择一个选项?

4

3 回答 3

12

要扩展其他(准确)答案,您可以根据选项的标签、值、id 或索引进行选择。来自http://release.seleniumhq.org/selenium-core/1.0/reference.html的官方参考:

选择(选择定位器,选项定位器)

论据:

  • selectLocator - 标识下拉菜单的元素定位器
  • optionLocator - 选项定位器(默认为标签)

使用选项定位器从下拉列表中选择一个选项。

选项定位器提供了指定 HTML Select 元素选项的不同方式(例如,用于选择特定选项,或用于断言所选选项满足规范)。选择选项定位器有多种形式。

  • label = labelPattern:根据标签匹配选项,即可见文本。(这是默认设置。)
    • 标签=正则表达式:^[Oo]其他
  • value = valuePattern:根据选项的值匹配选项。
    • 价值=其他
  • id = id:根据 id 匹配选项。
    • id=选项1
  • index = index:根据其索引(从零偏移)匹配选项。
    • 指数=2

如果未提供选项定位器前缀,则默认行为是匹配标签。

于 2010-05-12T16:48:05.593 回答
2
//note that it's the option text not value
$this->select('selectName', 'LabelText');
于 2010-05-12T15:18:12.007 回答
2
 $this->select("selectFieldIdentifier", "label=Option label");
于 2010-05-12T15:58:34.857 回答