Я использую WebdriverIO с PhantomJS для тестирования веб-сайта. Однако я хотел бы использовать прокси-сервер HTTP с аутентификацией.
- Я пытался использовать настройки прокси из документации Selenium:
var client = webdriver.remote({
desiredCapabilities: {
browserName: 'phantomjs',
proxy: {
proxyType: 'manual',
httpProxy: proxyServer.ipAddress + ':' + proxyServer.httpPort,
socksUsername: proxyServer.username,
socksPassword: proxyServer.password
}
}
});
Но я не могу открыть какой-либо URL-адрес с этими настройками. Ничего не произошло.
Однако, когда я использую firefox
или chrome
как browserName
, он начинает загружать страницу, но по какой-то причине запрашивает имя пользователя и пароль.
- Я также пытался передать аргументы командной строки PhantomJS:
var client = webdriver.remote({
desiredCapabilities: {
browserName: 'phantomjs',
'phantomjs.cli.args': [
'--proxy-type=http',
'--proxy=' + proxyServer.ipAddress + ':' + proxyServer.httpPort,
'--proxy-auth=' + proxyServer.username + ':' + proxyServer.password
].join(' ')
}
});
Но трафик не туннелируется через прокси, он просто использует мой обычный IP-адрес.
Итак, как мне настроить WebdriverIO для использования прокси?