antonyhaman / har-capture-extension-selenium

Junit5 extension for Selenium and Allure that captures browser's HTTP activity

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

har-capture-extension-selenium

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.

How does it work?

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:

How to use

Installation

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.

Requirements

Junit5, Selenium Webdriver, Allure

About

Junit5 extension for Selenium and Allure that captures browser's HTTP activity

License:Apache License 2.0


Languages

Language:Java 100.0%