Der Testmodus für Formulare ermöglicht Tests mit einem im Formulareditor vorliegenden Formulardesign, ohne dass dieses vorher gespeichert und veröffentlicht werden muss.
WICHTIG Gemeinsamkeiten und Unterschiede zwischen Tests und dem Testmodus für Formulare
Im Testmodus für Formulare gilt wie beim Ausführen von Tests die
isTestVariable im Kontext von Ereignisbehandlungen als gesetzt ($true) sowie dies auch für die VariableVAR_IS_TESTim Kontext von Profilaufrufen gilt. Über dieses Kennzeichen können in Profilen und Ereignisbehandlungen spezifische Abläufe für “Testbetrieb” vs. “Echtbetrieb” definiert werden (z. B. Antwortwege mit Abhängigkeiten in Profilen). Innerhalb von Formularen kann dieisTest-Variable in einem Client Workflow geprüft werden. Außerdem liefert das Ist Editor Testmodus-Verhalten eine Fallunterscheidung mit der entsprechenden Charakteristik.Beim Ausführen von Tests für Konfigurationen (z. B. Ereignisbehandlungen, Zuordnungskriterien, Regeln und Werte, usw.) kategorisch kein effektiver Commit ausgeführt, so dass Tests nur Sonderfällen (z. B. Dateireferenz) persistente Datenänderungen bewirken. Im Testmodus für Formulare werden dagegen grundsätzlich sämtliche Mechanismen, die im Kontext eines Formulars konfigurierbar sind, auch effektiv “ausgelöst”. Im Unterschied zu Tests werden dabei ggf. auch Commits ausgeführt, z. B. wenn Ereignisbehandlungen Ereignisaktionen wie Änderungen später speichern oder Später löschen enthalten, die das Erstellen, Ändern oder Löschen von Entitäten (s. Allgemein (Ereignisse)) betreffen.
AUSNAHME Bestimmte Ereignisaktionen (z. B. E-Mail-Versand oder ein Profilaufruf als Export) werden nicht ausgeführt, wenn dieisTest-Variable den Wert$trueenthält. Dies greift damit auch für deren Ausführung im Testmodus für Formulare.
HINWEIS Falls entsprechende Aktionen ausdrücklich auch im Testmodus für Formulare ausgeführt werden sollen, muss der Wert derisTest-Variable vor der Ausführung der Aktionen explizit auf$falseoder$nullgesetzt werden.
Testmodus verwenden

Im Ribbon für alle per Formulardesigner erzeugten Konfigurationen (Erfassungsmasken, Portale, Dashboard) zeigt die Unterkategorie “Editor” (in der Hauptkategorie “Allgemein”) den Button für den “Testmodus”.
HINWEIS Nach dem Öffnen einer neuen View mit dem Formulardesigner erscheint der Testmodus-Button im Ribbon solange deaktiviert, bis der “Formulareditor”-Tab erstmalig ausgewählt wird. Im Screenshot oben ist der Testmodus-Button bereits aktiviert.
Der Testmodus-Button zeigt das “Play”-Symbol (►) genau dann, wenn der Testmodus inaktiv ist. Das Formular kann dann im Formulareditor bearbeitet werden.
Ein Klick auf den Testmodus-Button startet den Testmodus in diesem Fall.
Ist der Testmodus aktiv (s. folgender Screenshot unten), zeigt der Testmodus-Button das “Stop”-Symbol (■). Das Formular kann dann ausschließlich “operativ” getestet aber nicht mehr bearbeitet werden.
Ein Klick auf den Testmodus-Button stoppt den Testmodus in diesem Fall.

HINWEIS Das Ausführen der Aktion Schließen anfordern für ein im Testmodus betriebenes Formular beenden nur den Testmodus und schließt nicht etwa die View mit dem Formulardesigner.
WICHTIG Falls ein Formular Ribbon Button (Portal)-Elemente enthält, erscheinen diese beim Betrieb im Testmodus (sofern sichtbar) als zusätzliche Buttons im Ribbon für den Formulardesigner.
Testdaten laden (für Erfassungsmasken)
Für Erfassungsmasken bietet der Testmodus-Button per Rechtsklick ein Kontextmenü an, über die Daten existierender Entitäten in das Formular geladen werden können.

Initial enthält das Kontextmenü genau einen Eintrag (s. Screenshot), der zum Öffnen des folgenden Dialogs zum “Testdaten laden” dient:

