La Java sende RemoteWebDriver-kommandoer via en proxy
Bruk ClientConfig på kommandoutføreren hvis Java-programmet må kontakte en ekstern WebDriver-tjeneste gjennom en forwardproxy.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
For den første ruten setter du opp Javas kommandoutfører:
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.HttpCommandExecutor;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.http.ClientConfig;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var config = ClientConfig.defaultConfig()
.baseUri(URI.create("https://grid.example/"))
.proxy(proxy);
var executor = new HttpCommandExecutor(config);
var driver = new RemoteWebDriver(executor, new ChromeOptions());
Bruk Grid-adressen som faktisk gjelder, med stien der Grid-tjenesten er satt opp. Behold Chrome-valgene du trenger, og avslutt økten med driver.quit().
Dette er java.net.Proxy for Java-programmets HTTP-forbindelse. Seleniums capability org.openqa.selenium.Proxy gjelder nettleserens sidetrafikk; bruk den i tillegg bare hvis den andre ruten trenger en proxy.
Feil under øktopprettelse eller sending av kommandoer tilhører den første ruten. Navigering senere kan feile på den andre. Autentisering hos Java-programmets mellomledd må bruke en metode HTTP-transporten støtter; et autentiseringscallback i nettleseren setter ikke opp dette.