< /blockquote>
php 8.0 < /p>
< /blockquote>
- на PHP Artisan Dusk я получил эту ошибку ошибки. < /strong> < /p>
runtimeexcept /var/www/path/vendor/laravel/dusk/src/chrome/../../bin/chromedriver-linux]. Chromedriver Сначала запустив команду Dusk: Chrome-Driver
fix:
1 -й ->
- Запустите этот "chmod -r 0755 поставщик/laravel/dusk/bin/" Это для разрешение < /p>
Примечание: вам также нужно установить Chrome для Linux, а также убедиться, что оба имеют совместимые версии друг с другом.
Код: Выделить всё
-Open terminal inside project dir. -chmod -R 0755 vendor/laravel/dusk/bin/ , paste and hit. < /code> < /li> < /ul> 2nd -> < /p> Этот поставщик пути/Laravel/Dusk/Bin/Chromedriver-linux64 [*] Переименуйте это "Chromedriver-linux64"-> "Chromedriver -linux" [/list] Если у вас все же есть та же проблема, попробуйте, 1st -> Попробуйте добавить порт, как изображение ниже в dusktestcase.php (9515 Это порт по умолчанию). < /p> 2nd-> Попробуйте добавить '--no -sandbox 'in "dusktestcase.php" Внутренняя функция драйвера < /p> protected function driver(): RemoteWebDriver { $options = (new ChromeOptions)->addArguments(collect([ $this->shouldStartMaximized() ? '--start-maximized' : '--window-size=1920,1080', ])->unless($this->hasHeadlessDisabled(), function (Collection $items) { return $items->merge([ '--disable-gpu', '--headless=new', '--no-sandbox' //Here-------------------- ]); })->all()); return RemoteWebDriver::create( env('DUSK_URL') && env('DUSK_PORT') ? env('DUSK_URL').':'.env('DUSK_PORT') : 'http://127.0.0.1:9515', //Here-------------------- DesiredCapabilities::chrome()->setCapability( ChromeOptions::CAPABILITY, $options ) ); } < /code> [b] ошибка при запуске PHP Artisan Dusk < /strong> < /li> < /ol> facebook \ webdriver \ exception \ internal \ webdrivercurlexception: curl ошибка, выброшенная для http post to /session с params: {"Возможности": {"FirstMatch": [{"browserName": "chrome", "Goog: ChromeOptions": {"args": ["-window-size = 1920,1080"]}]}}}}}}}}}}}}}}}}}}}}}}}}}}}} , "Деси RedCapabilities ": {" BrowserName ":" Chrome "," Platform ":" Eany "," Goog: ChromeOptions ": {" args ": ["-window-size = 1920,1080 "]}}} исправление: [/b] Эта ошибка возникает, когда драйвер Chrome не работает Теперь вам нужно запустить драйвер Chrome, следуйте ниже шагов < /p> открытый терминал в корне проекта < /p> < / li> вставьте эту команду ./vendor/laravel/dusk/bin/chromedriver-linux/chromedriver -port = 9515 < /li> < /ul> < /li> < /ul> Это должно запустить драйвер Chrome на порту 9515 Как вы можете видеть в этом ss. p> Если он все еще не работает, вы можете попробовать установить Chromedriver для Linux вручную, выполняя следующие команды < /p> LATEST_CHROMEDRIVER_VERSION=$(curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE) wget -O chromedriver.zip https://chromedriver.storage.googleapis.com/$LATEST_CHROMEDRIVER_VERSION/chromedriver_linux64.zip unzip chromedriver.zip sudo mv chromedriver /usr/local/bin/ sudo chmod +x /usr/local/bin/chromedriver rm chromedriver.zip //just for cleaning < /code> После установки вы можете запустить Chromedriver на определенном порте (например, 9515) с: < /p> chromedriver --port=9515
< P> сохранить хромированный терминал открытым и открыть новый терминал и нажмите < /p>В ваших тестовых случаях. Если вы хотите убедиться, что если пользователь аутентифицирован и успешно вошел в систему, вы можете использовать это -> assertauthenticated () , чтобы убедиться, что сеансы успешно работают. [/b]Код: Выделить всё
php artisan ser < /code> Убедитесь, что вы устанавливаете файл .env правильно убедитесь, что он, по крайней мере, существует: < /p> APP_ENV=local APP_URL=http://localhost:8000 SESSION_DRIVER=file SESSION_LIFETIME=120 < /code> [b] Примечание: драйвер сеанса очень важен при использовании. -> Loginas ($ user)
p> также, если вы используете драйвер сеанса файла, убедитесь, что приложение имеет правильные разрешения. мои действия GitHub. < /p>Для трубопровода отладки вы можете добавить эти строки в YML для проверки журналов. Код>, < /p>Код: Выделить всё
- name: Run Tests env: DB_DATABASE: db_test DB_USERNAME: root DB_PASSWORD: root run: | php artisan key:generate --force php artisan test - name: Install Dusk run: | php artisan dusk:install && rm tests/Browser/ExampleTest.php - name: Permissions for Chrome Driver run: | chmod -R 0755 vendor/laravel/dusk/bin/ - name: Renaming Chrome chromedriver-linux64 to chromedriver-linux run: | mv vendor/laravel/dusk/bin/chromedriver-linux64 vendor/laravel/dusk/bin/chromedriver-linux - name: Detect Chrome Driver run: | php artisan dusk:chrome-driver --detect - name: Start Chrome Driver run: ./vendor/laravel/dusk/bin/chromedriver-linux/chromedriver --port=9515 & - name: Run Laravel Server run: | php artisan serve --no-reload & - name: Wait for Server run: sleep 5 - name: Run Dusk Tests env: APP_URL: http://127.0.0.1:8000 run: | php artisan dusk --testdox --without-tty --ansiПросто добавьте его в конце или после PHP Artisan Dusk Команда.Код: Выделить всё
- name: Clear Laravel Logs run: | echo "" > storage/logs/laravel.log cat storage/logs/laravel.log
- name: Capture Logs if Tests Fail
if: failure()
run: cat storage/logs/laravel.log
< /code>
Теперь запустите свои сумерки или трубопровод, я надеюсь, что это поможет. Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/794 ... cess-linux