Junit 5 extension for Selenium Webdriver and Allure that captures HTTP activity of browser and stores it into HAR file attached to Allure report. Analazying HAR files may be very useful for finding bugs and it's root cause especially when the problem can't be easily reproduced or happens from time to time.
When properly set, the extension starts a proxy server that captures outcoming HTTP requests and starts a chrome instance which is set to use previously created proxy, after the test execution HAR file with HTTP requests attaches to Allure report:
HAR file can be viewed with various services like this:
Add jitpack repository to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add dependency to your dependencies section:
<dependency>
<groupId>com.github.kotvertolet</groupId>
<artifactId>har-capture-extension-selenium</artifactId>
<version>LAST_VERSION</version>
</dependency>
Alternatively, you can copy HarCaptureExtension.class into your project directly.
Then, in your BaseTest(AbstractTest, etc) initialize extension as following:
private static final ChromeOptions chromeOptions;
static {
chromeOptions = new ChromeOptions();
chromeOptions.addArguments("start-maximized");
}
@RegisterExtension
static HarCaptureExtension harCaptureExtension = HarCaptureExtension.builder()
.addCapabilities(chromeOptions).build();
Then initialize your webdriver instance with your ChromeOptions(FirefoxOptions, etc). That's it.
Junit5, Selenium Webdriver, Allure