Мне нужно проверить, сколько css-селекторов появляется на веб-сайте. Я geht только огромный массив с узлами, которые соответствуют моему состоянию. Когда я подсчет строк в пределах массива, я получаю «пять», но schould быть «три»Behat MinkExtension traversing, counting css-selectors
Моего кода:
/**
* @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-источнике, у меня есть только три матча. Этот код говорит, что у меня 5 мачт. Я думаю, я не правильно тестирую. Есть идеи?
О, я очень сожалею. Я выглядел вручную в исходном коде в полном исходном файле, и он появляется пять раз. Раньше я только смотрел там, где я ожидал этого селектора. –
Отличный ответ. Легко и правильно работает. – kwoxer