FrontTailor 1.0.0 (10.11.2026): Inspector, OData, Performance, UI5 2.0, KI und Betrieb für SAP Fiori® und UI5-Apps – in einem Panel. Was drin ist → +43 664 1964199Kontakt →

Scaffolding & Recorder

Der Tab „Scaffolding“ erzeugt Testcode aus der App, wie sie gerade läuft: Page Objects mit stabilen Selektoren, Journeys aus einer Aufzeichnung, ein QUnit-Gerüst für den Controller, Mockdaten aus den aufgezeichneten OData-Requests und Snippets. Den Klickpfad liefert der gemeinsame Recorder.

Edition
ab Pro
Tab
„Scaffolding“
Bereiche
Page Object, Journey, Unit-Test, Mockdaten, Snippets
Frameworks
OPA5, wdi5, Playwright
Recorder
Community, auch in „Problem melden“ und „Health“
Auf PROD
Uneingeschränkt, es wird nur gelesen

Der Tab im Überblick

Öffne die App und im Panel den Tab Scaffolding. Oben wählst du den Bereich: Automatisch (größte sichtbare View), eine bestimmte gerenderte View oder das im Inspector gewählte Control. Neu einlesen liest die View neu. Rechts steht, was erkannt wurde: View, Controller, Zahl der Controls und der Controller-Methoden. ab Pro

Die Karte Erste Schritte fasst den Weg in drei Schritten zusammen: aufzeichnen, generieren, ausführen. Jeder Bereich hat außerdem Mehr erfahren mit Voraussetzungen, Ablageort der Datei und nächsten Schritten, und neben jedem Code steht Code erklärt mit Sprüngen zu den Zeilen.

Page Object erzeugen

Tab Scaffolding mit Bereichswahl, erkannter View ft.demo.freestyle.view.Master, Karte Erste Schritte, Bereich Page Object mit drei Controls, Framework-Wahl OPA5, wdi5, Playwright und dem erzeugten Code
Das Page Object der Master-View der Freestyle-Demo-App, hier für OPA5.
  1. Bereich: welche View oder welcher Container beschrieben wird.
  2. Die erkannte View mit Controller, Zahl der Controls und Controller-Methoden.
  3. Die fünf Bereiche: Page Object, Journey, Unit-Test, Mockdaten, Snippets.
  4. Die interaktiven Controls der View, jeweils mit Rolle und Selektor-Strategie. Der Haken bestimmt, ob ein Control ins Page Object kommt. Daneben Selektor kopieren als ….
  5. Test-Framework: OPA5, wdi5 oder Playwright.
  6. Kopieren und Herunterladen des Codes.

Für jedes Control wählt FrontTailor den stabilsten Selektor, den es gibt:

StrategieWann
View-IDStabile ID in der View – der robusteste Selektor. In Playwright das Ende der DOM-ID, sodass derselbe Locator standalone und im Launchpad läuft.
Globale IDEigene ID außerhalb einer View: stabil, solange die ID eindeutig ist.
MatcherGenerierte ID: Der Selektor nutzt stattdessen Control-Typ, Binding-Pfad oder Text.
Generierte IDGenerierte ID ohne Text oder Binding: Der Selektor wird brechen. Die Oberfläche warnt, der Code markiert die Stelle – gib dem Control eine ID.

Listeneinträge adressiert der Code über die Liste und den Binding-Pfad des Eintrags. Eingegebene Werte von Eingabefeldern gehören nie zur Beschreibung der View.

Den Klickpfad aufzeichnen

Der Recorder ist eine gemeinsame Aufzeichnungsleiste. Sie steht im Bereich Journey, im Tab Problem melden und im Tab Health – alle drei zeigen dieselbe Aufzeichnung. Der Recorder selbst gehört zur Community-Edition; was du daraus machst, hat die Edition des jeweiligen Moduls. Community

  1. Klicke Aufzeichnen – oder starte über die Befehlspalette mit Aufzeichnung starten/stoppen.
  2. Bediene die App wie ein Nutzer. Klicks, Auswahl, Suchen und Navigation werden zu Schritten.
  3. Klicke Stoppen. Schritte kannst du jetzt verschieben oder löschen.
  4. Wähle unter Verwenden als …, was daraus werden soll.
