我需要测试,有多少css选择器出现在webseite上。 我只有大量的节点,这些节点符合我的条件。 当我计算数组中的行时,我得到“五”,但它应该是“三”
我的代码:
/**
* @Then /^I should see more then one css slider-selector "([^"]*)"$/
* @Then /^I should see more then one CSS slider-selector "([^"]*)"$/
*/
public function iShouldSeeMoreThenOneCssSliderSelector($css_selector) {
$nodes = $this->getSession()->getPage()->findAll("css", $css_selector);
$counter = 0;
foreach($nodes as $row){
if(!empty($row)) {$counter +=1;}
}
if($counter<2){
throw new \Exception(sprintf("The page '%s' does not contain enough pictures for slider '%s'", $this->getSession()->getCurrentUrl(), $css_selector));
}
}
但是当我查看html-source时,我只有三场比赛。 这段代码告诉我,我有5个机器。 我想,我没有正确测试。 有人有想法吗?
答案 0 :(得分:2)
请手动检查相同的选择器并调试方案以查看是否有其他事情发生,例如页面未加载,未导航到正确的页面或发生影响结果的其他事件。
对于找到的元素进行计数,可以使用count()方法而不是foreach循环。
\W?