wake-up-neo.com

Laravel-Dämmerungsfehler: Verbindung zum Localhost-Port 9515 fehlgeschlagen: Verbindung abgelehnt

Wie der Titel sagt, habe ich Laravel 5.4 und das neueste Homestead (1.0.1) sauber installiert. Wenn ich jedoch einen einfachen Dusk-Testfall starte, erhalte ich die folgende Fehlermeldung: 

Es konnte keine Verbindung zum Localhost-Port 9515 hergestellt werden: Verbindung abgelehnt

Weiß jemand, wie man damit umgeht? Ich habe versucht, den Port zu etwas anderem wie 8888 zu ändern, ohne Erfolg.

EDIT: Ich konnte etwas tiefer graben und fand heraus, dass die ausführbare chromedriver-Datei nicht tatsächlich ausführbar war (chmod). Nun, da ich behoben habe, erhalte ich diesen Fehler, wenn ich manuell versuche, es auszuführen.

./chromedriver: Fehler beim Laden von gemeinsam genutzten Bibliotheken: libnss3.so: Datei mit gemeinsam genutzten Objekten kann nicht geöffnet werden: Keine solche Datei oder Verzeichnis

35
Ortix92

Anscheinend ist Ihre Chrome-Treiberinstallation defekt.

Sie können versuchen, es von Grund auf zu installieren

CHROME_DRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`

wget -N http://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.Zip -P ~/
unzip ~/chromedriver_linux64.Zip -d ~/
rm ~/chromedriver_linux64.Zip
Sudo mv -f ~/chromedriver /usr/local/bin/chromedriver
Sudo chown root:root /usr/local/bin/chromedriver
Sudo chmod 0755 /usr/local/bin/chromedriver
1
Utkarsh Vishnoi

Unter Ubuntu Linux 16.04 habe ich Folgendes verstanden:

Installieren Sie Chromium & Abhängigkeiten für das Headless-Testen

Sudo apt-get -y install chromium-browser xvfb gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable imagemagick x11-apps

Erstellen Sie eine benutzerdefinierteDuskCommand

Was das Original mit dieser handle-Methode erweitert:

public function handle()
{
    $xvfb = (new ProcessBuilder())
        ->setTimeout(null)
        ->setPrefix('/usr/bin/Xvfb')
        ->setArguments(['-ac',  ':0', '-screen', '0', '1280x1024x16'])
        ->getProcess();

    $xvfb->start();

    try {
        parent::handle();
    } finally {
        $xvfb->stop();
    }

    return;
}

Dadurch wird Xvfb für den Headless-Test gestartet, bevor die Tests ausgeführt werden, und der Prozess wird nach Abschluss des Tests angehalten.

Bearbeiten: Und stellen Sie sicher, dass vendor/laravel/dusk/bin/chromedriver-linux ausführbar ist.

1
stephangroen

Dies sollte Ihnen helfen, die neueste Version des Chrome-Treibers herunterzuladen und ordnungsgemäß zu entpacken.

LATEST_VERSION=$(curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE) && wget -O /tmp/chromedriver.Zip https://chromedriver.storage.googleapis.co /$LATEST_VERSION/chromedriver_linux64.Zip && Sudo unzip /tmp/chromedriver.Zip chromedriver -d /usr/local/bin/;
0
user6437700

Mit der neuesten Laravel/Homestead-Box v.6.0.0 ist es sofort einsatzbereit

https://app.vagrantup.com/laravel/boxes/Homestead

0
ndberg

Erstelle einen customDuskCommand

namespace App\Console\Commands;

use Symfony\Component\Process\Process;

class DuskCommand extends \Laravel\Dusk\Console\DuskCommand {

    public function handle() {
        $xvfb = (new Process(['/usr/bin/Xvfb', '-ac', ':0', '-screen', '0', '1280x1024x16']))
                ->setTimeout(null);

        $xvfb->start();

        try {
            parent::handle();
        } finally {
            $xvfb->stop();
        }

        return;
    }

}

Vielen Dank an https://stackoverflow.com/a/44322930/470749 . Es war veraltet und hat nicht funktioniert, daher gebe ich eine aktualisierte Antwort, die funktioniert.

0
Ryan

Ich hatte dieses Problem heute und die Lösung ist auf Laracasts.

Hier ist eine Kopie.

# makes sure all your repos are up to date
Sudo apt-get update

# chrome dependencies I think
Sudo apt-get -y install libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4

# chromium is what I had success with on Codeship, so seemed a good option
Sudo apt-get install chromium-browser

# XVFB for headless applications
Sudo apt-get -y install xvfb gtk2-engines-pixbuf

# fonts for the browser
Sudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base         xfonts-scalable

# support for screenshot capturing
Sudo apt-get -y install imagemagick x11-apps

# Once all this has run through, you need to fire up xvfb on your Homestead box. If you’re planning to # do this on a regular basis, you’ll want to get this setup on boot, but for the sake of testing things out:
Xvfb -ac :0 -screen 0 1280x1024x16 &
0
SimonDepelchin