Selenium JavaScript: välitä etä-WebDriverin komentoyhteys välityspalvelimen kautta
Käytä usingWebDriverProxy-asetusta JavaScript WebDriver -komentoihin, jotka lähetetään etä-Seleniumin päätepisteeseen.
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.