Aufzeichnungsleiste während der Aufzeichnung: Zustand Aufzeichnung läuft, Schrittzähler, Zeit, Stoppen, Freigabe für eingegebenen Text und vier Schritte
Zwei Klicks in die Produktliste ergeben vier Schritte: je ein Klick und die Navigation dazu.
  1. Der Zustand: Aufzeichnung läuft … oder Aufzeichnung aus.
  2. Schrittzähler und Zeit, jeweils mit Grenze: höchstens 200 Schritte und 10 Minuten. Endet eine Aufzeichnung an einer Grenze, sagt die Leiste das.
  3. Stoppen, daneben Verwerfen.
  4. Eingegebenen Text aufzeichnen (maskiert) – standardmäßig aus, siehe unten.
  5. Die Schritte mit Art, Control und Zeitversatz; rechts verschieben und löschen.

Eingaben: Ohne Freigabe zeichnet der Recorder keinen eingegebenen Text und keine Suchbegriffe auf. Der Schritt trägt dann „Wert nicht aufgezeichnet“, der erzeugte Code die Stelle TODO: value not recorded. Mit Freigabe gilt sie nur für diese Aufzeichnung, und die Werte werden schon in der Seite mit den Datenschutz-Regeln von Problem melden maskiert, einschließlich der Pflichtregeln deines Administrators. Der Schlüssel einer Auswahl und der Zustand eines Schalters sind App-Daten und bleiben erhalten, ebenfalls maskiert.

Gestoppte Aufzeichnung mit geöffnetem Menü Verwenden als: Fehlerbericht, OPA5-Journey, wdi5-Journey, Playwright-Journey, Synthetischer Check
Eine Aufzeichnung, fünf Verwendungen.
Verwenden als …Ergebnis
Fehlerbericht (Schritte zum Nachstellen)Hängt alle Schritte als Tabelle „Aufgezeichnete Schritte“ an den Bericht in Problem melden.
OPA5-Journey, wdi5-Journey, Playwright-JourneyÖffnet den Bereich Journey mit diesem Framework.
Synthetischer CheckÜbernimmt Klicks und Schalter in einen Check in Health; Eingaben und Auswahl werden übersprungen und gezählt.

Ist ein Modul nicht lizenziert, steht seine Ausgabe gesperrt mit Editions-Tag im Menü; ist es per Richtlinie abgeschaltet, fehlt sie. Unter Aufzeichnungen speicherst du Aufzeichnungen unter einem Namen im Browser (höchstens 20 pro Origin), lädst und löschst sie und tauschst sie als JSON-Datei aus.

Journey aus der Aufzeichnung

Bereich Journey mit Aufzeichnungsleiste, Quelle Aufzeichnung, Framework Playwright und erzeugtem Test recorded.spec.js
Aus den zwei Klicks wird eine Playwright-Journey mit stabilen Locators.
  1. Schritte aus: Aufzeichnung oder Ausgewählten Controls (die Haken im Page Object).
  2. Framework: OPA5 startet die Component mit iStartMyUIComponent, wdi5 mit wdi5.goTo, Playwright mit page.goto.
  3. Kopieren und Herunterladen.

Prüfungen ergänzt du selbst: Der Code enthält TODO-Zeilen für das erwartete Ergebnis. Mit eingerichtetem KI-Assistenten schlägt Assertions vorschlagen welche vor.

Unit-Test für den Controller

Der Bereich Unit-Test erzeugt ein QUnit-Gerüst mit sap/ui/thirdparty/sinon: ein Test pro eigener Controller-Methode, View, Router und Owner Component gestubbt, Event-Handler bekommen ein oEvent-Stub. Quelltext lädt FrontTailor dafür nicht – die Methoden kommen aus der laufenden App.

