У меня есть много элементов «h2» с «а» внутри. Все, что я хочу просто получить все «а» в «h2»phpunit selenium2 - выбрать несколько элементов
, когда я пытаюсь что-то вроде этого:
public function testBreakingNewsH2(){
$this->url('index.php');
$h2Elements = $this->byCssSelector('h2')->byCssSelector('a')->text();
$this->assertEquals('Breaking News', $h2Elements);
}
я получаю только первое «а» внутри «h2». мне нужно проверить, что ссылки все «h2» являются существует (получить все элементы «h2», который содержит «а») я пытался что-то вроде этого:
общественная функция testHomePgaeH2() {
$this->url('index.php');
$h2Elements = $this->elements($this->using('css selector')->value('h2'));
$this->assertContains('Breaking News', $h2Elements);
$this->assertContains('Analysis', $h2Elements);
$this->assertContains('Calendar', $h2Elements);
$this->assertContains('Studies', $h2Elements);
}
Это не работает, это лучший пример, который я нашел для своей проблемы. , конечно, я могу попробовать что-то вроде этого:
$this->assrtRegExp('/xxxx/i', $this->source());
, но я хочу сделать его чистым, насколько это возможно, не принимая все источник.
сообщите пожалуйста, спасибо.
спасибо. Возможно, вы знаете, как я могу проверить конкретное имя ссылки с assertContains, например, я хочу проверить, является ли «Ломать новости» ссылкой внутри h2 на моем сайте. проблема в том, что если я поставлю assertEqual в foreach, это приведет к сбою. когда я пытаюсь '$ this-> assertContains ('Breaking News', $ h2Elements); 'он говорит: Не удалось утверждать, что массив содержит 'Breaking News' – Dennis
Сделать массив: $ titles [] = $ element-> text(); (в foreach), затем выполните $ this-> assertContains («Breaking News», $ titles); – rNix
спасибо, я так глупо это потрясающе, я забыл, что могу использовать обычный php. – Dennis