Я только что обнаружил Laravel Dusk и написал первый тест, который должен был проверять текст на странице, но Laravel Dusk не видит мою страницу.
Test:
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:
aчасть .env.dusk.local
после удаления порта: (для Jonas Staudenmeir).
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:lypVdWwGkDn/R5L5PQ8tOUgfzf2WTzCSZU6GndMPuNM=
APP_DEBUG=true
APP_URL=http://127.0.0.1