But I really want to track my network traffic!
Well, it's not all bad news. Selenium doesn't explicitly provide support for network traffic; however, it does provide support for proxies. If you want to track your network traffic, what's the best way to do it? Why, a proxy, of course!
There are many proxies available, but we will focus on one in particular: the BrowserMob
proxy. The BrowserMob
proxy has been written with test automation in mind and integrates very easily with Selenium. Let's look at a basic implementation:
package com.masteringselenium.tests; import net.lightbody.bmp.BrowserMobProxy; import net.lightbody.bmp.BrowserMobProxyServer; import net.lightbody.bmp.client.ClientUtil; import net.lightbody.bmp.core.har.Har; import net.lightbody.bmp.core.har.HarEntry; import org.openqa.selenium.Proxy; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.remote.CapabilityType...