2017-09-26 77 views
1

我剛剛發現了Laravel Dusk,我很興奮在我的項目中使用它。但是,它似乎無法讓它工作。我遵循Laravel文檔來安裝Dusk。當我在終端中運行php artisan dusk,我得到運行Laravel Dusk的錯誤

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

我發現這個(https://github.com/laravel/dusk/pull/13/files)這是應該修復它,我認爲,但我仍然得到錯誤。

此外,我試圖通過PhpStorm在這裏接受的答案(https://laracasts.com/discuss/channels/testing/dusk-via-phpstorm)運行黃昏測試,但我得到Class config does not exist錯誤。很多人都說這是由.env文件中的一個空格造成的,但那不是我的問題。

任何人都可以幫我弄清楚在我的設置中Laravel Dusk發生了什麼?我的Laravel項目是5.4和我使用Laravel黃昏1.0和PhpStorm是2017年2月1日

回答

0

您可以自己安裝chromedriver到Windows,並儘量不要使用附帶laravel黃昏的版本。請記住,您的chromedriver版本需要與您當前安裝的Chrome版本匹配,並且Chrome更新後,您需要再次手動更新/重新安裝chromedriver。希望這不會經常發生,當有更新時,您使用最新版本,我覺得這真的很好:) Download it here.

安裝chromedriver後獲益,您需要從命令行啓動(只在您的下載/安裝目錄chromedriver中發出命令)或將其添加爲服務(我不喜歡,因爲我想控制哪個服務在9515端口上運行)。

最後,你需要在你的DuskTestCase.php中註釋掉// static::startChromeDriver();,它試圖啓動包含chromedriver的laravel黃昏,因爲在這種情況下,你已經運行了一個。

再次運行黃昏測試,所有應該工作正常。

我不知道你的系統設置是什麼,但是我在使用Laravel 5.5,黃昏2.0的windows 10上使用這種解決方法,這在chrome更新時仍然會導致問題。

順便說一句。只要提一下。這也適用於使用docker的CI工作流程。你可以閱讀更多關於它here

+0

謝謝,我認爲這工作。但是現在我得到了一個錯誤,說明第9行中的\ tests \ Browser \ ExampleTest.php中的Class'Tests \ DuskTestCase'。任何想法這是什麼,或者它是一個無關的錯誤? – Larisa

+0

@Larisa我不能說沒有錯誤描述和/或源代碼,但一個小提示可能是...你有正確定義的命名空間和使用上下文嗎? – Bart

+0

是的,一切似乎都被正確定義。除了運行'composer require --dev laravel/dusk:^ 1.0'和'php artisan dusk:install'外,我還沒有做任何修改。 – Larisa