Laravel Dusk test click() не работает

Я пытаюсь запустить несколько тестов в проекте Laravel, но даже самые простые тесты не работают.

Конфигурация:

  • Ларавель 5.5
  • Сумерки для тестов
  • MacOS Высокая Сьерра
  • PHPStorm

Я хочу протестировать страницу входа.

Прежде всего, я знаю, что должен добавить атрибут к <button> в resources->views->forms->user->login.blade.php:

Источник: Документ Laravel Dusk

Мой код:

<div class="submit-button-container">
    <button class="button" dusk="login-button">Connexion</button>
</div>

Затем я создаю файл LoginTest.phpfile:

<?php

namespace Tests\Browser;

use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;

class LoginTest extends DuskTestCase
{
    /**
     * @throws \Exception
     * @throws \Throwable
     */
    public function testExample()
    {
        $this->browse( function (Browser $browser) {

            $browser->visit('se-connecter') //login page
                    ->click('@login-button'); //click the login button
        });
    }
}

Когда я запускаю командную строку php artisan dusk, я получаю эту ошибку:

нет такого элемента: не удалось найти элемент: {"method":"селектор CSS","селектор":"body [dusk="login-button"]"}

МОЙ ВОПРОС:

  • Как определить селектор, как показано в сообщении об ошибке?

person user5482698    schedule 08.01.2018    source источник
comment
Вы уверены, что тестируете на правильной странице/адресе?   -  person Set Kyar Wa Lar    schedule 17.01.2018
comment
Вы проверяли скриншот?   -  person REI    schedule 22.05.2019


Ответы (1)


Вы пробовали ->assertMissing('@login-button') просто убедиться, что сумерки видят этот элемент. Может быть, это могло бы дать представление о том, где проблема. Или вы не можете быть на той же странице.

Посмотрите в папке скриншотов. Это не выход, но, по крайней мере, он поможет вам найти выход.

person mathews opemba    schedule 17.05.2020