@@ -41,7 +41,7 @@ go get github.com/gooddata/gooddata-neobackstop@latest
4141### Building from Source
4242
4343Prerequisites:
44- - Go 1.25.4 or later
44+ - Go 1.25.6 or later
4545- Playwright browsers (installed automatically on first run)
4646
4747``` bash
@@ -126,7 +126,7 @@ func main() {
126126
127127 // Convert to internal format
128128 internalScenarios := converters.ScenariosToInternal (
129- cfg.Browsers , cfg.Viewports , scenarios,
129+ cfg.Browsers , cfg.Viewports , cfg. RetryCount , scenarios,
130130 )
131131
132132 // Install and run Playwright
@@ -192,7 +192,7 @@ func main() {
192192 json.Unmarshal (scenariosBytes, &scenarios)
193193
194194 internalScenarios := converters.ScenariosToInternal (
195- cfg.Browsers , cfg.Viewports , scenarios,
195+ cfg.Browsers , cfg.Viewports , cfg. RetryCount , scenarios,
196196 )
197197
198198 // Find a specific scenario to debug
@@ -323,7 +323,8 @@ The main configuration file controls browser settings, viewports, output paths,
323323 ]
324324 },
325325 "asyncCaptureLimit" : 2 ,
326- "asyncCompareLimit" : 6
326+ "asyncCompareLimit" : 6 ,
327+ "retryCount" : 0
327328}
328329```
329330
@@ -342,6 +343,7 @@ The main configuration file controls browser settings, viewports, output paths,
342343| ` args ` | object | Browser-specific launch arguments |
343344| ` asyncCaptureLimit ` | number | Max concurrent screenshot captures |
344345| ` asyncCompareLimit ` | number | Max concurrent image comparisons |
346+ | ` retryCount ` | number | Extra retries on mismatch in test mode |
345347
346348#### Viewport Configuration
347349
@@ -376,24 +378,25 @@ Defines the test scenarios - which pages to capture and how to interact with the
376378
377379#### Scenario Options
378380
379- | Option | Type | Description |
380- | -----------------------| ------------------| ---------------------------------------------|
381- | ` id ` | string | Unique identifier for the scenario |
382- | ` label ` | string | Human-readable label (used in reports) |
383- | ` url ` | string | URL to navigate to |
384- | ` browsers ` | string[ ] | Override global browsers for this scenario |
385- | ` viewports ` | Viewport[ ] | Override global viewports for this scenario |
386- | ` readySelector ` | string | CSS selector to wait for before capture |
387- | ` reloadAfterReady ` | boolean | Reload page after ready selector appears |
388- | ` delay ` | number \| object | Wait time after ready (see below) |
389- | ` keyPressSelector ` | object | Element to focus and key to press |
390- | ` hoverSelector ` | string | Single element to hover over |
391- | ` hoverSelectors ` | array | Multiple elements to hover in sequence |
392- | ` clickSelector ` | string | Single element to click |
393- | ` clickSelectors ` | array | Multiple elements to click in sequence |
394- | ` postInteractionWait ` | string \| number | Wait after interactions (selector or ms) |
395- | ` scrollToSelector ` | string | Element to scroll into view |
396- | ` misMatchThreshold ` | number | Allowed mismatch percentage (0-100) |
381+ | Option | Type | Description |
382+ | -----------------------| ------------------| ---------------------------------------------------|
383+ | ` id ` | string | Unique identifier for the scenario |
384+ | ` label ` | string | Human-readable label (used in reports) |
385+ | ` url ` | string | URL to navigate to |
386+ | ` browsers ` | string[ ] | Override global browsers for this scenario |
387+ | ` viewports ` | Viewport[ ] | Override global viewports for this scenario |
388+ | ` readySelector ` | string | CSS selector to wait for before capture |
389+ | ` reloadAfterReady ` | boolean | Reload page after ready selector appears |
390+ | ` delay ` | number \| object | Wait time after ready (see below) |
391+ | ` keyPressSelector ` | object | Element to focus and key to press |
392+ | ` hoverSelector ` | string | Single element to hover over |
393+ | ` hoverSelectors ` | array | Multiple elements to hover in sequence |
394+ | ` clickSelector ` | string | Single element to click |
395+ | ` clickSelectors ` | array | Multiple elements to click in sequence |
396+ | ` postInteractionWait ` | string \| number | Wait after interactions (selector or ms) |
397+ | ` scrollToSelector ` | string | Element to scroll into view |
398+ | ` misMatchThreshold ` | number | Allowed mismatch percentage (0-100) |
399+ | ` retryCount ` | number | Extra retries for the scenario (overrides global) |
397400
398401## Scenario Examples
399402
0 commit comments