簡體   English   中英

Laravel Dusk:未知錯誤:調用函數結果缺少“值”

[英]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 的包:

https://github.com/staudenmeir/dusk-updater

我回應@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.

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