FrontTailor 1.0.0 (10 November 2026): inspector, OData, performance, UI5 2.0, AI and operations for SAP Fiori® and UI5 apps – in one panel. What’s inside → +43 664 1964199Contact →

Fault simulation

Fault simulation answers matching OData requests of your tab right in the browser: with an SAP error text, delayed, empty or as an expired session. That is how you test error dialogs, busy indicators and “no data” texts, without a backend and without a mock server. Other users and the system notice nothing.

Edition
from Pro
Tab
“Fault simulation”
Surfaces
DevTools panel and side panel
Scope
this tab only, until it is closed
Limits
up to 30 rules per tab
On PROD
locked, switching off always possible

The tab at a glance

The Fault simulation tab is in the DevTools panel and the side panel, with many tabs under More. The quick starts are at the top, your rules below.

Fault simulation tab with six quick starts, an empty rule list and the note Everything stays in your browser
The empty tab on the freestyle demo app.
  1. Switch on on a quick start adds the rule and activates it right away.
  2. New rule opens the editor for a rule of your own.
  3. The rule list – still empty here.
  4. “Everything stays in your browser: the rules apply to this tab only, survive a reload and end when the tab is closed.”
Quick startEffect
Session expiredThe next change gets 403 with x-csrf-token: Required. UI5 should fetch a new token and repeat it unnoticed.
No authorizationEvery request gets 403 with a Gateway error message.
Slow backend (3 s)Every request is answered 3 seconds later.
Empty listEvery list read returns no entries.
Server error on saveEvery change fails with 500. Nothing reaches the server.
Timeout (504 after 10 s)Requests wait 10 seconds and then fail with 504.

A quick start applies to every OData request. Edit it to narrow it down to one service or entity set.

As long as a rule is active, the app shows the banner Fault simulation active with the number of rules at the bottom. A click on Switch off in the banner switches everything off – immediately; the rules are kept, switched off.

Freestyle demo app with search e and the text No products found, at the bottom the banner Fault simulation active (1 rule) with Switch off
Quick start “Empty list”: the search finds nothing, the banner shows the active rule.
  1. The app shows its “no data” text – the answer came from the simulation, not from the server.
  2. The banner in the page. Switch off ends the simulation in this tab.

In the OData console, simulated answers are marked simulated (for $batch: “n simulated”), and the details say “Simulated by FrontTailor – rule …”.

Create a rule of your own

  1. In the Fault simulation tab, click New rule.
  2. Under Which requests, set service, entity set, method and where – empty means “all”.
  3. Under What happens, choose the effect, for example HTTP error with status 500 and your own error message.
  4. Under How often, choose Once, N times or Always.
  5. Save and switch on. Then trigger the action in the app.
New rule dialog with name, service, entity set Products, method, where, effect HTTP error, status 500, error message and how often Once
A rule for Products: one HTTP 500 with its own message.
  1. Entity set, e.g. Products; $metadata matches the metadata document. Empty matches all except $metadata, the service document and the token fetch.
  2. Method: any, read (GET), change (POST, PUT, PATCH, MERGE, DELETE) or a single one. Next to it Where: direct requests, $batch parts or both.
  3. Effect, see the table below.
  4. Error message: the app shows it like a message from the backend. Below, optionally a Gateway innererror with transaction ID and timestamp.
  5. How often: counted per HTTP request, a $batch counts once.
  6. Save and switch on.
EffectWhat the app gets
HTTP errorStatus 400–599 with an SAP error text, as OData V2 or V4 – the way the service expects it. Code FT_SIMULATION/<status>.
DelayThe real answer arrives later (up to 120,000 ms). For $batch, the whole batch waits.
Empty resultLists empty, $count returns 0, a single entity returns 404. Only for reads.
Custom JSONYour JSON body with status 200–599.
Network errorNo answer, as if the connection broke. For $batch, the whole batch fails.
Expired session (CSRF)403 with x-csrf-token: Required for changes. UI5 fetches a new token and repeats once; with Always the repeat fails too.

Every effect can get an additional delay in ms. The first matching rule wins.

Error dialog of the demo app: HTTP 500 with the own message Product cannot be read right now (test)
The app shows the simulated error like a real one.
  1. The app’s error dialog with the status and the message from the rule.

The rule list

Rule list with two rules: Empty list off and Product read fails used up, 1× simulated
After the test: the once-only rule is used up.
  1. The switch turns the rule on or off. Switching on restarts a used-up rule.
  2. The state: Active, Off or Used up.
  3. How often the rule has answered so far, e.g. “1× simulated”. To the right, edit and delete the rule.

Below each rule is its summary: method, entity set, effect and count. Switch everything off above the list ends all rules at once.

A rule from a real request

In the OData console, a request’s details offer Simulate error for this request. It opens the editor with the request’s service, entity set and method; for a $batch part also with “only $batch parts”.

$batch and change sets

Rules match direct requests and single $batch parts, never the envelope. A simulated part is removed from the real request – changes do not reach the server. The other parts go to the server, and its answer is merged with the simulated parts. Change sets stay atomic: an error answers the whole change set. Delay, network error and CSRF act on the whole HTTP request.

All buttons

ButtonEffect
Switch on (quick start)Add the rule and activate it right away.
New ruleEditor for a rule of your own.
Save and switch on · CancelStore and activate the rule · close the editor.
Switch per ruleTurn the rule on or off.
Edit rule · Delete ruleOpen the editor · remove the rule.
Switch everything offTurn off all rules of this tab.
Switch off (banner in the app)Like “Switch everything off”, right from the page.

Typical problems

ProblemSolution
The rule does not applyService or entity set do not match, or an earlier rule matches first. The hit count in the list shows which rule answers.
Errors at app start cannot be simulatedCreate the rule and reload the page. With active rules, FrontTailor holds back OData requests at start briefly (at most 1.5 seconds) until the rules are there.
Empty result has no effect when savingIt applies to reads only. For changes, use HTTP error or the quick start Server error on save.
A success inside a change set is ignoredChange sets are atomic; only an error acts on the whole change set.
Some requests are never simulatedSynchronous XHR, navigator.sendBeacon and requests of the app’s service worker are out of reach. JSON $batch (OData 4.01) is not simulated partially.
The tab is lockedFault simulation needs from Pro; on PROD hosts it is always locked. See Licence and editions.

See also

Sources on this page

The superscript numbers in the text point here. Tap one to see the source right where it is used; all sources of this website are listed on one page.

  1. 1

    OData fault simulation ↑Product · FrontTailor product documentation, ADR-037 “Fault simulation” · checked on 2026-11-09

Frequently asked

Short answers.

Do I need a mock server for fault simulation?
No. FrontTailor answers matching OData requests right in the browser. Simulated requests never reach the server.
Do other users notice the simulation?
No. The rules apply to your tab only and end when the tab is closed. Nothing is sent to a server.
Can I simulate errors on a productive system?
No. On a host marked as PROD, fault simulation is locked, in the panel and in the extension’s background. Switching off is always possible.
Which edition do I need?
Fault simulation is part of FrontTailor Pro.

Your question isn’t here? Talk to me: +43 664 1964199 office@clouddna.at Get in touch

Contact

Ten tabs too many? Talk to us.

You buy Pro and Team right here. For Enterprise, sideloading, policies, a workshop or a stubborn bug in your Fiori landscape: write to me. I reply within one working day, personally.

Martin KochManaging Director, CloudDNAI read every request myself and reply personally.