Laravel Dusk 2.0 / Laravel 5.5 возвращает пустую страницу

Я занимаюсь обновлением своего веб-сайта Laravel 5.3 до 5.5 и не могу заставить Dusk правильно работать с моим локальным хостом. У меня есть другие модульные тесты, работающие правильно на моем локальном хосте, но по какой-то причине Dusk возвращает "<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body></body></html>" для любой локальной страницы. Локальные страницы работают нормально, просматривая их на моем рабочем столе.

Мой сумрак

protected function driver()
{
    $options = (new ChromeOptions)->addArguments([
        '--disable-gpu',
        '--headless',
        '--no-sandbox',
        '--ignore-certificate-errors'
    ]);

    return RemoteWebDriver::create(
        'http://localhost:9515',
        DesiredCapabilities::chrome()
        ->setCapability(WebDriverCapabilityType::ACCEPT_SSL_CERTS, true)
        ->setCapability('acceptInsecureCerts', true)
        ->setCapability(
            ChromeOptions::CAPABILITY, $options
        )
    );
}

Мой образец теста

public function testBasicExample()
{
    $this->browse(function (Browser $browser) {

            $result = $browser->visit('http://localhost');
            $browser->screenshot('test');
            $browser->dump();
    });
}
  • драйвер Chrome отлично работает, вызывая google.com и выгружая содержимое
  • жестко запрограммировал URL-адрес localhost для тестирования
  • страница http, а не https
  • попробовал php artisan serve перед вызовом test, результат тот же
  • попробовал очистить кеш / конфигурацию
  • создал .env.dusk.local файл, похоже, не повлиял на него
  • chromedriver -v - это ChromeDriver 2.44.609551
  • пробовал 127.0.0.1 без кубиков

person David Nguyen    schedule 28.11.2018    source источник
comment
Попробуйте APP_URL=http://127.0.0.1:8000 в сочетании с php artisan serve.   -  person Jonas Staudenmeir    schedule 28.11.2018
comment
@JonasStaudenmeir только что попробовал, и по какой-то причине у него все еще есть пустые теги   -  person David Nguyen    schedule 28.11.2018
comment
Вы установили APP_URL в своем .env или .env.dusk.local файле?   -  person Jonas Staudenmeir    schedule 28.11.2018
comment
@JonasStaudenmeir У меня есть да для обоих, я также жестко кодирую URL-адрес в методе посещения только для здравомыслия, и он не работает, скручивание ip с портом возвращает ошибку подключения к базе данных - я подозреваю, что это потому, что я запускаю laradock it не может связываться с базой данных через соединение mysql, но он отлично подключается с помощью контейнера apache2   -  person David Nguyen    schedule 28.11.2018


Ответы (1)


Единственный способ заставить его работать:

public function testBasicExample()
{
    $this->browse(function (Browser $browser) {
        $browser->visit(env('APP_URL').'/home')
                ->assertSee('Laravel');
    });
}
person Fernando Castillo    schedule 30.05.2019