【问题标题】:Laravel Dusk testing with Gitlab CI error, cant connect to port:9515: Connection refusedLaravel Dusk 测试与 Gitlab CI 错误,无法连接到端口:9515:连接被拒绝
【发布时间】:2020-09-10 20:52:32
【问题描述】:

所以我一直在尝试使用 Gitlab 设置 Laravel,现在一切正常,但是当脚本尝试运行我的浏览器测试时,我收到以下错误

 Curl error thrown for http POST to /session with params: {"capabilities":{"firstMatch":[{"browserName":"chrome","goog:chromeOptions":{"binary":"","args":["--disable-gpu","--headless","--window-size=1920,1080"]}}]},"desiredCapabilities":{"browserName":"chrome","platform":"ANY","chromeOptions":{"binary":"","args":["--disable-gpu","--headless","--window-size=1920,1080"]}}}
Failed to connect to localhost port 9515: Connection refused

  at vendor/php-webdriver/webdriver/lib/Remote/HttpCommandExecutor.php:331

这是我的.gitlab-ci.yml 文件

before_script:
  - apt-get update
  - apt-get install -qq git curl libmcrypt-dev libjpeg-dev libpng-dev libfreetype6-dev libbz2-dev
  - apt-get install zlib1g-dev libzip-dev
  - apt-get clean
  - curl --silent --show-error https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  - docker-php-ext-install pdo_mysql zip
  - cp .env.test .env
  
image: php:7.3

services:
  - mysql:5.7

variables:
  MYSQL_ROOT_PASSWORD: secret
  MYSQL_DATABASE: homestead
  MYSQL_USER: homestead
  MYSQL_PASSWORD: secret
  DB_HOST: mysql
  DB_USERNAME: root

stages:
  - test

browser_test:
  stage: test
  script:
    - echo "Starting pest tests"
    - composer install
    - php artisan dusk:install
    - php artisan dusk:chrome-driver
    - php artisan key:generate
    - php artisan migrate
    - php artisan serve & vendor/bin/pest

这是我的.env.test 文件

APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=mysql
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

据我所知,chrome-driver 没有运行,

感谢您的回答。

【问题讨论】:

    标签: laravel gitlab gitlab-ci laravel-dusk


    【解决方案1】:

    通过在 chrome-driver 设置中添加 --no-sandbox 解决了问题

    tests/DuskTestCase.php添加这个

        protected function driver()
        {
            $options = (new ChromeOptions)->addArguments([
                '--disable-gpu',
                '--headless',
                '--window-size=1920,1080',
                   '--no-sandbox', <---------------------
            ]);
    
            return RemoteWebDriver::create(
                'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
                    ChromeOptions::CAPABILITY, $options
                )
            );
        }
    

    【讨论】:

      猜你喜欢
      • 2017-06-21
      • 2019-10-11
      • 1970-01-01
      • 2020-11-20
      • 1970-01-01
      • 2017-09-08
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      相关资源
      最近更新 更多