簡體   English   中英

Laravel Dusk-無法連接到本地主機端口9515:連接被拒絕

[英]Laravel Dusk - Failed to connect to localhost port 9515: Connection refused

我想創建一個要在Controller中使用的測試,所以我寫:

<?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使用參數將HTTP POST拋出到/ session的卷發錯誤:{“ desiredCapabilities”:{“ browserName”:“ chrome”,“ platform”:“ ANY”,“ chromeOptions”:{“ binary”: “”,“ args”:[“-disable-gpu”,“-headless”,“-no-sandbox”]}}}無法連接到本地主機端口9515:連接被拒絕

在此處輸入圖片說明

我該如何解決這個問題?

當前,我在Win10上使用WAMP服務器進行本地測試,但是隨后我將在Linux Ubuntu 18上移動代碼。

我無法完全解釋它,但這在Windows上對我有用:

$process = (new ChromeProcess)->toProcess();
if ($process->isStarted()) {
  $process->stop();
}

$process->start(null, [
    'SystemRoot' => 'C:\\WINDOWS',
    'TEMP' => 'C:\Users\<User>\AppData\Local\Temp',
]);

[...]

<User>替換為用戶目錄的名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM