# Advanced Settings

Configure per-test-suite advanced settings for timeouts, screenshots, self-healing, browser behavior, and more

Part of the Endtest documentation (Advanced). Canonical URL: https://endtest.io/docs/advanced/advanced-settings

---
## Introduction

You can configure the Advanced Settings for each test suite individually.

The following options can be configured:

1. Visual Tolerance (%)
2. Visual Fuzz (%)
3. Page Load Timeout (s)
4. Element Load Timeout (s)
5. Automatic Timestamps
6. Automatic Screenshots
7. Error Handling
8. Failed Assertion
9. Store Backup Locators
10. Self-Healing
11. Video Recording
12. Live Video
13. Edit Mode
14. Add Chrome Extension
15. Auto Grant Permissions
16. Alert Handling
17. Appium Version
18. Geolocation
19. Drag and Drop
20. Proxy IP
21. No Reset
22. Max Number of Errors
23. App Settings JSON
24. Browser Logs
25. Switch Browser Tabs
26. Custom User Agent
27. Browser Mode
28. Network Logs

[Video](https://endtest-videos.s3-us-west-2.amazonaws.com/documentation/endtest_advanced_settings.mp4)

 

## 1. Visual Tolerance (%)

This option is used to set the accuracy for the screenshot comparison operations.

For example, if you select 5%, your assertion will fail if the difference between the screenshots is more than 5%.

If the screenshots have different sizes, the larger one will be automatically resized to match the smaller one.

More details about this functionality are available in the [Visual AI](https://endtest.io/docs/advanced/visual-ai) chapter.

## 2. Visual Fuzz (%)

This option is used to set the precision for the screenshot comparison operations.

A smaller value will lead to a more precise screenshot comparison.

A higher value will lead to a less precise screenshot comparison.

An optimal value for the Visual Fuzz (%) is somewhere between 2% and 20%, but you can select values between 1% and 50%.

More details about this functionality are available in the [Visual AI](https://endtest.io/docs/advanced/visual-ai) chapter.

## 3. Page Load Timeout (s)

This defines the maximum amount of time that our engine will wait for a page to load.

If the page does not load within that time, an error will be thrown.

The setting also applies for AJAX requests sent by your application.

## 4. Element Load Timeout (s)

This defines the maximum amount of time that our engine will wait for an element to load.

If the element does not load within that time, an error will be thrown.

## 5. Automatic Timestamps

If set to `On every error or failure`, a timestamp will be added to the logs each time an error or failure is encountered.

If set to `On every step`, a timestamp will be added to the logs each time a step is executed.

If set to `Disabled`, no timestamps will be taken automatically.

## 6. Automatic Screenshots

If set to `On every error or failure`, a screenshot will be taken each time an error or failure is encountered.

If set to `On every step`, a screenshot will be taken each time a step is executed.

If set to `Disabled`, no screenshots will be taken automatically.

## 7. Error Handling

The option allows you to choose if the test will automatically stop when it encounters the first error or if it will continue.

## 8. Failed Assertion

The option allows you to choose if the test will automatically stop when it encounters the first failed assertion or if it will continue.

## 9. Store Backup Locators

If enabled, our engine will store additional locators for the elements used in your test.

These backup locators give `Self-Healing` more ways to identify the same element if your application changes in a future test run.

Having `Store Backup Locators` enabled in previous successful test runs increases the chances of `Self-Healing` repairing steps quickly and accurately.

More details are available in the [Self-Healing Tests](https://endtest.io/docs/advanced/self-healing-tests) chapter.

> **Warning:** Enabling this option slows down your test execution.

## 10. Self-Healing

If enabled, our engine will automatically repair broken element locators when an element cannot be found.

It first checks the backup locators stored by the `Store Backup Locators` option. If those are not available, it uses AI to find an alternative locator.

More details about this functionality are available in the [Self-Healing Tests](https://endtest.io/docs/advanced/self-healing-tests) chapter.

> **Warning:** Enabling this option slows down your test execution.

## 11. Video Recording

If enabled, a video recording for the test execution will be available in the [Results](https://app.endtest.io/results) section.

## 12. Live Video

If enabled, a live video feed of the test execution will be shown in the [Results](https://app.endtest.io/results) section.

> **Warning:** Enabling this option slows down your test execution.

## 13. Edit Mode

This option relates to how you edit a step from a test.

If set to `Clean`, the values in the inputs from that step will be deleted when you change the locator type.

If set to `Smart`, the values in the inputs from that step will be kept when you change the locator type.

## 14. Add Chrome Extension

This option is available only for Web Tests.

You can add a `Chrome Extension` that will be loaded in the `Chrome` browser once the test execution starts.

Detailed instructions are provided in the [How to test Chrome Extensions](https://endtest.io/docs/web-tests/how-to-test-chrome-extensions) chapter.

> **Note:** The Chrome Extension is loaded only if the test is executed in Chrome.

## 15. Auto Grant Permissions

This option is available only for Mobile Tests.

If set to `True`, the permissions will be automatically granted to the mobile application.

If set to `False`, the permissions will not be automatically granted to the mobile application.

## 16. Alert Handling

This option is available for Web Tests and Mobile Tests.

If set to `Accept Alerts`, the alerts will be automatically accepted.

If set to `Dismiss Alerts`, the alerts will be automatically dismissed.

If set to `Ignore Alerts`, the alerts will be ignored and you can choose to add a `Close alert` step (for Web Tests) or a `Single Tap` (for Mobile Tests) step to accept or dismiss the alerts.

Using the `Ignore Alerts` option for Web Tests may cause your test execution to get stuck or encounter errors, since the presence of an alert can affect the functionality of the test. You will need to use the `Close alert` option from the `Miscellaneous` action in order to accept and close those alerts.

## 17. Appium Version

This option is available only for Mobile Tests.

It allows you to select the Appium version for each test suite.

## 18. Geolocation

This option is available only for Web Tests.

It allows you to select the Geolocation type: HTML5 Geolocation or Real IP Geolocation.

You can also completely disable the Geolocation by selecting the None option.

## 19. Drag and Drop

This option is available only for Web Tests.

It allows you to select the technology used to perform a Drag and Drop: JavaScript or WebDriver.

## 20. Proxy IP

This option is available only for Web Tests.

It allows you to route the traffic from that test through the Proxy IP that you provide.

The Proxy IP that you provide needs to allow traffic from our list of Secure Gateway IP addresses.

## 21. No Reset

This option is available only for Mobile Tests.

If the option is set to Enabled, the app data will not be cleared if you close the app during a test execution.

In all situations, regardless of the No Reset option, the app data will be cleared once the test execution or the recording is finished.

## 22. Max Number of Errors

If a test execution reaches this number, it will automatically stop.

The default value is `10`.

The idea behind this setting is that a large number of errors in a test execution might signal that something unexpected happened, such as the environment being down.

Depending on the error type, the presence of each error might increase the duration of the test execution.

For example, an `Element not found` error means that the test already waited for a number of seconds for that element to be present, the number of seconds in that case being the actual `Element Load Timeout` value.

## 23. App Settings JSON

This option is available only for Mobile Tests.

The option enables you to update iOS app settings by using [iOS Settings bundle](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/UserDefaults/Preferences/Preferences.html#//apple_ref/doc/uid/10000059i-CH6-SW5).

The mobile device grid provider must also support this capability.

## 24. Browser Logs

- `Standard`: Captures logs from the Console tab only.
- `Advanced`: Includes logs from both the Console and Network tabs.

Using `Advanced` may lead to longer test execution times.

## 25. Switch Browser Tabs

As of February 2025, the logic for switching browser tabs has been updated.

Please be aware that some existing tests may rely on workarounds that function only with the previous method. To manage these situations, we have introduced the `Switch Browser Tabs` setting:

- `Standard`: Uses the updated switching logic.
- `Legacy`: Continues to use the previous logic.

The `Legacy` option is slated for deprecation. We recommend using the `Standard` option for future-proofing your tests.

## 26. Custom User Agent

The option allows you to overwrite the User Agent from the browser.

This may cause some websites to behave differently or block access.

## 27. Browser Mode

You can choose between `Normal` and `Headless`.

## 28. Network Logs

This setting is available only for Mobile Tests. You can choose between `Enabled` and `Disabled`.

> **Note:** For Web Tests, see the Browser Logs setting.
