Behat MinkExtension遍历,计算css选择器

时间:2016-08-02 14:09:23

标签: php testing behat mink

我需要测试,有多少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个机器。 我想,我没有正确测试。 有人有想法吗?

1 个答案:

答案 0 :(得分:2)

请手动检查相同的选择器并调试方案以查看是否有其他事情发生,例如页面未加载,未导航到正确的页面或发生影响结果的其他事件。

对于找到的元素进行计数,可以使用count()方法而不是foreach循环。

\W?