Como hacer que las ejecuciones de las pruebas en serenitybdd salgan por un proxy
Buenas lectores.
Cuando necesitamos que nuestra ejecución de las pruebas salga por un proxy, generamos algo parecido a esto:
Proxy proxy = new Proxy();
proxy.setAutodetect(false);
proxy.setHttpProxy("localhost:8092");
proxy.setSslProxy("localhost:8092");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--ignore-certificate-errors");
chromeOptions.setCapability(CapabilityType.PROXY, proxy);
chromeOptions.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
chromeOptions.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
driver = new FirefoxDriver(chromeOptions);
driver.get(URL);
El problema radica cuando usamos SerenityBDD puesto que el automaticamente lanza el driver de acuerdo a la configuración que tengamos, por ende, si accedemos al driver y le enviamos este nuevo, el genera otra instancia... y eso no es lo que queremos. Para decirle a serenityBDD que salga por un proxy es muy sencillo, simplemente agregamos en el archivo de configuración la propiedad:
webdriver {
proxy {
httpProxy = "localhost:8000"
}
}
Con esto le estamos diciendo que salga por localhost en el puerto 8000 que sería el caso donde tengo el proxy.
Espero les sirva.
Saludos.
Referencias:
https://serenity-bdd.github.io/docs/guide/driver_config
https://stackoverflow.com/questions/75680149/unable-to-establish-websocket-connection
https://stackoverflow.com/questions/47457105/class-has-been-compiled-by-a-more-recent-version-of-the-java-environment
Comentarios
Publicar un comentario