Troubleshooting Journey Issues

If your journey fails to get past the first step

Confirm whether your test environment is accessible from the public internet.
Many connectivity issues arise from the fact that the test environment is protected by a firewall that blocks inbound traffic from the internet. mabl traffic originates from machines in the cloud. To test firewalled environments using mabl, you can whitelist mabl's IP addresses for inbound connections or use mabl Link to create secure tunnels through the firewall.

If you set up mabl Link and receive an error trying to connect, please confirm that the Link agent is running on a machine with Java 9 or later installed.

Note: Many mabl users are surprised by this because their local machines (the devices that they use to "train" mabl) are able to connect to the test environments via a local network or VPN.

Confirm whether your site rejects "bot" traffic.
mabl identifies itself as a "bot" when it connects to your web site. Many web sites and applications block bot traffic by default. If your environment is accessible from the internet but mabl fails to connect, you may need to whitelist mabl traffic from your bot blockers.

If your journey fails to locate an element that appears to be present

Verify that the right element is included in the step
It is not uncommon for web applications to use UI controls in unexpected ways. For example, rather than using native controls such as buttons or check boxes, some apps use images that look like these controls and use Javascript, hidden controls, and hyperlinks to simulate the behavior that the native controls would create. If your step appears to be failing for an unknown reason, verify that you didn't inadvertently include the wrong element in the step via a CSS or xPath query. For example, is the step trying to insert the value of a variable into a frame around an input box rather than the input itself? Are you clicking on an object next to a button rather than the button itself?

If a given element is problematic in your journey, start by inspecting that element's HTML properties in Chrome developer tools. You can access Chrome developer tools from the "View" menu or by right-clicking on a given element and choosing "inspect". Once you have Chrome developer tools open, you can use the inspector to confirm

You can also review best practices for debugging failed journeys for some additional tips.

If your journey passes when run locally (via the mabl trainer) but fails when run from the mabl service

Confirm that the journey was created on a "clean" environment
Each new journey run is performed a brand new container or virtual machine. Frequently, discrepancies between local replay and mabl runs are a result of training on a machine that already has some application state or data that is not present on mabl's pristine execution environments. In order to avoid this, be sure to clear your cookies and log out of the application before creating a journey.

If your journey fails intermittently

Look for timing issues
Latency is highly variable for many applications and in test environments in particular. If a particular journey or step fails intermittently, consider whether there are intermittent spikes in latency in the test environment. If so, consider adding wait steps before the failing steps to account for the spikes in latency.

You can also download detailed performance data for any journey step to get a better understanding of what's going on.

Confirm that the test environment has capacity for mabl load
mabl executes all journeys within a plan by default. Many test environments are deployed on infrastructure that is not designed to handle many concurrent users. If you have unexpected failures, try running a single journey at a time to see if they pass. If journeys pass when run serially but not when run concurrently, try breaking the plan into separate plans that include a smaller number of journeys.

If your journey is taking longer than expected to run

Remove unnecessary hovers
When you record hovers, mabl collects a large amount of hidden data and steps that may slow down the execution of your plans. Hovers are hidden in the regular test output to remove clutter. They are shown and can be deleted when training or editing a journey via the mabl trainers. You can speed up your test run by removing any unnecessary hover actions (see deleting hovers).

Replace slow steps
If some steps take considerably longer than others, consider replacing the slow ones more efficient actions. Some steps take a long time because mabl has very little information upon which to locate elements. In those cases, mabl tries to locate the element for 30 seconds using default methods before searching the page using more sophisticated heuristics (you can see details on these in the output logs). These add minutes to the run time for your journeys.

If you notice mabl consistently "searching" for a given element, consider adding a unique ID or CSS classname to the element if possible. If that is not possible, try replacing the step with an explicit search for the item (using a CSS or xPath query).

If your journey cannot connect to a private testing environment

Confirm Link Agent Connectivity
When running a plan or journey that is associated with a Link Agent, ensure that it has been activated. Under Settings —> Networking, you should see an entry named with the agent you just started. The Link Agent should become Connected and show state Ready within a couple of minutes after starting it. You can also review the Link Agent FAQs for additional information that can help with troubleshooting.

If your journey fails on a hover step

Try replacing recorded hovers with CSS hovers
Given that it is challenging to record hovers precisely, we recommend using CSS selectors to find the elements that you want to include in hover steps. You can access this via the "Find Elements" option within the mabl trainer.

Used effectively, CSS selectors can reduce the likelihood that your journey will fail due to mabl hovering on the wrong element.

Troubleshooting Journey Issues


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.