我想测试一个具有动态菜单结构的网站。我想遍历所有菜单项并在每个页面上运行相同系列的测试。我们正在谈论 100 多个定期更改的页面。
我想用 behat 或 codeception 来做到这一点。
有没有人知道如何做到这一点?
最佳答案
将 Behat 与 Mink 一起使用时,您可以使用 findAll() 获取菜单项,然后对其进行迭代:
/**
* @When /^I run my test series for all menu items$/
*/
public function iRunMyTestSeriesForAllMenuItems() {
$result = TRUE;
$this->getSession()->visit('http://www.example.com/');
$links = $this->getSession()->getPage()->findAll('css', '#menu ul li a');
foreach ($links as $link) {
$url = $link->getAttribute('href');
if (FALSE === $this->yourTestHere($url)) {
$result = FALSE;
}
}
return $result;
}
关于foreach - 对于每个带有 behat 或 codeception 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16500433/