2017-09-26 4 views
1

Ich habe gerade Laravel Dusk entdeckt, und ich war begeistert, es in meinem Projekt zu verwenden. Es kann jedoch nicht funktionieren. Ich folgte der Laravel-Dokumentation, um Dusk zu installieren. Als ich php artisan dusk im Terminal laufen, bekomme ichFehler bei der Ausführung von Laravel Dusk

[Symfony\Component\Process\Exception\RuntimeException] 
    TTY mode is not supported on Windows platform. 

ich diesen (https://github.com/laravel/dusk/pull/13/files) gefunden, die es beheben soll, denke ich, aber ich immer noch den Fehler.

Auch habe ich versucht, die Dämmerung Tests durch PhpStorm nach der akzeptierten Antwort hier (https://laracasts.com/discuss/channels/testing/dusk-via-phpstorm), aber ich bekomme einen Fehler. Viele Leute sagten, dass dies durch ein Leerzeichen in der .env-Datei verursacht wurde, aber das ist nicht mein Problem.

Kann mir jemand helfen herauszufinden, was los ist mit Laravel Dusk in meinem Setup? Mein Laravel Projekt ist 5.4 und ich bin mit Laravel Dusk 1.0 und PhpStorm ist 2017.2.1

Antwort

0

Sie chromedriver in Fenster auf Ihrem eigenen installieren können, und nicht versuchen, die Version zu verwenden, die mit Laravel Dämmerung ausgeliefert wird. Denken Sie daran, dass Ihre Chromtreiber-Version mit Ihrer aktuell installierten Chrome-Version übereinstimmen muss und wenn Chrome aktualisiert wird, müssen Sie den Chrome-Treiber erneut manuell aktualisieren/neu installieren. Hoffentlich ist es nicht zu oft passieren, und wenn es Updates sind, profitieren Sie von neuesten Versionen verwenden, die ich wirklich schön finden :) Download it here.

Nach der Installation von chromedriver, müssen Sie es von der Kommandozeile starten (nur Geben Sie den Befehl in Ihrem Download-/Installationsverzeichnis ein (chromedriver) oder fügen Sie ihn als Dienst hinzu (was ich nicht bevorzuge, weil ich kontrollieren möchte, welcher Dienst auf dem 9515-Port läuft).

Schließlich müssen Sie // static::startChromeDriver(); in Ihrer DuskTestCase.php auskommentieren, die versucht, Laravel Dämmerung inklusive Chromtreiber zu starten, denn in diesem Fall laufen Sie bereits einen.

Führen Sie Dämmerungs-Tests erneut und alles sollte gut funktionieren.

Ich weiß nicht, was Ihr System-Setup ist, aber ich verwende diese Problemumgehung auf Windows 10 mit Laravel 5.5, Dämmerung 2.0, die immer noch Probleme verursacht, wenn Chrome aktualisiert wird.

BTW. Nur um zu erwähnen. Dies funktioniert auch mit CI-Workflows, die docker verwenden. Sie können mehr darüber lesen here

+0

Danke, ich denke, das hat funktioniert. Aber jetzt bekomme ich einen Fehler, der 'Class 'Tests \ DuskTestCase' in \ tests \ Browser \ ExampleTest.php in Zeile 9 sagt. Irgendeine Idee, was das ist, oder ist es ein unverwandter Fehler? – Larisa

+0

@Larisa Ich kann nicht ohne Fehlerbeschreibung und/oder Quellcode sagen, aber ein kleiner Hinweis könnte sein ... Haben Sie Namespaces richtig definiert und verwenden Sie Kontexte? – Bart

+0

Ja, alles scheint korrekt definiert zu sein. Ich habe keine Änderungen abgesehen von der Ausführung 'Komponist erfordern --dev Laravel/Dämmerung:^1.0' und' php Handwerker Dämmerung: Installation' – Larisa

Verwandte Themen