Ett JavaScript Selenium-skript skickar WebDriver-kommandon till fjärrservern innan serverns webbläsare kan navigera någonstans. Om kommandoförbindelsen måste gå genom en HTTP-proxy, konfigurera Builderns WebDriver-proxy:

const { Builder, Browser } = require("selenium-webdriver");

const driver = await new Builder()
  .forBrowser(Browser.CHROME)
  .usingServer(gridUrl)
  .usingWebDriverProxy("http://proxy.example.net:8080")
  .build();

gridUrl är den riktiga Selenium-servern eller den hostade WebDriver-slutpunkten. För en offentligt nåbar slutpunkt där den vägen är tillåten tillhandahåller HTTP-proxylistan kandidater för usingWebDriverProxy. Kör fragmentet inuti en async CommonJS-funktion. Avsluta drivrutinen när testsessionen slutar.

usingWebDriverProxy styr JavaScript-bindningens HTTP-anslutningar. Det ställer inte in Chromens proxyfunktion eller ett Chrome-startargument.

Om webbläsartrafiken också behöver en mellanhand, ange de avsedda Chrome-alternativen separat. Den webbläsaren körs på fjärrmaskinen, så dess proxy-slutpunkt måste vara nåbar där. En loopback-adress på skriptets maskin är inte automatiskt en loopback-tjänst som fjärrwebbläsaren kan använda.

Avgör om felet inträffar när WebDriver-sessionen skapas eller när en webbplats navigeras. De två felen kan involvera olika nätverksklienter och olika proxyprinciper.

Relaterade artiklar