Я хочу создать тест, который я буду использовать из контроллера, поэтому я пишу:
<?php
namespace App\Http\Controllers\Modules;
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Laravel\Dusk\ElementResolver;
use Exception;
use Facebook\WebDriver\Chrome\ChromeOptions;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Laravel\Dusk\Browser;
use Laravel\Dusk\Chrome\ChromeProcess;
class TestController extends Controller {
public function test() {
$process = (new ChromeProcess)->toProcess();
if ($process->isStarted()) {
$process->stop();
}
$process->start();
$options = (new ChromeOptions)->addArguments(['--disable-gpu', '--headless', '--no-sandbox']);
$capabilities = DesiredCapabilities::chrome()
->setCapability(ChromeOptions::CAPABILITY, $options);
$driver = retry(1, function () use ($capabilities) {
return RemoteWebDriver::create('http://localhost:9515', $capabilities, 60000, 60000);
}, 50);
$browser = new Browser($driver, new ElementResolver($driver, ''));
$browser->resize(1920, 1080);
$browser->visit('https://example.com/login')->click('#.btn > form > div.auth-form-body.mt-3 > input.btn.btn-primary.btn-block');
$browser->driver->takeScreenshot(base_path('tests/Browser/screenshots/logged.png'));
}
}
Когда я запускаю этот скрипт с использованием localhost: 8000 / test, я получаю это сообщение:
Facebook \ WebDriver \ Exception \ WebDriverCurlException Выдана ошибка Curl для http POST для / session с параметрами: {"requiredCapabilities": {"browserName": "chrome", "platform": "ANY", "chromeOptions": {"двоичный ":" "," args ": [" - disable-gpu "," - headless "," - no-sandbox "]}}} Не удалось подключиться к порту localhost 9515: соединение отклонено
Как я могу решить эту проблему?
В настоящее время я использую сервер WAMP на Win10 для локального тестирования, но затем я перенесу кодв Linux Ubuntu 18.