我需要使用自动代理配置URL设置我的浏览器代理,如下面的屏幕截图所示。
我正在尝试使用Selenium和Browserstack作为测试环境来实现这一目标。
设置代理,如下所示。
Proxy proxy = new Proxy();
proxy.setProxyAutoconfigUrl(" http://pokgsa.ibm.com/gsa/pokgsa/home/j/m/jmit/web/public/proxy.pac&#34);
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(CapabilityType.PROXY,proxy);
caps.setCapability("浏览器"," Chrome");
caps.setCapability(" browser_version"," 63.0");
caps.setCapability(" os"," Windows");
caps.setCapability(" os_version"," 7");
caps.setCapability(" resolution"," 1366x768");
尝试在本地设置代理配置,但它可以正常工作但不能在browserstack上运行。我认为代理没有在虚拟浏览器上设置。
答案 0 :(得分:1)
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 2);
profile.setPreference("network.proxy.autoconfig_url", "http://pokgsa.ibm.com/gsa/pokgsa/home/j/m/jmit/web/public/proxy.pac");
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
您需要使用Firefox配置文件传递pac文件详细信息。
同样对于chrome,您可以参考以下链接:https://github.com/SeleniumHQ/docker-selenium/wiki/Corporate-Proxies#setting-a-proxy-for-running-chrome
另外请确保pac文件中的代理不需要基于机器的身份验证/条目,因为这可能不起作用,因为您的代理需要在所有browserstack IP上进行身份验证