Задать вопрос
@evster-coder
учусь, кажется

Не получается найти ссылку Laravel Dusk, что не так?

Хочу освоить Ларавель Даск и возникли проблемы в самом начале.
Не получается найти кнопку по id-шке на странице. Что я делаю не так?
Получаю ошибку:
NoSuchElementException: no such element: Unable to locate element:
 {"method":"css selector","selector":"body #content > #add-baseavto-btn"}


Вот отрывок из содержимого web.php:
Route::get('/baseavtolist', [BaseavtoController::class, 'baseavtolist'])->name('bases.list');
Route::get('/baseavtocreate', [BaseavtoController::class, 'baseavtocreate'])->name('bases.create');

Вот методы контроллера:
//страница для просмотра баз авто
    public function baseavtolist()
    {
        return view('baseavtolist');
    }

Вот собственно код теста - я пытаюсь найти кнопку с id=add-baseavto-btn и нажать на неё:
class AddBaseavtoTest extends DuskTestCase
{
    public function testAddBaseavtoSuccess()
    {
        $this->browse(function (Browser $browser) {
            $browser->visitRoute('bases.list')
                        ->click('#content > #add-baseavto-btn');
        });
    }
}

Отрывок вьюшки baseavtolist:
@section('content')
<main id="content">
	<div class="container">
        	<a class="btn btn-primary" id="add-baseavto-btn" href="baseavtocreate" role="button">Добавить</a>
	</div>
</main>
@endsection
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
delphinpro
@delphinpro Куратор тега Laravel
frontend developer
Во-первых, у вас кнопка не являеттся непосредственным потомком #content, потому и не находится. Убрать угловую скобку из селектора.

Во-вторых, если у кнопки есть идентификатор, то она по определению единственная на странице, а значит достаточно просто ->click('#add-baseavto-btn');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы