Как обрабатывать несколько элементов с одним и тем же классом в сумерках laravel

В моем тесте dusk я хочу сначала добавить, а затем удалить новости. Каждая новость имеет класс .delete-news, но на экране у меня есть несколько элементов. Каждый класс .delete-news имеет атрибут данных пути с идентификатором data-newsid="id". Теперь браузер не знает, какой класс удаления новостей он должен щелкнуть. Как мне с этим справиться?

Вероятно, мне следует взять класс delete-news с самым большим атрибутом data-newsid. Но я не знаю, как мне это проверить.

В настоящее время я удаляю это так:

public function testRemoveNews() {
    $this->browse(function ($browser) {
        $browser->visit('/')
                ->press('.delete_news')
                ->press('Yes')
                ->waitForText('News has been deleted!')
                ->press('OK')
                ->assertDontSee('Title of the news');
    });
}

person Martin    schedule 31.05.2017    source источник


Ответы (1)


Если вы сортируете свои новости по 'id' desc, возможно, вам стоит попробовать

->press('.delete-news:first') // or :nth-child(1)

или добавьте атрибут dusk к первому элементу новостей, например dusk="last-news", и вызовите его с помощью:

->press('@last-news')
person Daniel    schedule 22.05.2018