Я только что обнаружил Laravel Dusk и написал первый тест, который должен был проверять текст на странице, но Laravel Dusk не видит мою страницу.
Тестовое задание:
namespace Tests\Browser;
use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;
class FirstTest extends DuskTestCase
{
public function testExample()
{
$this->browse(function (Browser $browser) {
$browser->visit('/')
->assertSee('Laravel');
});
}
}
А также $browser->visit('/')
проверка прошла успешно, но $browser->visit('/')
проверка не удалась.
->assertSee('Laravel');
В каталоге tests/Browser/Screenshots
Я нашел скриншот той страницы, которая содержит No input file specified
часть файла .env
:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:lypVdWwGkDn/R5L5PQ8tOUgfzf2WTzCSZU6GndMPuNM=
APP_DEBUG=true
APP_URL=http://127.0.0.1
После добавления файла .env.dusk.local
который содержит:
APP_URL=http://127.0.0.1:9519
(Как указано в Laravel Dusk
вручную, порт должен соответствовать указанному в DuskTestCase.php
)
tests/Browser/screenshots/failed-test-*
содержит: command:
Текст ошибки:
Time: 2.58 seconds, Memory: 12.00MB
There was 1 failure:
1) Tests\Browser\FirstTest::testExample
Did not see expected text [Laravel] within element [body].
Failed asserting that false is true.
/home/vagrant/code/homestead_test/vendor/laravel/dusk/src/Concerns/MakesAssertions.php:400
/home/vagrant/code/homestead_test/vendor/laravel/dusk/src/Concerns/MakesAssertions.php:371
/home/vagrant/code/homestead_test/tests/Browser/FirstTest.php:18
/home/vagrant/code/homestead_test/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:67
/home/vagrant/code/homestead_test/tests/Browser/FirstTest.php:19
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
Извините за мой английский =)
UPD:
часть .env.dusk.local
после удаления порта: (для Йонаса Штауденмейра).
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:lypVdWwGkDn/R5L5PQ8tOUgfzf2WTzCSZU6GndMPuNM=
APP_DEBUG=true
APP_URL=http://127.0.0.1
Решаемые. Я изменился .env.dusk.local
(был установлен домен виртуального хоста), и он работает.
например APP_URL=http://homestead.test
Особая благодарность @Jonas Staudenmeir
Если тест не пройден на столе laravel, он выдал мне случайную страницу phpmyadmin на странице со скриншотом. Он должен дать мне страницу, на которой выдает ошибку. Пожалуйста, смотрите страницу ниже.
Кликните сюда.