this.httpClient = HttpClients.custom()
.setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build())
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
Friday, April 10, 2026
httpclient
How to capture browser network logs
Create a Chrome devtool object
protected static DevTools devTools;
Call below function in the setup method.
/**
* To capture browser network logs
*/
public void getBrowserNetworkLogs() {
if (getBrowserName().equalsIgnoreCase("CHROME")) {
// Create a session with DevTools
devTools = ((ChromeDriver) driver).getDevTools();
devTools.createSession();
devTools.send(Network.clearBrowserCache());
devTools.send(Network.setCacheDisabled(true));
// Enable network tracking
devTools.send(Network.enable(java.util.Optional.empty(), java.util.Optional.empty(),
java.util.Optional.empty(), java.util.Optional.empty(), java.util.Optional.empty()));
// final RequestId[] requestIds = new RequestId[1];
// Capturing request information of a network call
/*
* devTools.addListener(Network.requestWillBeSent(), request -> {
* APP_LOGS.error("Request: " + request.getRequest().getUrl()); });
*/
// Capturing response information of a network call
devTools.addListener(Network.responseReceived(), response -> {
RequestId requestId = response.getRequestId();
if (response.getResponse().getStatus() != 200) {
String responseUrl = response.getResponse().getUrl();
if (responseUrl.contains("chubb") && !responseUrl.contains("favicon.ico")
&& !responseUrl.contains("chubb-publico")) {
int responsStatus = response.getResponse().getStatus();
// String responseType = response.getType().toJson();
String statusText = response.getResponse().getStatusText();
String responseHeaders = response.getResponse().getRequestHeaders() != null
? response.getResponse().getRequestHeaders().toString()
: "N/A";
String responseBody = devTools.send(Network.getResponseBody(requestId)).getBody();
String requestPostData = devTools.send(Network.getRequestPostData(requestId)).toString();
APP_LOGS.error("Response Url: " + responseUrl);
APP_LOGS.error("Response Status Code: " + responsStatus);
APP_LOGS.error("Response Text: " + statusText);
APP_LOGS.error("Response Headers: " + responseHeaders);
APP_LOGS.error("Response Body: " + responseBody);
APP_LOGS.error("Request Post Data: " + requestPostData);
}
}
});
} else {
APP_LOGS.info("Browser network log not captured for: " + getBrowserName());
}
}
Close the dvetools connection in the tearDown methid.
if (devTools != null) {
devTools.send(Network.disable());
}