Как настроить тест пользовательского интерфейса WDIO в докере через Jenkins

все. Я пытаюсь запустить тест пользовательского интерфейса WDIO в докере через Jenkins.

Я установил wdio-docker-service. И передать конфиг:

      import { config as sharedConfig } from './wdio.shared.conf'

export const config: WebdriverIO.Config = {
    ...sharedConfig,
    ...{
        hostname: 'localhost',
        port: 4444,
        path: '/',
        services: ['docker'],
        dockerLogs: './logs',
        dockerOptions: {
            image:  'selenium/standalone-chrome:4.1.2-20220131',
            healthCheck: {
                url: 'http://localhost:4444',
                maxRetries: 3,
                inspectInterval: 7000,
                startDelay: 15000
            },
            options: {
                e: ['--whitelisted-ips "127.0.0.1"'],
                p: ['4444:4444'],
                shmSize: '2g'
            }
        },
        capabilities: [{
            acceptInsecureCerts: true,
            browserName: 'chrome',
            browserVersion: 'latest',
            'goog:chromeOptions': {
                args: ['--whitelisted-ips=127.0.0.1', '--verbose', '--headless', '--disable-gpu', 'window-size=1920,1800','--no-sandbox', '--disable-dev-shm-usage', '--disable-extensions'],
            }
        }]
    }
}

После этого запустите через Jenkins. Но получил ошибку:

wdio-журнал

      2022-02-04T21:15:33.862Z INFO @wdio/local-runner: Run worker command: run
2022-02-04T21:15:34.133Z DEBUG @wdio/config:utils: Found 'ts-node' package, auto-compiling TypeScript files
2022-02-04T21:15:34.322Z DEBUG @wdio/local-runner:utils: init remote session
2022-02-04T21:15:34.325Z DEBUG @wdio/utils:initialiseServices: initialise service "docker" as NPM package
2022-02-04T21:15:34.422Z DEBUG @wdio/local-runner:utils: init remote session
2022-02-04T21:15:34.423Z INFO webdriver: Initiate new session using the WebDriver protocol
2022-02-04T21:15:34.453Z INFO webdriver: [POST] http://localhost:4444/session
2022-02-04T21:15:34.453Z INFO webdriver: DATA {
  capabilities: {
    alwaysMatch: {
      acceptInsecureCerts: true,
      browserName: 'chrome',
      browserVersion: 'latest',
      'goog:chromeOptions': [Object]
    },
    firstMatch: [ {} ]
  },
  desiredCapabilities: {
    acceptInsecureCerts: true,
    browserName: 'chrome',
    browserVersion: 'latest',
    'goog:chromeOptions': { args: [Array] }
  }
}
2022-02-04T21:17:04.549Z WARN webdriver: Request timed out! Consider increasing the "connectionRetryTimeout" optio

Журнал хромдрайвера:

      Starting ChromeDriver 97.0.4692.71 (adefa7837d02a07a604c1e6eff0b3a09422ab88d-refs/branch-heads/4692@{#1247}) on port 9515
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
[1643987609.767][SEVERE]: bind() failed: Cannot assign requested address (99)

Я пробовал добавить --whitelisted-ips "127.0.0.1", но у меня это не работает. Любые идеи о том, как решить эту проблему?

Эта настройка отлично работает для меня, если запустить тест на локальной машине.

0 ответов

Другие вопросы по тегам