Careeroza
Real World Example
Checking Analytics Events on a Video Platform
Streaming and e-commerce companies (Netflix, Hotstar, Amazon) lose money if analytics events stop firing after a release. A Selenium test can listen to network traffic and assert that the right event was sent when the user presses Play, without any backend access.
List<String> analyticsCalls = new CopyOnWriteArrayList<>();
try (NetworkInterceptor interceptor = new NetworkInterceptor(driver,
(Filter) next -> req -> {
if (req.getUri().contains("/collect")) {
analyticsCalls.add(Contents.string(req)); // record the payload
}
return next.execute(req); // let every request through
})) {
driver.get("https://stream.example.com/watch/kgf-chapter-2");
driver.findElement(By.cssSelector("button.play")).click();
new WebDriverWait(driver, Duration.ofSeconds(10))
.until(d -> analyticsCalls.stream().anyMatch(c -> c.contains("\"event\":\"play_start\"")));
}
System.out.println("Events: " + analyticsCalls.size());Example
mvn test -Dtest=PlaybackAnalyticsTestExample output
Events: 3 [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.214 s [INFO] BUILD SUCCESS
Takeaways
- The test verifies behaviour users never see but the business depends on.
- A
Filterpasses requests through and only observes; aRoutereplaces responses. - Keep such tests few and Chromium-only if they rely on CDP; prefer BiDi features as they become available for all browsers.