Selenium: 如何从下拉菜单中选择选项?

6

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

我知道如何将文本输入到文本框中:

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

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


1
小技巧:您始终可以使用 Selenium IDE(Firefox扩展)记录测试或部分测试,并使用“文件”->“导出测试用例为...”-> PHP Selenium RC将记录的测试转换为PHP。 - ts.
3个回答

12

除了其他(正确)的答案,您可以根据选项的标签、值、ID或索引进行选择。请参阅官方参考文献:http://release.seleniumhq.org/selenium-core/1.0/reference.html

select(selectLocator, optionLocator)

参数:

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

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

选项定位器提供了指定 HTML Select 元素选项的不同方式(例如,选择特定选项,或断言所选选项是否满足某个规范)。有几种形式的Select Option Locator。

  • label=labelPattern:根据标签匹配选项,即可见文本。 (这是默认设置。)
    • label=regexp:^[Oo]ther
  • value=valuePattern:根据值匹配选项。
    • value=other
  • id=id:根据ID匹配选项。
    • id=option1
  • index=index:根据其索引(从零开始的偏移量)匹配选项。
    • index=2

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


你能发一下你找到这个的链接吗? - Andrew

2
//note that it's the option text not value
$this->select('selectName', 'LabelText');

2
 $this->select("selectFieldIdentifier", "label=Option label");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接