Uno script Selenium in JavaScript invia i comandi WebDriver al server remoto prima che il browser di quel server possa navigare ovunque. Se la connessione dei comandi deve attraversare un proxy HTTP, configurate il proxy WebDriver del Builder:

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

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

gridUrl è il vero server Selenium o l'endpoint WebDriver ospitato. Per un endpoint raggiungibile pubblicamente dove quel percorso è consentito, l'elenco di proxy HTTP fornisce candidati per usingWebDriverProxy. Eseguite il frammento dentro una funzione async di CommonJS. Chiudete il driver quando la sessione di test termina.

usingWebDriverProxy controlla le connessioni HTTP del binding JavaScript. Non imposta la capacità proxy di Chrome né un argomento di avvio di Chrome.

Se anche il traffico del browser necessita di un intermediario, fornite le opzioni Chrome previste separatamente. Quel browser gira sulla macchina remota, quindi il suo endpoint proxy deve essere raggiungibile lì. Un indirizzo di loopback sulla macchina dello script non è automaticamente un servizio di loopback disponibile per il browser remoto.

Stabilite se l'errore avviene durante la creazione della sessione WebDriver o durante la navigazione di un sito web. I due errori possono coinvolgere client di rete e politiche proxy diverse.

Articoli correlati