Laravel Dusk v7.x и Github Daises Проблемы от ошибки до успеха [Linux]Linux

Ответить
Anonymous
 Laravel Dusk v7.x и Github Daises Проблемы от ошибки до успеха [Linux]

Сообщение Anonymous »

Вот все проблемы и их решения, с которыми я столкнулся во время настройки Laravel Dusk локально, а также на конвейере действий GitHub. 7.x < /p>
< /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>

    Код: Выделить всё

     -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
    
    Примечание: вам также нужно установить Chrome для Linux, а также убедиться, что оба имеют совместимые версии друг с другом.
    < P> сохранить хромированный терминал открытым и открыть новый терминал и нажмите < /p>

    Код: Выделить всё

    php artisan ser
    < /code>
    Убедитесь, что вы устанавливаете файл .env правильно убедитесь, что он, по крайней мере, существует: < /p>
    APP_ENV=local
    APP_URL=http://localhost:8000
    SESSION_DRIVER=file
    SESSION_LIFETIME=120
    < /code>
    [b] Примечание: драйвер сеанса очень важен при использовании. -> Loginas ($ user) 
    В ваших тестовых случаях. Если вы хотите убедиться, что если пользователь аутентифицирован и успешно вошел в систему, вы можете использовать это -> assertauthenticated () , чтобы убедиться, что сеансы успешно работают. [/b]
    p> также, если вы используете драйвер сеанса файла, убедитесь, что приложение имеет правильные разрешения. мои действия GitHub. < /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
    
    Для трубопровода отладки вы можете добавить эти строки в YML для проверки журналов. Код>, < /p>

    Код: Выделить всё

      - name: Clear Laravel Logs
    run: |
    echo "" > storage/logs/laravel.log
    cat storage/logs/laravel.log
    
    Просто добавьте его в конце или после PHP Artisan Dusk Команда.
    - name: Capture Logs if Tests Fail
    if: failure()
    run: cat storage/logs/laravel.log
    < /code>
    Теперь запустите свои сумерки или трубопровод, я надеюсь, что это поможет. Спасибо.

    Подробнее здесь: https://stackoverflow.com/questions/794 ... cess-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»