ANMERKUNG Anstelle von “<Entität>” erscheint die Lokalisierung für den Namen ($name) des Entitätstyps auf den sich die Erfassungsmaske bezieht.
Wenn im Eingabefeld die “ID” (
id) einer existierenden Instanz für den betreffenden Entitätstyp eingegeben wird, wird der Testmodus für die Erfassungsmaske per Klick auf den OK-Button mit den Daten dieser Entität gestartet, sofern für diese Daten Lesezugriff besteht.Existiert die per ID angeforderte Entität nicht oder besteht kein entsprechender Lesezugriff für diese, dann startet der Testmodus mit einer neu erzeugten Instanz des Entitätstyps, so als wäre der Testmodus-Button direkt angeklickt worden.
Bereits für Tests angeforderte IDs erscheinen beim nächsten Zugriff auf das Kontextmenü als Einträge zur Auswahl, so dass eine Erfassungsmaske abwechselnd mit unterschiedlichen Testdaten ausgeführt werden kann.
HINWEIS Das Kontextmenü wird nur zum Starten des Testmodus eingeblendet, also wenn diese gestoppt ist. Zum “Wechseln der Entität” muss ein Test also gestoppt und dann über das Kontextmenü neu gestartet werden.

Die Liste der bereits angeforderten Entitäten bleibt erhalten, bis die View zum Bearbeiten der Erfassungsmaske geschlossen wird.
Wenn ein Wechsel zwischen unterschiedlichen Designs für Erfassungsmasken für denselben Entitätstyp ausgeführt wird, ohne die Formulardesigner-View zu schließen, dann können diese abwechselnd in unterschiedlichen Formularlayouts getestet werden.
WARNUNG Aktionen im Testmodus für Formulare können Entitäten dauerhaft ändern, löschen oder erstellen!
Typischerweise sollen im Testmodus für Formulare die als Testdaten geladenen Entitäten dauerhaft nicht geändert oder gelöscht werden. Auch das dauerhafte Erstellen von Entitäten ist in der Regel nicht das Ziel von Formular-Tests.
Weil im Testmodus auch das im “Echtbetrieb” über Zuweisungen für den Kontext anwendbare Ribbon (mit Buttons wie “Neu’”, “Speichern”, “Löschen”, usw.) nicht angezeigt wird, könnte der Eindruck entstehen, dass Entitäten vor Änderungen im Testmodus geschützt wären.
Der Testmodus schützt die als Testdaten geladenen Entitäten allerdings nicht vollumfänglich und kategorisch vor Schreibzugriffen (Erstellen, Ändern, Löschen, usw.).
Wenn das getestete Formular Ereignisse auslöst, bei deren Verarbeitung Aktionen wie Änderungen später speichern, Später löschen oder auch Aktuellen Arbeitsstatus setzen ausgeführt werden, wirken diese mit dem erfolgreichen Abschluss der Transaktion sehr wohl persistent.
Dasselbe gilt für solche Zugriffe auf Entitäten, die über eingebettete Formulare und/oder Automatisierungsfunktionen in die getesteten Abläufe einbezogen sind. Auch im Test ausgelöste Profilaufrufe können dauerhafte Änderungen an Daten bewirken.
ACHTUNG Eingeschränkte Berücksichtigung von Zuordnungskriterien im Testmodus für Formulare
Formulare können die Verhaltensweise Zuordnungskriterium zutreffend verwenden, um Fallunterscheidungen im Automatisierungskontext an Zuordnungskriterien zu binden.
Im operativen Betrieb eines Formulars werden die Rückgabewerte von solchen Zuordnungskriterien genau dann ermittelt, wenn das Formular initial geladen oder darin die Aktion Kontext ungültig machen ausgeführt wird.
Der Testmodus für Formulare bedingt in diesem Zusammenhang Einschränkungen, die ggf. zu berücksichtigen sind:
Die Aktion Kontext ungültig machen wird für das getestete Formular kategorisch nicht ausgeführt. Während des Tests werden Zuordnungskriterien also nie erneut ausgewertet.
Wird der Testmodus mit Testdaten gestartet, entfällt die Auswertung von Zuordnungskriterien. Für den Test gelten die zuletzt ermittelten Rückgabewerte, die entweder beim Betreten des “Formulareditor”-Tabs oder beim letzten Starten des Testmodus ohne Testdaten ermittelt wurden.
Aufgrund dieser Einschränkungen werten Zuordnungskriterien, die sich auf Eigenschaften des Eingabewerts beziehen, im Testmodus für Formulare beim Start zugewiesene Testdaten oder im Test geänderte Daten niemals aus.
Formulare, in denen solche Zuordnungskriterien — z. B. im Kontext der Verhaltensweise Zuordnungskriterium zutreffend — ausgewertet werden, können im Testmodus für Formulare eine vom operativen Betrieb abweichende Charakteristik zeigen.
Die betrifft auch zeitlich veränderliche Zuordnungskriterien (z. B. mit einer Regel bzgl. der aktuellen Systemzeit oder eine Prüfung vorhanden), die im operativen Betrieb durch die Aktion Kontext ungültig machen wiederholt ausgewertet würden.
WICHTIG Zuweisungen von Zuordnungskriterien zu Erfassungsmasken spielen für den Testmodus keine Rolle. Tests sind also auch mit Formularen möglich, für die noch keine Zuweisungen existieren oder deren zugewiesene Kriterien im Kontext der Sitzung nicht anwendbar sind.