Я хочу проверить каждый выбранный элемент div, но он проверяет только первый элемент выбора.
Это DOM:
<div>
<div>
<div>
<div class="select" [datetime="20190101"]>
<div class="data">{{data}}</div>
<div class="other"></div>
</div>
</div>
</div>
<div>
<div>
<div class="select" [datetime="20190102"]>
<div class="data">{{data}}</div>
<div class="other"></div>
</div>
</div>
</div>
<!-- and many of them -->
</div>
Это мое тестирование:
/** @test */
public function every_data_should_match()
{
$this->browse(function (Browser $browser) {
$browser->visit('/page');
$browser->whenAvailable('div.select', function ($div) {
$datetime = $div->attribute('div.data', 'datetime');
$expected_data = User::where('datetime', $datetime)->first()->data;
$data = $div->getAttribute('outerHTML');
$this->assertSame($expected_data, $data);
}
}
}
Должно быть много утверждений, но есть только одно, как это исправить, чтобы тестирование повторяло каждый div.select?
Каждый .select принадлежит разному родителю, поэтому яневозможно использовать .select: nth-child (n).