Java implementation for Visual Knight API
Port from JavaScript implementation link
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.pashidlos:visualknight_agent_java_core:${VERSION}'
}
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependency>
<groupId>com.github.pashidlos</groupId>
<artifactId>visualknight_agent_java_core</artifactId>
<version>${VERSION}</version>
</dependency>
More info about https://jitpack.io/
- Setup options object
VisualKnightOptions visualKnightOptions = VisualKnightOptions.builder()
// URL to Visual Knight backend
// Required
.apiEndpoint("http://localhost:3333/graphql")
// Your Visual Knight API key
// Required
.apiKey("API_KEY")
// Your project name or ID
// Required
.project("PROJECT_KEY_OR_NAME")
// The mismatch tolerance for the comparison, 0.01 is 1%
// Optional
// Default: 0.01
.misMatchTolerance(0.01)
// Accept first testsession for a variation as baseline
// Optional
// Default: false
.autoBaseline(false)
.build();
- Create instance of
VisualKnightCore
VisualKnightCore visualKnightCore = new VisualKnightCore(visualKnightOptions);
- Take a screenshot as String in Base64 format
// Selenium example
String screenshotBase64 = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BASE64);
- Create instance of
VisualKnightCapabilities
VisualKnightCapabilities visualKnightCapabilities = VisualKnightCapabilities.builder()
// Available: 'Windows', 'Mac OS', `Puppeteer`
.os("Windows")
// Available: 'Internet Explorer', 'Firefox', 'Safari', 'Chrome', 'Opera'
.browserName("Chrome")
.build()
- Process image
visualKnightCore.processScreenshot(
"Name for test",
screenshotBase64,
visualKnightCapabilities
);