Im Editor öffnen öffnet den Controller in VS Code (vscode://file/…). Dazu ordnest du einmal einen Namespace einem lokalen Ordner zu (Workspace-Ordner zuordnen); gespeichert werden nur Pfade. SAP Business Application Studio ist nicht abgedeckt.

Mockdaten

Bereich Mockdaten für den Service ZFT_DEMO_SRV: OData V2, Format von sap/ui/core/util/MockServer, Entity-Sets Categories und Products, Regelsatz, Hinweis zur Maskierung und Vorschau von Categories.json
Mockdaten aus den aufgezeichneten Requests der Demo-App, im Format des V2-MockServers.

Quelle ist die Aufzeichnung der OData-Konsole in diesem Tab. Für OData V2 entstehen localService/metadata.xml, mockdata/<EntitySet>.json und ein mockserver.js; für OData V4 das Layout von @sap-ux/ui5-middleware-fe-mockserver mit ui5-mock.yaml. ZIP herunterladen lädt alles auf einmal.

  • Expandierte Navigationen werden zu Zeilen ihres Entity-Sets, doppelte Zeilen entfallen.
  • Geheimnisähnliche Felder (password, token …) werden ersetzt.
  • Personenbezogene Daten maskiert FrontTailor mit den Regeln von Problem melden plus den Pflichtregeln der Richtlinie. Die Leiste nennt Regelsatz, Zahl der Regeln und der maskierten Werte.
  • Schlüssel und UUIDs bleiben unverändert, damit Navigationen im Mockserver funktionieren. Prüfe die Daten deshalb vor dem Teilen.

Snippets

Der Bereich Snippets enthält 12 eingebaute Vorlagen – unter anderem Formatter, Dialog-Fragment, UI.LineItem, UI.FieldGroup, Common.ValueList, UI.HeaderInfo, CAP-Entity und -Handler, RAP-Projection und -Behavior, OPA5-waitFor. Platzhalter füllt FrontTailor aus dem gewählten Control und einem Entity-Set der aufgezeichneten Metadaten; offene Platzhalter bleiben sichtbar. Eigene Snippets legst du mit Neu an (höchstens 200, im Browser gespeichert) und tauschst sie über Importieren und Exportieren aus.

Typische Probleme

Meldung oder SymptomUrsache und Abhilfe
„Keine gerenderte View gefunden.“Öffne eine View der App und klicke Neu einlesen.
Controls mit Generierte IDIhre Selektoren sind nicht stabil. Vergib in der View eine ID.
„Die Aufzeichnung enthält keine Aktion, die eine Journey wiederholen kann (nur Navigation).“Zeichne Klicks oder Auswahl in der App auf, nicht nur Seitenwechsel über die Adresszeile.
„Diese UI5-Version bietet keinen Event-Hook“In sehr alten Versionen zeichnet der Recorder nur Klicks und Navigation auf.
„In diesem Tab wurden noch keine OData-Requests aufgezeichnet.“Bediene die App, damit die OData-Konsole Requests aufzeichnet, und lies neu ein.
„Einige Requests wurden ohne Inhalt aufgezeichnet“Sie liefen, bevor FrontTailor in der Seite aktiv war. Lade die App neu und lies neu ein.
„Die PII-Regeln konnten nicht geladen werden“Ohne Regelsatz erzeugt FrontTailor bewusst keine Mockdaten. Gleich erneut einlesen.

Siehe auch

Fundstellen auf dieser Seite

Die hochgestellten Ziffern im Text verweisen hierher. Antippen zeigt die Fundstelle direkt an der Textstelle, alle Fundstellen der Website stehen gesammelt auf einer Seite.

  1. 1

    Scaffolding aus der laufenden App ↑Produkt · FrontTailor-Produktdokumentation, ADR-020 „Scaffolding und Snippets“ · geprüft am 09.11.2026

  2. 2

    Gemeinsamer Recorder ↑Produkt · FrontTailor-Produktdokumentation, ADR-028 „Gemeinsamer Recorder“ · geprüft am 09.11.2026

Häufige Fragen

Kurz beantwortet.

Kann FrontTailor OPA5-, wdi5- und Playwright-Tests erzeugen?
Ja. Der Tab Scaffolding (Pro) erzeugt Page Objects und Journeys für alle drei Frameworks aus der laufenden App, dazu ein QUnit-Gerüst für den Controller.
Zeichnet der Recorder meine Eingaben auf?
Standardmäßig nicht. Eingegebener Text und Suchbegriffe werden nur mit Freigabe für eine Aufzeichnung aufgenommen und dann schon in der Seite maskiert.
Was kostet der Recorder?
Der Recorder gehört zur Community-Edition. Was du aus der Aufzeichnung machst – Journey, Fehlerbericht oder synthetischer Check – hat die Edition des jeweiligen Moduls.
Woher kommen die Mockdaten?
Aus den Requests, die die OData-Konsole in diesem Tab aufgezeichnet hat. Personenbezogene Daten werden maskiert, Schlüssel bleiben unverändert.

Deine Frage ist nicht dabei? Sprich mich an: +43 664 1964199 office@clouddna.at Schreib mir

Kontakt

Zehn Tabs zu viel? Sprich mit uns.

Pro und Team kaufst du direkt hier. Für Enterprise, Sideload, Richtlinien, einen Workshop oder einen hartnäckigen Fehler in eurer Fiori-Landschaft: Schreib mir. Ich antworte innerhalb eines Werktags, persönlich.

Martin KochGeschäftsführer, CloudDNAIch lese jede Anfrage selbst und antworte persönlich.