Settings
BlinqIO gives you fine-grained control over how the AI Recorder captures interactions and how the execution engine runs your tests. The Settings page is where you configure browser behavior, timeouts, popup handling, and advanced Playwright options: all without writing code.
AI Settings
The AI Settings tab provides a JSON editor for customizing the AI Recorder and Test Execution engine. Every configuration key maps to a specific behavior, and the editor includes autocomplete so you can discover available options as you type.
How to Modify AI Settings
- Navigate to Settings in the left sidebar and select the AI Settings tab.
- Click Edit Settings.
- Add or edit configuration keys in the JSON editor.
TIP
Start typing a property name (e.g., "view...") to see autocomplete suggestions. Selecting a key from the list provides a sample value you can modify.
- Click Save.
The editor validates your input against a predefined schema. If there are syntax errors or invalid data types, the save will fail with a message indicating the issue.
Configuration Reference
1. Viewport and Browser Appearance
| Key | Type | Description |
|---|---|---|
viewport | Object | Sets the browser window width and height (e.g., { "width": 1200, "height": 800 }). |
noViewport | Boolean | If true, the host OS decides the window size. Can lead to inconsistent results across machines. |
fullPageScreenshotOnFailure | Boolean | When true, captures a screenshot of the entire scrollable page on test failure, not just the visible area. |
load_all_lazy | Boolean | If true, the runner scrolls through the page to trigger lazy-loaded elements before proceeding. |
2. Browser Engine Selection
By default, tests run on a bundled Chromium browser. Use these keys to override:
| Key | Type | Description |
|---|---|---|
useGoogleChrome | Boolean | Use the Google Chrome installation on the host machine. |
useMicrosoftEdge | Boolean | Use Microsoft Edge. |
overrideUserAgent | String | Spoof the browser's User Agent string for device-specific testing. |
3. Execution and Performance
| Key | Type | Description |
|---|---|---|
fastMode | Boolean | Speeds up execution. Use with caution: steps may fail if the application needs time to render. |
page_timeout | Number | Maximum time in milliseconds to wait for a page to load. Default: 60000. |
find_element_timeout | Number | Maximum time in milliseconds the AI searches for an element before timing out. |
stableLocatorStrategy | String | Preferred element identification strategy at runtime (e.g., prioritize data-testid over CSS selectors). |
4. Dialogs and Popups
| Key | Type | Description |
|---|---|---|
acceptDialog | Boolean | Automatically clicks "OK" or "Accept" on native browser alerts and dialogs. |
closePopups | Boolean | Automatically attempts to close unexpected popups during execution. |
popupHandlers | Array | Specific locator and action pairs for handling application popups. See Handling Dynamic Popups. |
5. Network and Synchronization
These settings control when the execution engine considers a page "ready" and proceeds to the next action:
| Key | Type | Description |
|---|---|---|
networkidle | Boolean | Wait until there are no active network requests for at least 500ms. |
load | Boolean | Wait for the standard browser load event. |
domcontentloaded | Boolean | Wait for the HTML to be fully loaded and parsed. |
Advanced: Context Options
The contextOptions object maps directly to the Playwright Browser Context API. Use it to simulate specific user environments:
json
"contextOptions": {
"ignoreHTTPSErrors": true,
"locale": "en-GB",
"timezoneId": "Europe/London",
"geolocation": {
"latitude": 51.5074,
"longitude": -0.1278
},
"permissions": ["geolocation", "microphone", "camera"]
}Common use cases: testing locale-specific formatting, verifying geolocation features, allowing browser permissions that your application requires.
Browser Options: Tag-Based Overrides
The browserOptions object lets you define named configuration sets that activate only when a scenario has a matching Gherkin tag. Tag your scenario with @browserOptions__<key> to apply the override.
Example: Run a specific scenario in a Japanese locale:
json
"browserOptions": {
"languageAutodetect": {
"locale": "ja-JP"
}
}Then tag your Gherkin scenario:
gherkin
@browserOptions__languageAutodetect
Scenario: Verify Japanese locale formatting
Given I navigate to the settings page
...This keeps your default configuration clean while allowing per-scenario overrides for locale, viewport, or any other context option.
Handling Dynamic Popups
Applications often display popups at unpredictable times: cookie consent banners, promotional overlays, chat widgets. Instead of failing when these appear, configure popupHandlers to dismiss them automatically.
Each handler needs two pieces of information:
- Popup locator: How to identify the popup element (CSS selector or text).
- Action button locator: Which button to click to dismiss it.
Add the handlers in AI Settings:
json
"popupHandlers": [
{
"popup": "text=Accept Cookies",
"action": "text=Accept"
},
{
"popup": ".promo-overlay",
"action": ".promo-overlay .close-btn"
}
]The execution engine checks for these popups before each step and dismisses them if found, keeping your test flow uninterrupted.
Application Map
The Application Map is a visual representation of your test coverage. It shows:
- The navigation flow between pages in your application.
- ARIA snapshots of each visited page.
- Which steps have been executed on each page.
The map builds automatically as you record and run tests, giving you a living picture of how thoroughly your application is covered.
Application Memory
As the Application Map grows, BlinqIO builds Application Memory in the background. This memory captures patterns in your application's structure and behavior, which the AI uses to:
- Generate more accurate scenarios from natural language descriptions.
- Suggest more reliable element locators.
- Predict likely user flows for new features.
Application Memory improves over time as more tests are recorded and executed.
Additional Options
Skip run reports: Set UPLOADREPORTS=false in AI Settings to suppress report uploads after test runs. You can also pass it per execution as an environment variable.
Full page screenshot on failure: Set fullPageScreenshotOnFailure to true to capture the entire scrollable page when a test fails, not just the visible viewport. This is useful for debugging failures that involve off-screen content.
