> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# TestMode

> TestMode-Aktionen: Testmodus im Frontend aktivieren, deaktivieren und zwischen Test- und Live-Modus wechseln, ohne Live-Betrieb zu beeinflussen.

In diesem Abschnitt werden die verfügbaren Aktionen im Bereich Testmodus beschrieben. Mit diesen Aktionen kann der Testmodus aktiviert, deaktiviert und gewechselt werden.

***

## Aktionen im Überblick

| **Aktion**       | **Beschreibung**                |
| ---------------- | ------------------------------- |
| `TestModeOn`     | Aktiviert den Testmodus.        |
| `TestModeOff`    | Deaktiviert den Testmodus.      |
| `TestModeChange` | Wechselt den aktiven Testmodus. |

***

## Aktionen

### TestModeOn

Mit dieser Aktion wird der Testmodus aktiviert. Der Benutzer muss dafür das konfigurierte Testmodus-Passwort angeben.

**Anwendungsbeispiel**\
Nutzbar auf der Testmodus Seite (`testMode.htm`), über die Shopbetreiber oder Tester den Testmodus mit einem Passwort aktivieren können, um testspezifische Inhalte zu sehen.

**Parameter**

| **Name**   | **Beschreibung**                                   |
| ---------- | -------------------------------------------------- |
| `password` | Das Passwort zur Aktivierung des Testmodus.        |
| `debug`    | Aktiviert das erweiterte Debugging (Wert: “`on`”). |

**Fehlercodes**

| **Fehlercode**    | **Beschreibung**                    |
| ----------------- | ----------------------------------- |
| `missingPassword` | Parameter `password` fehlt.         |
| `invalidPassword` | Das angegebene Passwort ist falsch. |

**Zugehörige Module, Variablen & Methoden**

* [\$wsTestMode](/frontend/referenz/module/wstestmode)
* [\$wsTestMode.active](/frontend/referenz/module/wstestmode#\$wstestmode-active)
* [\$wsTestMode.debug](/frontend/referenz/module/wstestmode#\$wstestmode-debug)

**Beispiel** das zeigt, wie der Testmodus über ein Passwortformular aktiviert wird, optional mit Debugging.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ var $cActionTestModeOn = $wsActions.create("TestModeOn") }}
<form method="post" action="{{= $wsViews.current.url() }}">
    <input type="hidden" name="wscsrf" value="{{= $myActionTestModeOn.csrf }}">
    <input type="hidden" name="wsact" value="{{= $myActionTestModeOn.id }}">
    <input type="hidden" name="wstarget" value="/">
    <input type="password" name="password">
    <input type="checkbox" name="debug" value="on"{{ if $wsTestMode.debug }} checked{{ /if }}>
    <button type="submit">Testmodus aktivieren.</button>
</form>
```

***

### TestModeOff

Mit dieser Aktion wird der Testmodus deaktiviert und der Shop kehrt in den normalen Live-Betrieb zurück.

**Anwendungsbeispiel**\
Nutzbar auf der Testmodus-Seite oder im Shop-Header, um den Testmodus direkt im Shop zu deaktivieren.

**Zugehörige Module, Variablen & Methoden**

* [\$wsTestMode](/frontend/referenz/module/wstestmode)
* [\$wsTestMode.active](/frontend/referenz/module/wstestmode#\$wstestmode-active)

**Beispiel** das zeigt, wie der Testmodus über einen Button deaktiviert wird.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ var $myActionTestModeOff = $wsActions.create("TestModeOff") }}
<form method="post" action="{{= $wsViews.current.url() }}">
    <input type="hidden" name="wscsrf" value="{{= $myActionTestModeOff.csrf }}">
    <input type="hidden" name="wsact" value="{{= $myActionTestModeOff.id }}">
    <input type="hidden" name="wstarget" value="/">
    <button type="submit">Testmodus deaktivieren.</button>
</form>
```

***

### TestModeChange

Mit dieser Aktion wird der aktive Testmodus gewechselt, ohne ihn komplett zu deaktivieren. Dies ist nützlich, wenn mehrere Testmodi konfiguriert sind.

**Anwendungsbeispiel**\
Nutzbar auf der Testmodus-Seite, wenn verschiedene Testszenarien oder Konfigurationen parallel verfügbar sind und zwischen diesen gewechselt werden soll.

**Parameter**

| **Name** | **Beschreibung**                                                    |
| -------- | ------------------------------------------------------------------- |
| `debug`  | Aktiviert oder deaktiviert das erweiterte Debugging (Wert: “`on`”). |

**Fehlercodes**

| **Fehlercode**    | **Beschreibung**                    |
| ----------------- | ----------------------------------- |
| `invalidPassword` | Das angegebene Passwort ist falsch. |

**Zugehörige Module, Variablen & Methoden**

* [\$wsTestMode](/frontend/referenz/module/wstestmode)
* [\$wsTestMode.active](/frontend/referenz/module/wstestmode#\$wstestmode-active)
* [\$wsTestMode.debug](/frontend/referenz/module/wstestmode#\$wstestmode-debug)

**Beispiel** das zeigt, wie die Debug-Einstellung des aktiven Testmodus geändert wird.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ var $myActionTestModeChange = $wsActions.create("TestModeChange") }}
<form method="post" action="{{= $wsViews.current.url() }}">
    <input type="hidden" name="wscsrf" value="{{= $myActionTestModeChange.csrf }}">
    <input type="hidden" name="wsact" value="{{= $myActionTestModeChange.id }}">
    <input type="hidden" name="wstarget" value="/">
    <input type="checkbox" name="debug" value="on"{{ if $wsTestMode.debug }} checked{{ /if }}>
    <button type="submit">%%SaveSettings%%</button>
</form>
```
