Best Selenium code snippet using org.openqa.selenium.Proxy.setSocksVersion
Source:ProxyTest.java  
...75    proxy2.setProxyType(AUTODETECT);76    assertThatExceptionOfType(IllegalStateException.class)77        .isThrownBy(() -> proxy2.setProxyType(SYSTEM));78    assertThatExceptionOfType(IllegalStateException.class)79        .isThrownBy(() -> proxy.setSocksVersion(5));80  }81  @Test82  public void testManualProxy() {83    Proxy proxy = new Proxy();84    proxy.85        setHttpProxy("http.proxy:1234").86        setFtpProxy("ftp.proxy").87        setSslProxy("ssl.proxy").88        setNoProxy("localhost,127.0.0.*").89        setSocksProxy("socks.proxy:65555").90        setSocksVersion(5).91        setSocksUsername("test1").92        setSocksPassword("test2");93    assertThat(proxy.getProxyType()).isEqualTo(MANUAL);94    assertThat(proxy.getFtpProxy()).isEqualTo("ftp.proxy");95    assertThat(proxy.getHttpProxy()).isEqualTo("http.proxy:1234");96    assertThat(proxy.getSslProxy()).isEqualTo("ssl.proxy");97    assertThat(proxy.getSocksProxy()).isEqualTo("socks.proxy:65555");98    assertThat(proxy.getSocksVersion()).isEqualTo(Integer.valueOf(5));99    assertThat(proxy.getSocksUsername()).isEqualTo("test1");100    assertThat(proxy.getSocksPassword()).isEqualTo("test2");101    assertThat(proxy.getNoProxy()).isEqualTo("localhost,127.0.0.*");102    assertThat(proxy.getProxyAutoconfigUrl()).isNull();103    assertThat(proxy.isAutodetect()).isFalse();104  }105  @Test106  public void testPACProxy() {107    Proxy proxy = new Proxy();108    proxy.setProxyAutoconfigUrl("http://aaa/bbb.pac");109    assertThat(proxy.getProxyType()).isEqualTo(PAC);110    assertThat(proxy.getProxyAutoconfigUrl()).isEqualTo("http://aaa/bbb.pac");111    assertThat(proxy.getFtpProxy()).isNull();112    assertThat(proxy.getHttpProxy()).isNull();113    assertThat(proxy.getSslProxy()).isNull();114    assertThat(proxy.getSocksProxy()).isNull();115    assertThat(proxy.getSocksVersion()).isNull();116    assertThat(proxy.getSocksUsername()).isNull();117    assertThat(proxy.getSocksPassword()).isNull();118    assertThat(proxy.getNoProxy()).isNull();119    assertThat(proxy.isAutodetect()).isFalse();120  }121  @Test122  public void testAutodetectProxy() {123    Proxy proxy = new Proxy();124    proxy.setAutodetect(true);125    assertThat(proxy.getProxyType()).isEqualTo(AUTODETECT);126    assertThat(proxy.isAutodetect()).isTrue();127    assertThat(proxy.getFtpProxy()).isNull();128    assertThat(proxy.getHttpProxy()).isNull();129    assertThat(proxy.getSslProxy()).isNull();130    assertThat(proxy.getSocksProxy()).isNull();131    assertThat(proxy.getSocksVersion()).isNull();132    assertThat(proxy.getSocksUsername()).isNull();133    assertThat(proxy.getSocksPassword()).isNull();134    assertThat(proxy.getNoProxy()).isNull();135    assertThat(proxy.getProxyAutoconfigUrl()).isNull();136  }137  @Test138  public void manualProxyFromMap() {139    Map<String, Object> proxyData = new HashMap<>();140    proxyData.put("proxyType", "manual");141    proxyData.put("httpProxy", "http.proxy:1234");142    proxyData.put("ftpProxy", "ftp.proxy");143    proxyData.put("sslProxy", "ssl.proxy");144    proxyData.put("noProxy", "localhost,127.0.0.*");145    proxyData.put("socksProxy", "socks.proxy:65555");146    proxyData.put("socksVersion", 5);147    proxyData.put("socksUsername", "test1");148    proxyData.put("socksPassword", "test2");149    Proxy proxy = new Proxy(proxyData);150    assertThat(proxy.getProxyType()).isEqualTo(MANUAL);151    assertThat(proxy.getFtpProxy()).isEqualTo("ftp.proxy");152    assertThat(proxy.getHttpProxy()).isEqualTo("http.proxy:1234");153    assertThat(proxy.getSslProxy()).isEqualTo("ssl.proxy");154    assertThat(proxy.getSocksProxy()).isEqualTo("socks.proxy:65555");155    assertThat(proxy.getSocksVersion()).isEqualTo(Integer.valueOf(5));156    assertThat(proxy.getSocksUsername()).isEqualTo("test1");157    assertThat(proxy.getSocksPassword()).isEqualTo("test2");158    assertThat(proxy.getNoProxy()).isEqualTo("localhost,127.0.0.*");159    assertThat(proxy.getProxyAutoconfigUrl()).isNull();160    assertThat(proxy.isAutodetect()).isFalse();161  }162  @Test163  public void manualProxyToJson() {164    Proxy proxy = new Proxy();165    proxy.setProxyType(ProxyType.MANUAL);166    proxy.setHttpProxy("http.proxy:1234");167    proxy.setFtpProxy("ftp.proxy");168    proxy.setSslProxy("ssl.proxy");169    proxy.setNoProxy("localhost,127.0.0.*");170    proxy.setSocksProxy("socks.proxy:65555");171    proxy.setSocksVersion(5);172    proxy.setSocksUsername("test1");173    proxy.setSocksPassword("test2");174    Map<String, Object> json = proxy.toJson();175    assertThat(json.get("proxyType")).isEqualTo("MANUAL");176    assertThat(json.get("ftpProxy")).isEqualTo("ftp.proxy");177    assertThat(json.get("httpProxy")).isEqualTo("http.proxy:1234");178    assertThat(json.get("sslProxy")).isEqualTo("ssl.proxy");179    assertThat(json.get("socksProxy")).isEqualTo("socks.proxy:65555");180    assertThat(json.get("socksVersion")).isEqualTo(5);181    assertThat(json.get("socksUsername")).isEqualTo("test1");182    assertThat(json.get("socksPassword")).isEqualTo("test2");183    assertThat(json.get("noProxy")).isEqualTo(Arrays.asList("localhost", "127.0.0.*"));184    assertThat(json.entrySet()).hasSize(9);185  }...Source:FireFoxHandaler.java  
...255		   //proxy.setProxyType(Proxy.ProxyType.MANUAL);256		   proxy.setHttpProxy(httpProxyWithPort);257		   proxy.setSslProxy(httpsProxyWithPort);258//		   proxy.setSocksProxy(socksProxyWithPort);259//		   proxy.setSocksVersion(5);260		   //proxy.setSocksUsername(username);261		   //proxy.setSocksPassword(password);262		   firefoxOptions.setProxy(proxy);263		   }264		   firefoxOptions.addPreference("general.useragent.override", userAgent);265		   firefoxOptions.setBinary(firefoxBinary);266		   driver = new FirefoxDriver(firefoxOptions);267	   268	        269	        WebDriverWait wait = new WebDriverWait(driver, 10);      270	 		wait.until(ExpectedConditions.alertIsPresent());271			try {272				Runtime.getRuntime().exec("Geckodriver/auth_popup_firefox.exe");273				Thread.sleep(1000*5);274			} catch (IOException e) {275				// TODO Auto-generated catch block276				e.printStackTrace();277			} catch (InterruptedException e) {278				// TODO Auto-generated catch block279				e.printStackTrace();280			}281			//loadUrl("https://www.thebluebook.com");282			driver.get("https://www.javatpoint.com/");283	        284		   //driver.get("https://"+username+":"+password+"@"+"www.thebluebook.com");285		   286		   return true;287		}288		289		FireFoxHandaler1(){290			try {291			proxyHandler = new ProxyHandler();292			String proxy = proxyHandler.getProxy();293			System.out.println("proxy: "+proxy);294			if(proxy != null) {295				this.username = proxyHandler.getUser();296				this.password = proxyHandler.getPassword();	297				this.httpProxyWithPort = proxy + ":" + proxyHandler.getHttpPort();298				this.httpsProxyWithPort = proxy + ":" + proxyHandler.getHttpsPort();299				this.socksProxyWithPort = proxy + ":" + proxyHandler.getSocks5Port();300			}301			}catch(Exception e) {302				System.err.println(e.getMessage());303			}304		}305		// https://itnext.io/how-to-run-a-headless-chrome-browser-in-selenium-webdriver-c5521bc12bf0306		public boolean openChromeBrowser1(String userAgent) {307	       308			System.setProperty("webdriver.chrome.driver", "ChromeDriver\\chromedriver.exe");          309	        ChromeOptions options = new ChromeOptions();310	        //options.addArguments("--headless");311	       312		   if(!httpProxyWithPort.isEmpty()) {313			   System.out.println("pp");314		   Proxy proxy = new Proxy();315		   proxy.setProxyType(Proxy.ProxyType.MANUAL);316		   proxy.setHttpProxy(httpProxyWithPort);317		   proxy.setSslProxy(httpsProxyWithPort);318		   proxy.setProxyAutoconfigUrl(proxyAutoconfigUrl);319		   320//		   proxy.setSocksProxy(socksProxyWithPort);321//		   proxy.setSocksVersion(5);322		   //proxy.setSocksUsername(username);323		   //proxy.setSocksPassword(password);324		   options.setProxy(proxy);325		   }326		           327	        driver = new ChromeDriver(options); 328	        driver.navigate().to("http://www.javatpoint.com/");329	        try {330				Thread.sleep(1000*20);331			} catch (InterruptedException e) {332				// TODO Auto-generated catch block333				e.printStackTrace();334			}335	        ...Source:BaseTest.java  
...175	// call with String "host:port"176	private FirefoxDriver createDriverWithProxy(String proxyIpPort) {177178		org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();179		proxy.setSocksVersion(5);180		proxy.setSocksProxy(proxyIpPort);181		proxy.setProxyType(Proxy.ProxyType.MANUAL);182183		DesiredCapabilities cap = new DesiredCapabilities();184		cap.setCapability(CapabilityType.PROXY, proxy);185		logger.info("Starting firefox");186		FirefoxOptions options = new FirefoxOptions(cap);187		FirefoxDriver driver = new FirefoxDriver();188		logger.info("Started firefox");189		return driver;190	}191192	private WebDriver createDriverWithProxy2(String proxyIpPort) {193194		FirefoxProfile profile = new FirefoxProfile();195		profile.setPreference("network.proxy.type", 1);196		profile.setPreference("network.proxy.http", proxyURI);197		profile.setPreference("network.proxy.http_port", proxyPor);198		// FirefoxDriver driver = new FirefoxDriver(profile);199200		return driver;201	}202203	204	205	public void getDriverLog() {206		logger.debug("Reading Broweser Log");207		LogEntries logs = driver.manage().logs().get("browser");208		List<LogEntry> logLines = logs.getAll();209		210		for (LogEntry logLine : logLines) {211			logger.debug(logLine.getMessage());212		}213	}214	215	216	217	218219	@BeforeEach220	// We will open browser and pass login page to be able to switch to any page we221	// need222	public void startBrowser() throws Exception {223224		String Browser = config.getConfigProp("browserToTest");225		String TestLoginUrl = config.getConfigProp("TestLoginUrl");226		String SiteLogin = config.getConfigProp("SiteLogin");227		String SitePass = config.getConfigProp("SitePass");228		System.setProperty(" -Dlog4j.configurationFile", "src/config");229230		setNewProxy();231232		switch (Browser) {233		case "Chrome":234			System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");235			ChromeOptions option = new ChromeOptions();236			option.addArguments("--proxy-server=socks5://" + proxyString);237			option.addArguments("disable-infobars");238			239			if (disableImagesInBrowser) {240				HashMap<String, Object> images = new HashMap<String, Object>();241				images.put("images", 2);242				HashMap<String, Object> prefs = new HashMap<String, Object>();243				prefs.put("profile.default_content_setting_values", images);244				option.setExperimentalOption("prefs", prefs);245			}            246			247			// option.addArguments("--headless");248			driver = new ChromeDriver(option);249			break;250		251		case "Firefox":252			System.setProperty("webdriver.gecko.driver", "src/test/resources/geckodriver.exe");253			/*254			 * Proxy proxy = new Proxy(); //proxy.setHttpProxy("94.237.35.41:9152");255			 * proxy.setSocksProxy("94.237.35.41:9152"); proxy.setSocksVersion(5);256			 * FirefoxOptions firefoxOptions = new FirefoxOptions();257			 * firefoxOptions.setCapability("marionette", true);258			 * firefoxOptions.setCapability(CapabilityType.PROXY, proxy);259			 */260261			driver = createDriverWithProxy(proxyString);262			// driver = new FirefoxDriver(firefoxOptions);263			break;264		}265266		// Check if this is login page, by default we should get to login page267		// LoginPage loginPage = new LoginPage(driver,TestLoginUrl);268269		// Check if we need to login
...Source:ProxyUtil.java  
...61            proxy.setSslProxy(_proxy);62        } else if (protocol.contains("socks5")) {63            proxy.setSslProxy(_proxy);64            proxy.setSocksProxy(_proxy);65            proxy.setSocksVersion(5);66        } else if (protocol.contains("socks")) {67            proxy.setSslProxy(_proxy);68            proxy.setSocksProxy(_proxy);69            proxy.setSocksVersion(4);70        } else {71            proxy.setHttpProxy(_proxy);72            proxy.setFtpProxy(_proxy);73        }74        return proxy;75    }76    public static org.openqa.selenium.Proxy getChromeProxy(Proxy proxy) {77        return getChromeProxy(proxy.getIp(), proxy.getPort(), proxy.getProtocol());78    }79    public static org.openqa.selenium.Proxy getChromeProxy(ProxyRecord proxyRecord) {80        Proxy proxy = proxyRecord.into(Proxy.class);81        return getChromeProxy(proxy);82    }83    private static List<String> getPhantomJSProxy(String ip, Integer port, String protocol) {...Source:DriverBuilder.java  
...78                } else if ("ssl".equalsIgnoreCase(protocol)) {79                    response.setSslProxy(proxy_text);80                } else if ("socks4".equalsIgnoreCase(protocol)) {81                    response.setSocksProxy(proxy_text);82                    response.setSocksVersion(4);83                } else if ("socks5".equalsIgnoreCase(protocol)) {84                    response.setSocksProxy(proxy_text);85                    response.setSocksVersion(5);86                } else {87                    response.setSocksProxy(proxy_text);88                    response.setSocksVersion(5);89                }90            }91        }92        return response;93    }94    // ------------------------------------------------------------------------95    //                      S T A T I C96    // ------------------------------------------------------------------------97    public static WebDriver build(final ModelPackage info) throws Exception {98        final DriverBuilder builder = new DriverBuilder(info);99        return builder.build();100    }101}...Source:ConfiguredProxy.java  
...50            if (socksProxyPassword != null) {51                proxy.setSocksPassword(socksProxyPassword);52            }53            if (socksProxyVersion != 0) {54                proxy.setSocksVersion(socksProxyVersion);55            }56            return Optional.of(proxy);57        }58        return Optional.empty();59    }60}...Source:SeleniumFirefox.java  
...33	34	/**35	 * Sets the SOCKS proxy36	 * 37	 * Use {@link Proxy#setSocksProxy} and {@link Proxy#setSocksVersion(Integer)} to set.38	 * 39	 * Optionally set usernamd and password if necessary40	 * @param proxy The {@link Proxy} object with the SOCKS proxy information41	 */42	public void setProxy(Proxy proxy) {43		String[] address = proxy.getSocksProxy().split(":");44		options.addPreference("network.proxy.socks", address[0]);45        options.addPreference("network.proxy.socks_port", address[1]);46        options.addPreference("network.proxy.type", 1);47	}48	49	public void addExtension(File path) {50		extensionPaths.add(path.toPath());51		profile.addExtension(path);...Source:SafariDriverConfig.java  
...36        proxy.setProxyAutoconfigUrl();37        proxy.setProxyType(Proxy.ProxyType.valueOf());38        proxy.setSocksProxy();39        proxy.setSocksUsername();40        proxy.setSocksVersion();41        proxy.setSslProxy();*/42        return proxy;43    }44    public void setPort(final String port) {45        this.port = port;46    }47    public void setArgs(final List<String> args) {48        this.args = args;49    }50}...setSocksVersion
Using AI Code Generation
1import org.openqa.selenium.Proxy;2import org.openqa.selenium.WebDriver;3import org.openqa.selenium.firefox.FirefoxDriver;4import org.openqa.selenium.firefox.FirefoxProfile;5import org.openqa.selenium.remote.CapabilityType;6import org.openqa.selenium.remote.DesiredCapabilities;7public class Socks5Proxy {8    public static void main(String[] args) {9        Proxy proxy = new Proxy();10        proxy.setSocksProxy("setSocksVersion
Using AI Code Generation
1import java.net.InetSocketAddress;2import java.net.Proxy;3import java.net.ProxySelector;4import java.net.URI;5import java.net.URISyntaxException;6import java.net.URL;7import java.util.ArrayList;8import java.util.List;9import org.openqa.selenium.Proxy;10import org.openqa.selenium.WebDriver;11import org.openqa.selenium.firefox.FirefoxDriver;12import org.openqa.selenium.firefox.FirefoxProfile;13public class Socks5Proxy {14    public static void main(String[] args) throws URISyntaxException {15        ProxySelector.setDefault(new ProxySelector() {16            public List<Proxy> select(URI uri) {17                List<Proxy> proxyList = new ArrayList<Proxy>();18                proxyList.add(new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("setSocksVersion
Using AI Code Generation
1import java.net.Proxy;2import org.openqa.selenium.Proxy;3import org.openqa.selenium.WebDriver;4import org.openqa.selenium.firefox.FirefoxDriver;5Proxy proxy = new Proxy();6proxy.setSocksVersion(Proxy.Type.SOCKS);7WebDriver driver = new FirefoxDriver();8driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);9driver.quit();setSocksVersion
Using AI Code Generation
1Proxy proxy = new Proxy();2proxy.setHttpProxy("localhost:8080");3proxy.setSocksProxy("localhost:8080");4proxy.setSslProxy("localhost:8080");5proxy.setFtpProxy("localhost:8080");6proxy.setSocksVersion(4);7DesiredCapabilities cap = new DesiredCapabilities();8cap.setCapability(CapabilityType.PROXY, proxy);9WebDriver driver = new FirefoxDriver(cap);10driver.close();LambdaTest’s Selenium 4 tutorial is covering every aspects of Selenium 4 testing with examples and best practices. Here you will learn basics, such as how to upgrade from Selenium 3 to Selenium 4, to some advanced concepts, such as Relative locators and Selenium Grid 4 for Distributed testing. Also will learn new features of Selenium 4, such as capturing screenshots of specific elements, opening a new tab or window on the browser, and new protocol adoptions.
Upgrading From Selenium 3 To Selenium 4?: In this chapter, learn in detail how to update Selenium 3 to Selenium 4 for Java binding. Also, learn how to upgrade while using different build tools such as Maven or Gradle and get comprehensive guidance for upgrading Selenium.
What’s New In Selenium 4 & What’s Being Deprecated? : Get all information about new implementations in Selenium 4, such as W3S protocol adaption, Optimized Selenium Grid, and Enhanced Selenium IDE. Also, learn what is deprecated for Selenium 4, such as DesiredCapabilites and FindsBy methods, etc.
Selenium 4 With Python: Selenium supports all major languages, such as Python, C#, Ruby, and JavaScript. In this chapter, learn how to install Selenium 4 for Python and the features of Python in Selenium 4, such as Relative locators, Browser manipulation, and Chrom DevTool protocol.
Selenium 4 Is Now W3C Compliant: JSON Wireframe protocol is retiring from Selenium 4, and they are adopting W3C protocol to learn in detail about the advantages and impact of these changes.
How To Use Selenium 4 Relative Locator? : Selenium 4 came with new features such as Relative Locators that allow constructing locators with reference and easily located constructors nearby. Get to know its different use cases with examples.
Selenium Grid 4 Tutorial For Distributed Testing: Selenium Grid 4 allows you to perform tests over different browsers, OS, and device combinations. It also enables parallel execution browser testing, reads up on various features of Selenium Grid 4 and how to download it, and runs a test on Selenium Grid 4 with best practices.
Selenium Video Tutorials: Binge on video tutorials on Selenium by industry experts to get step-by-step direction from automating basic to complex test scenarios with Selenium.
LambdaTest also provides certification for Selenium testing to accelerate your career in Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!
