automationguy
automationguy

Reputation: 315

Selenium Webdriver - How to set proxy to "auto-detect" for Firefox

My scripts are running fine on chrome and IE but won't start on firefox due to firefox having "manual" set for its proxy settings. How can I set this to "auto-detect"?

Source code in C# please.

Thanks

Upvotes: 3

Views: 6489

Answers (3)

Diego Montero
Diego Montero

Reputation: 36

You only need to add this source to your program:

FirefoxProfile profile = new FirefoxProfile();
String PROXY = "your URL WEB proxy:YourPort";
OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
proxy.HttpProxy = PROXY;
proxy.FtpProxy = PROXY;
proxy.SslProxy = PROXY;
profile.SetProxyPreferences(proxy);

Upvotes: 0

automationguy
automationguy

Reputation: 315

Thanks for your help AJ.

I used the following code to solve my problem:

FirefoxBinary binary = new FirefoxBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
FirefoxProfile profile = new FirefoxProfile("C:\\test profile\\");          driver = new FirefoxDriver(binary, profile);

I simply copied the contents of my Mozilla profile to "c:\test profile\". This allowed me to run the test via Selenium but also keep other firefox instances open.

Upvotes: 1

zhouyu
zhouyu

Reputation: 41

You don't have to set firefox to auto-detect. go to http://wpad/wpad.dat, it will return the javascript file which set up the proxy. You can find the proxy address inside. Then use the following code to do the trick

FirefoxProfile profile = new FirefoxProfile();
            String PROXY = "xx.xx.xx.xx:8080";
            OpenQA.Selenium.Proxy proxy = new OpenQA.Selenium.Proxy();
            proxy.HttpProxy=PROXY;
            proxy.FtpProxy=PROXY;
            proxy.SslProxy=PROXY;
            profile.SetProxyPreferences(proxy);
            FirefoxDriver driver = new FirefoxDriver(profile);

Upvotes: 4

Related Questions