72 lines
2.8 KiB
JavaScript
72 lines
2.8 KiB
JavaScript
/**
|
|
* BackstopJS Configuration File
|
|
*
|
|
* This is an example configuration file for BackstopJS. Customize it to fit your project's needs.
|
|
*
|
|
* For detailed documentation, visit: https://github.com/garris/BackstopJS
|
|
*/
|
|
|
|
module.exports = {
|
|
id: 'my-project', // A unique ID for your project, used for report naming. Change this!
|
|
|
|
viewports: [
|
|
{
|
|
label: 'desktop',
|
|
width: 1920,
|
|
height: 1080,
|
|
},
|
|
{
|
|
label: 'mobile',
|
|
width: 320,
|
|
height: 480,
|
|
},
|
|
],
|
|
|
|
onBeforeScript: 'puppet/onBefore.js',
|
|
onReadyScript: 'puppet/onReady.js',
|
|
|
|
scenarios: [
|
|
{
|
|
label: 'Example Homepage', // A descriptive label for this scenario
|
|
url: 'https://example.com', // The URL to test
|
|
referenceUrl: '', // Optional: URL for the baseline/reference screenshots. Leave empty for first run.
|
|
readyEvent: '', // Optional: Wait for a specific event to fire before taking the screenshot.
|
|
readySelector: '', // Optional: Wait for a specific selector to be present before taking the screenshot.
|
|
delay: 0, // Optional: Wait for a specified number of milliseconds before taking the screenshot. Useful for animations.
|
|
hideSelectors: [], // Optional: Hide elements before taking the screenshot. Useful for dynamic content.
|
|
removeSelectors: [], // Optional: Remove elements before taking the screenshot. Useful for dynamic content.
|
|
selectorExpansion: true, // Optional: Expand selectors to include all matching elements.
|
|
selectors: [
|
|
'document', // Take a screenshot of the entire document
|
|
],
|
|
misMatchThreshold: 0.1, // Percentage of acceptable pixel difference between the baseline and the test screenshot.
|
|
requireSameDimensions: true, // Ensure that the baseline and test screenshots have the same dimensions.
|
|
},
|
|
// Add more scenarios here to test different pages and components.
|
|
// Example:
|
|
// {
|
|
// label: 'Example Contact Page',
|
|
// url: 'https://example.com/contact',
|
|
// selectors: [
|
|
// '.contact-form',
|
|
// ],
|
|
// },
|
|
],
|
|
|
|
paths: {
|
|
bitmaps_reference: 'backstop_data/bitmaps_reference',
|
|
bitmaps_test: 'backstop_data/bitmaps_test',
|
|
html_report: 'backstop_data/html_report',
|
|
ci_report: 'backstop_data/ci_report',
|
|
},
|
|
|
|
report: ['browser'], // Generate a browser-based HTML report.
|
|
engine: 'puppeteer', // Use Puppeteer as the browser automation engine.
|
|
engineOptions: {
|
|
args: ['--no-sandbox'], // Required for running Puppeteer in some environments (e.g., Docker).
|
|
},
|
|
asyncCaptureLimit: 5, // Limit the number of concurrent screenshots to avoid overloading the system.
|
|
asyncCompareLimit: 50, // Limit the number of concurrent comparisons to avoid overloading the system.
|
|
debug: false, // Enable debug mode for more verbose logging.
|
|
debugWindow: false, // Open the browser window in debug mode.
|
|
}; |