@syngrisi/syngrisi-wdio-sdk
v2.1.25-alpha.0
Published
Syngrisi WebdriverIO SDK
Downloads
39
Readme
SDK for Syngrisi tool
Base Flow Overview
There is 3 basic step for particular test:
Installation
npm i @syngrisi/syngrisi-wdio-sdk --save-dev
Usage Example
const syngrisi = require('@syngrisi/syngrisi-wdio-sdk');
const vrsHost = 'localhost';
const vrsPort = 3000;
const VRSConfig = { url: `http://${vrsHost}:${vrsPort}/` };
const { remote } = require('webdriverio');
;(async () => {
global.browser = await remote({
capabilities: { browserName: 'chrome' }
})
// 0. Add Syngrisi driver to browser object
browser.vDriver = new syngrisi.vDriver(VRSConfig);
// 1. Start Syngrisi test session
await browser.vDriver.startTestSession({
app: 'Test Application',
test: 'My first Syngrisi test',
suite: 'My first Syngrisi suite'
});
await browser.navigateTo('https://www.google.com/ncr')
// 2.1. perform visual check
const screenshot = new Buffer(await browser.takeScreenshot(), 'base64');
await browser.vDriver.checkSnapshot(
'My Check',
screenshot
);
const searchInput = await browser.$('[name=q]');
await searchInput.setValue('Σύγκριση');
const searchBtn = await browser.$('input[value="Google Search"]');
await (searchBtn.waitForClickable())
await searchBtn.click();
// 2.2 perform another visual check
const screenshot2 = new Buffer(await browser.takeScreenshot(), 'base64');
await browser.vDriver.checkSnapshot(
'My another Check',
screenshot2
);
// 2.3 stop test Session
await browser.vDriver.stopTestSession();
})().catch((err) => {
log.error(err)
throw err
}).finally(() => browser.deleteSession());
Environment variables
RUN_NAME
- use such variable to set up specific run name, by default it will generate automatically
ENV_POSTFIX
- will add to platform property, you can use this to set some unique platform name for particular
environment
SYNGRISI_LOG_LEVEL
- logging level ("trace" | "debug" | "info" | "warn" | "error"
)
SDK API
vDriver class
vDriver(cfg)
(constructor) - initialize vDriver instance
Parameters
| Name | Type | Details |
|-------|----------|----------------------------------------|
| cfg
| object
| e.g.: {url: 'http://localhost:3000'}
|
startTestSession(params)
- starts of the test session
Parameters
| Name | Type | Details |
|----------|----------|-----------------------------------------------------------------------|
| params
| object
| e.g: {app: 'App Name', test: 'Test Name',suite: 'Suite Name'} |
checkSnapshot(checkName, imageBuffer, domDump)
- create snapshot and send to Syngrisi API
Parameters
| Name | Type | Details |
|---------------|----------|-------------------------------------------------------------------------------|
| checkName
| String
| eg.: 'Check Name' |
| imageBuffer
| Buffer
| File buffer |
| domDump
| String
| Web Page DOM Dump JSON string, to get properly dump use getDomDump()
method |
stopTestSession()
- stop of the test session