gpt4 book ai didi

java - Selenium 和私有(private)代理

转载 作者:行者123 更新时间:2023-12-01 11:25:19 26 4
gpt4 key购买 nike

我想知道如何在我的 Selenium 测试中添加私有(private)代理,特别是在使用 Firefox 驱动程序时。

我知道 SO 上有一个类似的问题,建议使用 BrowserMob,但我希望能够在不下载任何外部应用程序的情况下做到这一点。

有没有办法直接实现呢?我正在谈论使用需要身份验证的私有(private)代理。

我已经阅读了数百篇 SO 帖子,但没有一个提供解决方案。我正在使用 Java。

最佳答案

import java.util.ArrayList;
import java.util.List;

import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.Proxy.ProxyType;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class WebdriverUsingProxy {

private List<String> urlList = new ArrayList<String>();

@Before
public void setup() {
urlList.add("http://www.stackoverflow.com");
urlList.add("https://www.google.com");
}

@Test
public void passTraffixThroughProxyTest() {
String httpProxy = "192.168.1.101:8080";
String sslProxy = "192.168.1.101:8080";
String ftpProxy = "192.168.1.101:8080";

DesiredCapabilities capability = new DesiredCapabilities();
addProxyCapabilities(capability, httpProxy, sslProxy, ftpProxy);

for (String url : urlList){
WebDriver driver = new FirefoxDriver(capability);
driver.get(url);
driver.close();
}
}

public static DesiredCapabilities addProxyCapabilities(DesiredCapabilities capability, String httpProxy, String sslProxy,
String ftpProxy) {
Proxy proxy = new Proxy();
proxy.setProxyType(ProxyType.MANUAL);
proxy.setHttpProxy(httpProxy);
proxy.setSslProxy(sslProxy);
proxy.setFtpProxy(ftpProxy);

capability.setCapability(CapabilityType.PROXY, proxy);
capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
return capability;
}
}

代理类型为手动,我已将 HTTP、SSL 和 FTP 代理设置为 192.168.1.101:8080。这是使用代理对象并设置所需的功能来完成的。不过,您可以将其作为变量传递。

关于java - Selenium 和私有(private)代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com