JavaScript-Selenium-skripti lähettää WebDriver-komennot etäpalvelimelle ennen kuin kyseisen palvelimen selain voi siirtyä minnekään. Jos komentoyhteyden on kuljettava HTTP-välityspalvelimen kautta, määritä Builderin WebDriver-välityspalvelin:

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

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

gridUrl on varsinainen Selenium-palvelin tai isännöity WebDriver-päätepiste. Julkisesti saavutettavalle päätepisteelle, jossa kyseinen reitti on sallittu, HTTP-välityspalvelinlista tarjoaa ehdokkaita usingWebDriverProxy-asetukselle. Suorita katkelma async-CommonJS-funktion sisällä. Lopeta ajuri testi-istunnon päättyessä.

usingWebDriverProxy ohjaa JavaScript-sidoksen HTTP-yhteyksiä. Se ei aseta Chromen välityspalveluominaisuutta eikä Chromen käynnistysargumenttia.

Jos myös selaimen liikenne tarvitsee välittäjän, anna aiotut Chrome-asetukset erikseen. Kyseinen selain toimii etäkoneella, joten sen välityspalvelimen päätepisteen on oltava siellä saavutettavissa. Skriptin koneella oleva loopback-osoite ei automaattisesti ole etäselaimen käytettävissä oleva loopback-palvelu.

Selvitä, tapahtuuko virhe WebDriver-istunnon luomisen vai verkkosivulla siirtymisen aikana. Nämä kaksi virhettä voivat liittyä eri verkkoyhteysasiakkaisiin ja erilaisiin välityspalvelinkäytäntöihin.

Aiheeseen liittyvät artikkelit