Как настроить тест пользовательского интерфейса 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", но у меня это не работает. Любые идеи о том, как решить эту проблему?
Эта настройка отлично работает для меня, если запустить тест на локальной машине.