Et JavaScript Selenium-script sender WebDriver-kommandoer til den eksterne server, før den servers browser kan navigere nogen steder. Hvis kommando-forbindelsen skal gå gennem en HTTP-proxy, skal du konfigurere Builder'ens 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 er den rigtige Selenium-server eller det hostede WebDriver-endpoint. For et offentligt tilgængeligt endpoint, hvor den rute er tilladt, leverer HTTP-proxylisten kandidater til usingWebDriverProxy. Kør fragmentet inde i en async CommonJS-funktion. Afslut driveren, når testsessionen slutter.

usingWebDriverProxy styrer JavaScript-bindingens HTTP-forbindelser. Det sætter ikke Chromens proxy-funktion eller et Chrome-startargument.

Hvis browsertrafikken også har brug for en mellemmand, skal du angive de tilsigtede Chrome-indstillinger separat. Den browser kører på den eksterne maskine, så dens proxy-endpoint skal kunne nås der. En loopback-adresse på scriptets maskine er ikke automatisk en loopback-tjeneste, som den eksterne browser kan bruge.

Afgør, om fejlen opstår, når WebDriver-sessionen oprettes, eller når der navigeres på et websted. De to fejl kan involvere forskellige netværksklienter og forskellige proxy-politikker.

Relaterede artikler