Laravel Dusk не работает под управлением прокси

Обзор проблемы

Я пытаюсь начать работу с Laravel Dusk, однако не могу заставить его работать правильно. На основе обратной связи от того, когда я запускаю его в консоли и некоторые поиски Google а также тот факт, что я испытывал те же проблемы с аналогичным пакетом до того, как Dusk был выпущен, я предполагаю, что проблема заключается в том, чтобы быть за прокси на моем рабочем месте. Я, конечно, могу ошибаться из-за прокси, но это единственное, что я должен сделать сейчас. Если честно, я даже не понимаю, зачем ему знать настройки моего прокси для локального запуска локальных тестов?

Настроить

  • Windows 7 64bit
  • Laravel 5.4.15
  • Dev env: Laragon
  • PHP 7

Установка в сумерках

Я сделал следующее, чтобы установить сумерки:

  • composer require laravel/dusk
  • Установите следующее в .окр: APP_URL=http://ticket.dev
  • Добавил следующее в мой AppServiceProvider register() метод:

приложение / Провайдеры / AppServiceProviders.php

use Laravel\Dusk\DuskServiceProvider;

//...

public function register()
{
if ($this->app->environment('local', 'testing')) {
$this->app->register(DuskServiceProvider::class);
}
}

Бегущий Сумерки

Когда я бегу php artisan duskЯ получаю следующее в моей консоли:

1) Tests\Browser\ExampleTest::testBasicExample
Facebook\WebDriver\Exception\WebDriverException: JSON decoding of remote response failed.
Error code: 4
The response: '<!DOCTYPE html>
<html>
<head>
<title>Laragon</title>
// the rest of the output is what http://localhost produces

Так что, похоже, бьет HTTP: // локальный а не мой APP_URL?

Попытки решения

я нашел это github wiki page и после просмотра папок продавца, связанных с Dusk, я попытался установить прокси, когда драйвер настроен в driver() функция в файле tests/DuskTestCase.php,

Я пробовал следующее, но я получаю тот же вывод консоли, как упомянуто ранее:

protected function driver()
{
// same as DesiredCapabilities::chrome() except with proxy info
$capabilities = new DesiredCapabilities([
WebDriverCapabilityType::BROWSER_NAME => WebDriverBrowserType::CHROME,
WebDriverCapabilityType::PLATFORM => WebDriverPlatform::ANY,
WebDriverCapabilityType::PROXY => [
'proxyType' => 'manual',
'httpProxy' => 'http://proxy:8080',
'sslProxy' => 'http://proxy:8080',
],
]);

return RemoteWebDriver::create(
'http://localhost:9515',
$capabilities,
);

// original code after installation
// return RemoteWebDriver::create('http://localhost:9515', DesiredCapabilities::chrome());
}

а также …

protected function driver()
{
$capabilities = new DesiredCapabilities([
WebDriverCapabilityType::BROWSER_NAME => WebDriverBrowserType::CHROME,
WebDriverCapabilityType::PLATFORM => WebDriverPlatform::ANY,
WebDriverCapabilityType::PROXY => [
'proxyType' => 'manual',
'httpProxy' => 'http://proxy:8080', // have also tried without specifying http://
'sslProxy' => 'http://proxy:8080', // have also tried without specifying http://
],
]);

return RemoteWebDriver::create(
'http://localhost:9515',
$capabilities,
null,
null,
$http_proxy = 'http://proxy', // have also tried without specifying http://
$http_proxy_port = '8080',
null
);
}

Буду признателен за любую помощь в получении этой работы, спасибо!

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]