JavaScript Selenium VisualTest Plugin
Documentation
Click here for more detailed docs on SmartBear's website
Setup
npm install @smartbear/visualtest-selenium --save-dev
npx visualtest-setup
Enter your projectToken in the newly created visualTest.config.js file:
module.exports = {projectToken: 'PROJECT_TOKEN'}
Implementation
const {Builder, Browser} = require('selenium-webdriver');
const {sbvtCapture, sbvtGetTestRunResult, sbvtPrintReport} = require("@smartbear/visualtest-selenium");
const assert = require("assert");
(async () => {
const driver = await new Builder().forBrowser(Browser.FIREFOX).build();
await driver.get('https://selenium.dev/')
await sbvtCapture(driver, 'Selenium Example Page')
const element = await driver.findElement({css: '.row'});
await sbvtCapture(driver, 'element', {
element
});
await sbvtCapture(driver, 'Homepage viewport', {
viewport: true
})
await sbvtPrintReport();
const sbvtReport = await sbvtGetTestRunResult();
assert(sbvtReport.failed === 0);
})();
lazyload fullpage capture
await sbvtCapture(driver, 'Lazy loaded', {
lazyload: 1000
})
viewport capture
await sbvtCapture(driver, 'Viewport Capture', {
viewport: true
})
element capture
await driver.get('https://selenium.dev/')
const element = await driver.findElement({css: '.row'});
await sbvtCapture(driver, 'element', {
element
});
ignore element capture
await driver.get('https://smartbear.github.io/visual-testing-example-website/Example4/Original/index.html');
await sbvtCapture(driver, 'element-hero-content-capture', {
ignoreElements: [".ud-hero-content"],
});
layout mode capture
await driver.get('https://smartbear.github.io/visual-testing-example-website/Example4/Original/index.html');
await sbvtCapture(driver, 'layout-mode', {
comparisonMode: 'layout',
sensitivity: 'low',
lazyload: 250
});
sbvtPrintReport & sbvtGetTestRunResult
await driver.get('https://smartbear.github.io/visual-testing-example-website/Example4/Original/index.html');
await sbvtCapture(driver, 'fullpage-capture', {
lazyload: 250
});
const testRunResults = await sbvtGetTestRunResult()
await sbvtPrintReport()
Assigning captures to a test group name
module.exports = {
projectToken: 'PROJECT_TOKEN',
testGroupName: 'test group name'
}