我有一个下拉菜单,其中包含有时是静态的,有时会更改的列表元素。我的主要目标是检查菜单是否包含一些内容[然后输出该内容并将其导出到报告中]。
我在FeatureContext.php中创建的函数如下所示:
/**
* @Then /^I check content exists for element "([^"]*)"$/
*/
public function iCheckElementContent($locator)
{
//check element exists on page
$element=$this->assertSession()->elementExists('css', $locator);
//check element content is not empty (returns exception if true)
if ( empty($this->getPage()->find('css', $locator)->getText()) ) {
throw new Exception;
}
}
您可以注意到,它基于对此功能的其他问题的回复。然而,我的问题是它似乎不喜欢getPage()
参数。我得到的错误是:
PHP Fatal error: Uncaught Error: Call to undefined method FeatureContext::getPage()
我也尝试将其更改为getValue(),但没有任何成功。有任何想法吗? (奖励真棒点也帮助我完成了我的要求的第二步)
答案 0 :(得分:0)
我认为我找到了一个解决方案,但我不确定它是否通过,因为它有效,或者因为它没有搜索任何内容并找到它。
$session = $this->getSession();
$element = $session->getPage()->find('css', $locator);
//check element content is not empty (returns exception if true)
if (empty ($element->getText()) ) {
throw new Exception;
}
有人可以代码审查一下吗?