我正在使用PHPUnit Selenium扩展在PHP中编写Selenium测试。
我知道如何在文本字段中输入内容:
$this->type('fieldName', 'value');
但如何从下拉菜单中选择一个选项?
答案 0 :(得分:12)
要扩展其他(准确)答案,您可以根据选项的标签,值,ID或索引进行选择。来自http://release.seleniumhq.org/selenium-core/1.0/reference.html的官方参考:
选择(selectLocator,optionLocator)
参数:
- selectLocator - 标识下拉菜单的元素定位器
- optionLocator - 选项定位器(默认为标签)
使用选项定位器从下拉列表中选择一个选项。
选项定位器提供了指定HTML Select元素选项的不同方法(例如,用于选择特定选项,或用于断言所选选项满足规范)。有几种形式的选择选项定位器。
- 标签 = labelPattern :根据标签(即可见文字)匹配选项。 (这是默认设置。)
- 标记=正则表达式:^ [乌]疗法
- 值 = valuePattern :根据其值匹配选项。
- 值=其他
- id = id :根据其ID匹配选项。
- ID =选项
- 索引 = index :根据索引(偏离零)匹配选项。
- 索引= 2
如果未提供选项定位器前缀,则默认行为是在标签上匹配。
答案 1 :(得分:2)
//note that it's the option text not value
$this->select('selectName', 'LabelText');
答案 2 :(得分:2)
$this->select("selectFieldIdentifier", "label=Option label");