[英]Laravel Dusk: unknown error: call function result missing 'value'
我在使用 Laravel Dusk type() 和 value() 方法時遇到問題。 我收到以下錯誤。
$ php artisan dusk --group=activation
Warning: TTY mode is not supported on Windows platform.
PHPUnit 5.7.27 by Sebastian Bergmann and contributors.
DevTools listening on ws://127.0.0.1:12599/devtools/browser/84028821-2ca1-4d26-b66c-4697d2302117
E 1 / 1 (100%)
Time: 13,35 seconds, Memory: 18,00MB
There was 1 error:
1) Tests\Browser\CounselorActivationTest::testActivationWithSubscriptionWithPasswordLogin
Facebook\WebDriver\Exception\UnknownServerException: unknown error: call function result missing 'value'
(Session info: chrome=68.0.3440.84)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.17134 x86_64)
D:\devYubu\yubu\vendor\facebook\webdriver\lib\Exception\WebDriverException.php:114
D:\devYubu\yubu\vendor\facebook\webdriver\lib\Remote\HttpCommandExecutor.php:326
D:\devYubu\yubu\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php:547
D:\devYubu\yubu\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php:308
D:\devYubu\yubu\vendor\laravel\dusk\src\Concerns\InteractsWithElements.php:97
D:\devYubu\yubu\tests\Browser\tests\userActivation\CounselorActivationTest.php:58
D:\devYubu\yubu\vendor\laravel\dusk\src\TestCase.php:91
D:\devYubu\yubu\tests\Browser\tests\userActivation\CounselorActivationTest.php:95
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.
我使用 value 方法 2 次,我可以看到第一個實際上填寫了表格,但是第二個失敗了..
->value('input[name=external_id]', $counselor->getAttribute(User::COLUMN_EXTERNAL_ID))
->value('input[name=name_full]', $counselor->getAttribute(User::COLUMN_NAME_FULL))
當我使用 type() 時,第一個也失敗了:
->type('external_id', $counselor->getAttribute(User::COLUMN_EXTERNAL_ID))
->type('name_full', $counselor->getAttribute(User::COLUMN_NAME_FULL))
在使用 Windows 10 時。我在 Windows 上運行 Dusk(我安裝了 PHP 7.2)。 我的應用程序使用 PHP 7.0 在 Homestead 上運行。 我正在使用 Laravel 5.4
這是一個過時的 ChromeDriver 的問題。
非常感謝 Jonas Staudenmeir,他創建了一個用於更新 Chromedriver 的包:
我回應@Martijn Ihhoff。 獲取 staudenmeir 更新程序 - https://github.com/staudenmeir/dusk-updater
下載並運行它后(按照上面鏈接頁面上的說明),請務必關閉舊的 ChromeDriver。 這是我如何做到的:
運行ps -aux
然后找到以/vendor/laravel/dusk/bin/chromedriver-linux
結尾的進程,該行左側的第二個參數將是PID
(進程 ID)復制它(以及運行 chromeDrivers 的任何其他 PID)然后通過運行kill #####
殺死每個人,其中#####
是復制的 PID。 殺死所有進程后,重新運行 dusk。
我有同樣的問題。 https://github.com/staudenmeir/dusk-updater腳本節省了我的時間。 感謝作家。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.