2016-05-24 6 views
2

Я использую WebdriverIO с PhantomJS для проверки веб-сайта. Тем не менее, я хотел бы использовать HTTP-прокси-сервер с аутентификацией.Как использовать прокси с WebDriverIO и PhantomJS?

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, он начинает загружать страницу, но почему-то спрашивает имя пользователя и пароль.

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-адрес.

SO, как мне настроить WebdriverIO для использования прокси-сервера?

+0

так ничего? Единственное, что я могу найти, это https://vimmaniac.com/blog/bangal/selenium-chrome-driver-proxy-with-authentication/ – Toolkit

ответ

0

В случае, если кто-то ищет ответ Это сработало для меня очень хорошо с прокси-сервером HTTP.

{ browserName: 'phantomjs', 
    "proxy": { 
    "proxyType":"MANUAL", 
    "httpProxy":"HOST:PORT" 
    } 
} 

Source Gist имеет больше вариантов, которые могут вам понадобиться.

+0

i, если вы не читали OP, ему нужен «HTTP-прокси-сервер с аутентификацией» ' – Toolkit