https://github.com/pashidlos/visualknight_agent_java_core
Core wrapper over Visual Knight GraphQL api
https://github.com/pashidlos/visualknight_agent_java_core
visual-knight visual-regression-testing visual-testing
Last synced: 3 months ago
JSON representation
Core wrapper over Visual Knight GraphQL api
- Host: GitHub
- URL: https://github.com/pashidlos/visualknight_agent_java_core
- Owner: pashidlos
- Created: 2020-04-09T15:04:39.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-04-10T13:28:41.000Z (about 5 years ago)
- Last Synced: 2024-10-18T08:16:38.802Z (8 months ago)
- Topics: visual-knight, visual-regression-testing, visual-testing
- Language: Java
- Homepage:
- Size: 190 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Java implementation for [Visual Knight](https://github.com/visual-knight/platform-community-edition) API
Port from JavaScript implementation [link](https://github.com/visual-knight/libraries/tree/master/packages/core)## Gradle
```
repositories {
maven { url 'https://jitpack.io' }
}
```
```
dependencies {
implementation 'com.github.pashidlos:visualknight_agent_java_core:${VERSION}'
}
```
## Maven
```
jitpack.io
https://jitpack.io
```
```com.github.pashidlos
visualknight_agent_java_core
${VERSION}```
[Available versions](https://github.com/pashidlos/visualknight_agent_java_core/releases)More info about https://jitpack.io/
## Usage
* 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
);
```