如何确保定义属性并定义方法

时间:2017-06-23 07:00:49

标签: facebook selenium webdriver phpunit selenium-chromedriver

我目前正在尝试用facebook webdriver编写测试。我正在尝试使用selectByValue,但是我收到错误“PHP致命错误:调用未定义的方法RemoteWebElement :: selectByValue()”

这是当前的片段

 $selectClickButtonfirst = $this
     ->webDriver
     ->findElement(WebDriverBy::id('resultsPerPage'));
 $selectOptions = $selectClickButtonfirst->findElement(
     WebDriverBy::tagName('option')
 );
 $selectOptions->selectByValue('5')->click();

1 个答案:

答案 0 :(得分:0)

那是因为方法findElement()返回的WebDriverElement没有这样的能力。

如果您想使用selectByValue<option>内选择<select>,则必须构建WebDriverSelect WebDriverElement传递目标实例作为参数。您可以在测试文件中看到constructionusage

我相信最终代码看起来应该像:

$selectClickButtonfirst = $this->webDriver->findElement(WebDriverBy::id('resultsPerPage'));
$select = new WebDriverSelect($selectClickButtonFirst); // assuming previous returns <select>
$select->selectByValue('5');