

Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS wird der Support für eingestellt. AWS IoT Greengrass Version 1 Nach dem 7. Oktober 2026 können Sie nicht mehr auf die Ressourcen zugreifen. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter [Migrieren von AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Einstellungen für Testläufer konfigurieren
<a name="set-config-custom"></a>

Um benutzerdefinierte Testsuiten auszuführen, müssen Testläufer ihre Einstellungen auf der Grundlage der Testsuite konfigurieren, die sie ausführen möchten. Die Einstellungen werden auf der Grundlage von JSON-Konfigurationsdateivorlagen angegeben, die sich im `<device-tester-extract-location>/configs/` Ordner befinden. Falls erforderlich, müssen Testläufer auch AWS Anmeldeinformationen einrichten, die IDT für die Verbindung mit der AWS Cloud verwendet. 

Als Testautor müssen Sie diese Dateien konfigurieren, um [Ihre Testsuite zu debuggen](run-tests-custom.md). Sie müssen den Testläufern Anweisungen geben, damit sie die folgenden Einstellungen nach Bedarf für die Ausführung Ihrer Testsuiten konfigurieren können. 

## Konfigurieren von device.json
<a name="device-config-custom"></a>

Die `device.json` Datei enthält Informationen über die Geräte, auf denen die Tests ausgeführt werden (z. B. IP-Adresse, Anmeldeinformationen, Betriebssystem und CPU-Architektur). 

Testläufer können diese Informationen mithilfe der folgenden `device.json` Vorlagendatei bereitstellen, die sich im `<device-tester-extract-location>/configs/` Ordner befindet.

```
[
    {
        "id": "<pool-id>",
        "sku": "<pool-sku>",
        "features": [
            {
                "name": "<feature-name>",             
                "value": "<feature-value>",                
                "configs": [
                    {
                        "name": "<config-name>",                    
                        "value": "<config-value>"
                    }
                ],
            }
        ],     
        "devices": [
            {
                "id": "<device-id>",              
                "connectivity": {
                    "protocol": "ssh | uart | docker",                   
                    // ssh
                    "ip": "<ip-address>",
                    "port": <port-number>,
                    "auth": {
                        "method": "pki | password",
                        "credentials": {
                            "user": "<user-name>", 
                            // pki
                            "privKeyPath": "/path/to/private/key",
                                         
                            // password
                            "password": "<password>",
                        }
                    },
                    
                    // uart
                    "serialPort": "<serial-port>",
                    
                    // docker
                    "containerId": "<container-id>",
                    "containerUser": "<container-user-name>",
                }
            }
        ]
    }
]
```

Nachfolgend sind alle Pflichtfelder beschrieben:

`id`  
Eine benutzerdefinierte alphanumerische ID, die eine Sammlung von Geräten, den sogenannten *Gerätepool*, eindeutig identifiziert. Geräte, die zu einem Pool gehören, müssen über identische Hardware verfügen. Bei der Ausführung einer Reihe von Tests werden Geräte im Pool verwendet, um die Workload zu parallelisieren. Mehrere Geräte werden verwendet, um verschiedene Tests auszuführen.

`sku`  
Ein alphanumerischer Wert, durch den das zu testende Gerät eindeutig identifiziert wird. Die SKU wird verwendet, um qualifizierte Geräte nachzuverfolgen.  
Wenn du dein Motherboard im AWS Partner Gerätekatalog auflisten möchtest, muss die hier angegebene SKU mit der SKU übereinstimmen, die du bei der Angebotserstellung verwendest.

`features`  
Optional. Ein Array, das die Funktionen enthält, die das Gerät unterstützt. Gerätefunktionen sind benutzerdefinierte Werte, die Sie in Ihrer Testsuite konfigurieren. Sie müssen Ihren Testläufern Informationen über die Namen und Werte der Funktionen zur Verfügung stellen, die in die `device.json` Datei aufgenommen werden sollen. Wenn Sie beispielsweise ein Gerät testen möchten, das als MQTT-Server für andere Geräte fungiert, können Sie Ihre Testlogik so konfigurieren, dass bestimmte unterstützte Stufen für ein Feature mit dem Namen `MQTT_QOS` validiert werden. Testläufer geben diesen Feature-Namen an und setzen den Feature-Wert auf die QOS-Stufen, die von ihrem Gerät unterstützt werden. Sie können die bereitgestellten Informationen mit der Abfrage aus dem [IDT-Kontext](idt-context.md) oder mit der `devicePool.features` Abfrage aus dem [State-Machine-Kontext](idt-state-machine.md#state-machine-context) abrufen. `pool.features`    
`features.name`  
Der Name des Features.  
`features.value`  
Die unterstützten Feature-Werte.  
`features.configs`  
Konfigurationseinstellungen für die Funktion, falls erforderlich.    
`features.config.name`  
Der Name der Konfigurationseinstellung.  
`features.config.value`  
Die unterstützten Einstellungswerte.

`devices`  
Eine Reihe von Geräten im Pool, die getestet werden sollen. Es ist mindestens ein Gerät erforderlich.  <a name="device-array-fields"></a>  
`devices.id`  
Eine benutzerdefinierte eindeutige Kennung für das zu testende Gerät.  
`connectivity.protocol`  
Das Kommunikationsprotokoll, das für die Kommunikation mit diesem Gerät verwendet wird. Jedes Gerät in einem Pool muss dasselbe Protokoll verwenden.  
Derzeit werden nur Werte `uart` für physische Geräte `ssh` und `docker` für Docker-Container unterstützt.  
`connectivity.ip`  
Die IP-Adresse des zu testenden Geräts.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.  
`connectivity.port`  
Optional. Die Portnummer, die für SSH-Verbindungen verwendet werden soll.  
Der Standardwert ist 22.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.  
`connectivity.auth`  
Authentifizierungsinformationen für die Verbindung.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.    
`connectivity.auth.method`  
Die Authentifizierungsmethode, die für den Zugriff über ein bestimmtes Verbindungsprotokoll auf ein Gerät verwendet wird.  
Unterstützte Werte sind:  
+ `pki`
+ `password`  
`connectivity.auth.credentials`  
Die für die Authentifizierung verwendeten Anmeldeinformationen.    
`connectivity.auth.credentials.password`  
Das Passwort für die Anmeldung am Gerät wird überprüft.  
Dieser Wert gilt nur, wenn `connectivity.auth.method` auf `password` festgelegt ist.  
`connectivity.auth.credentials.privKeyPath`  
Der vollständige Pfad zum privaten Schlüssel, der für die Anmeldung bei dem zu testenden Gerät verwendet wird.  
Dieser Wert gilt nur, wenn `connectivity.auth.method` auf `pki` festgelegt ist.  
`connectivity.auth.credentials.user`  
Der Benutzername für die Anmeldung bei dem zu testenden Gerät.  
`connectivity.serialPort`  
Optional. Die serielle Schnittstelle, an die das Gerät angeschlossen ist.  
Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `uart` festgelegt ist.  
`connectivity.containerId`  
Die Container-ID oder der Name des getesteten Docker-Containers.  
<a name="connectivity-protocol-docker-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `docker` festgelegt ist.  
`connectivity.containerUser`  
Optional. Der Name des Benutzers gegenüber dem Benutzer innerhalb des Containers. Der Standardwert ist der im Dockerfile angegebene Benutzer.  
Der Standardwert ist 22.  
<a name="connectivity-protocol-docker-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `docker` festgelegt ist.
Um zu überprüfen, ob Testläufer die falsche Geräteverbindung für einen Test konfigurieren, können Sie Daten `pool.Devices[0].Connectivity.Protocol` aus dem Zustandsmaschinenkontext abrufen und ihn mit dem erwarteten Wert in einem `Choice` Status vergleichen. Wenn ein falsches Protokoll verwendet wird, drucken Sie eine Nachricht mit dem `LogMessage` Status und wechseln Sie zum `Fail` Status.  
Alternativ können Sie den Fehlerbehandlungscode verwenden, um einen Testfehler für falsche Gerätetypen zu melden.

## (Optional) Konfigurieren Sie userdata.json
<a name="userdata-config-custom"></a>

Die `userdata.json` Datei enthält alle zusätzlichen Informationen, die für eine Testsuite erforderlich sind, aber nicht in der Datei angegeben sind. `device.json` Das Format dieser Datei hängt von der [`userdata_scheme.json`Datei](idt-json-config.md#userdata-schema-json) ab, die in der Testsuite definiert ist. Wenn Sie ein Testautor sind, stellen Sie sicher, dass Sie diese Informationen Benutzern zur Verfügung stellen, die die von Ihnen geschriebenen Testsuiten ausführen.

## (Optional) Konfigurieren Sie resource.json
<a name="resource-config-custom"></a>

Die `resource.json` Datei enthält Informationen zu allen Geräten, die als Ressourcengeräte verwendet werden. Ressourcengeräte sind Geräte, die zum Testen bestimmter Funktionen eines zu testenden Geräts erforderlich sind. Um beispielsweise die Bluetooth-Fähigkeit eines Geräts zu testen, können Sie ein Ressourcengerät verwenden, um zu testen, ob Ihr Gerät erfolgreich eine Verbindung zu dem Gerät herstellen kann. Ressourcengeräte sind optional, und Sie können so viele Ressourcengeräte benötigen, wie Sie benötigen. Als Testautor verwenden Sie die [Datei test.json](idt-json-config.md#test-json), um die Funktionen der Ressourcengeräte zu definieren, die für einen Test erforderlich sind. Testläufer verwenden dann die `resource.json` Datei, um einen Pool von Ressourcengeräten bereitzustellen, die über die erforderlichen Funktionen verfügen. Stellen Sie sicher, dass Sie diese Informationen Benutzern zur Verfügung stellen, die die von Ihnen geschriebenen Testsuiten ausführen werden. 

Testläufer können diese Informationen mithilfe der folgenden `resource.json` Vorlagendatei bereitstellen, die sich im `<device-tester-extract-location>/configs/` Ordner befindet.

```
[
    {
        "id": "<pool-id>",
        "features": [
            {
                "name": "<feature-name>",             
                "version": "<feature-value>",                
                "jobSlots": <job-slots>
            }
        ],     
        "devices": [
            {
                "id": "<device-id>",              
                "connectivity": {
                    "protocol": "ssh | uart | docker",                   
                    // ssh
                    "ip": "<ip-address>",
                    "port": <port-number>,
                    "auth": {
                        "method": "pki | password",
                        "credentials": {
                            "user": "<user-name>", 
                            // pki
                            "privKeyPath": "/path/to/private/key",
                                         
                            // password
                            "password": "<password>",
                        }
                    },
                    
                    // uart
                    "serialPort": "<serial-port>",
                    
                    // docker
                    "containerId": "<container-id>",
                    "containerUser": "<container-user-name>",
                }
            }
        ]
    }
]
```

Nachfolgend sind alle Pflichtfelder beschrieben:

`id`  
Eine benutzerdefinierte alphanumerische ID, die eine Sammlung von Geräten, den sogenannten *Gerätepool*, eindeutig identifiziert. Geräte, die zu einem Pool gehören, müssen über identische Hardware verfügen. Bei der Ausführung einer Reihe von Tests werden Geräte im Pool verwendet, um die Workload zu parallelisieren. Mehrere Geräte werden verwendet, um verschiedene Tests auszuführen.

`features`  
Optional. Ein Array, das die Funktionen enthält, die das Gerät unterstützt. Die in diesem Feld erforderlichen Informationen sind in den [test.json-Dateien](idt-json-config.md#test-json) in der Testsuite definiert und bestimmen, welche Tests ausgeführt werden und wie diese Tests ausgeführt werden. Wenn die Testsuite keine Funktionen benötigt, ist dieses Feld nicht erforderlich.    
`features.name`  
Der Name der Funktion.  
`features.version`  
Die Feature-Version.  
`features.jobSlots`  
Einstellung, die angibt, wie viele Tests das Gerät gleichzeitig verwenden können. Der Standardwert ist `1`.

`devices`  <a name="device-array"></a>
Eine Reihe von Geräten im Pool, die getestet werden sollen. Es ist mindestens ein Gerät erforderlich.  <a name="device-array-fields"></a>  
`devices.id`  
Eine benutzerdefinierte eindeutige Kennung für das zu testende Gerät.  
`connectivity.protocol`  
Das Kommunikationsprotokoll, das für die Kommunikation mit diesem Gerät verwendet wird. Jedes Gerät in einem Pool muss dasselbe Protokoll verwenden.  
Derzeit werden nur Werte `uart` für physische Geräte `ssh` und `docker` für Docker-Container unterstützt.  
`connectivity.ip`  
Die IP-Adresse des zu testenden Geräts.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.  
`connectivity.port`  
Optional. Die Portnummer, die für SSH-Verbindungen verwendet werden soll.  
Der Standardwert ist 22.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.  
`connectivity.auth`  
Authentifizierungsinformationen für die Verbindung.  
<a name="connectivity-protocol-ssh-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `ssh` festgelegt ist.    
`connectivity.auth.method`  
Die Authentifizierungsmethode, die für den Zugriff über ein bestimmtes Verbindungsprotokoll auf ein Gerät verwendet wird.  
Unterstützte Werte sind:  
+ `pki`
+ `password`  
`connectivity.auth.credentials`  
Die für die Authentifizierung verwendeten Anmeldeinformationen.    
`connectivity.auth.credentials.password`  
Das Passwort für die Anmeldung am Gerät wird überprüft.  
Dieser Wert gilt nur, wenn `connectivity.auth.method` auf `password` festgelegt ist.  
`connectivity.auth.credentials.privKeyPath`  
Der vollständige Pfad zum privaten Schlüssel, der für die Anmeldung bei dem zu testenden Gerät verwendet wird.  
Dieser Wert gilt nur, wenn `connectivity.auth.method` auf `pki` festgelegt ist.  
`connectivity.auth.credentials.user`  
Der Benutzername für die Anmeldung bei dem zu testenden Gerät.  
`connectivity.serialPort`  
Optional. Die serielle Schnittstelle, an die das Gerät angeschlossen ist.  
Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `uart` festgelegt ist.  
`connectivity.containerId`  
Die Container-ID oder der Name des getesteten Docker-Containers.  
<a name="connectivity-protocol-docker-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `docker` festgelegt ist.  
`connectivity.containerUser`  
Optional. Der Name des Benutzers gegenüber dem Benutzer innerhalb des Containers. Der Standardwert ist der im Dockerfile angegebene Benutzer.  
Der Standardwert ist 22.  
<a name="connectivity-protocol-docker-only"></a>Diese Eigenschaft gilt nur, wenn `connectivity.protocol` auf `docker` festgelegt ist.

## (Optional) Konfigurieren Sie config.json
<a name="config-json-custom"></a>

Die `config.json` Datei enthält Konfigurationsinformationen für IDT. In der Regel müssen Testläufer diese Datei nicht ändern, es sei denn, sie müssen ihre AWS Benutzeranmeldeinformationen für IDT und optional eine AWS Region angeben. Wenn AWS Anmeldeinformationen mit den erforderlichen Berechtigungen bereitgestellt werden, sammelt AWS IoT Device Tester Nutzungsdaten und sendet sie an. AWS Dies ist eine Opt-in-Funktion, die zur Verbesserung der IDT-Funktionalität verwendet wird. Weitere Informationen finden Sie unter [IDT-Nutzungsmetriken](idt-usage-metrics.md).

Testläufer können ihre AWS Anmeldeinformationen auf eine der folgenden Arten konfigurieren:
+ **Anmeldeinformationsdatei**

  IDT verwendet die gleiche Anmeldeinformationsdatei wie das AWS CLI. Weitere Informationen finden Sie unter [Konfigurations- und Anmeldeinformationsdateien](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html).

  Der Speicherort der Datei mit den Anmeldeinformationen variiert je nach verwendetem Betriebssystem:
  + macOS Linux: `~/.aws/credentials`
  + Windows: `C:\Users\UserName\.aws\credentials`
+ **Umgebungsvariablen**

  Umgebungsvariablen sind Variablen, die vom Betriebssystem gepflegt und von Systembefehlen verwendet werden. Variablen, die während einer SSH-Sitzung definiert wurden, sind nach dem Schließen dieser Sitzung nicht verfügbar. IDT kann die `AWS_SECRET_ACCESS_KEY` Umgebungsvariablen `AWS_ACCESS_KEY_ID` und zum Speichern von Anmeldeinformationen verwenden AWS 

  Um diese Variablen auf Linux, macOS oder Unix festzulegen, verwenden Sie **export**:

  ```
  export AWS_ACCESS_KEY_ID=<your_access_key_id>
  export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
  ```

  In Windows können Sie die Variablen mit **set** festlegen:

  ```
  set AWS_ACCESS_KEY_ID=<your_access_key_id>
  set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
  ```

Um AWS Anmeldeinformationen für IDT zu konfigurieren, bearbeiten Testläufer den `auth` Abschnitt in der `config.json` Datei, die sich im `<device-tester-extract-location>/configs/` Ordner befindet.

```
{
    "log": {
        "location": "logs"
    },
    "configFiles": {
        "root": "configs",
        "device": "configs/device.json"
    },
    "testPath": "tests",
    "reportPath": "results",
    "awsRegion": "<region>",
    "auth": {
        "method": "file | environment",
        "credentials": {
            "profile": "<profile-name>"
        }
    }
}
]
```

Nachfolgend sind alle Pflichtfelder beschrieben:

**Anmerkung**  
Alle Pfade in dieser Datei sind relativ zu definiert. *<device-tester-extract-location>*

`log.location`  
Der Pfad zum Protokollordner in der*<device-tester-extract-location>*.

`configFiles.root`  
Der Pfad zu dem Ordner, der die Konfigurationsdateien enthält.

`configFiles.device`  
Der Pfad zur `device.json` Datei.

`testPath`  
Der Pfad zu dem Ordner, der Testsuiten enthält.

`reportPath`  
Der Pfad zu dem Ordner, der Testergebnisse enthält, nachdem IDT eine Testsuite ausgeführt hat.

`awsRegion`  
Optional. Die AWS Region, die die Testsuiten verwenden werden. Wenn nicht festgelegt, verwenden Testsuiten die in jeder Testsuite angegebene Standardregion.

`auth.method`  
Die Methode, die IDT zum Abrufen von AWS Anmeldeinformationen verwendet. Unterstützte Werte sind `file` das Abrufen von Anmeldeinformationen aus einer Anmeldeinformationsdatei und `environment` das Abrufen von Anmeldeinformationen mithilfe von Umgebungsvariablen.

`auth.credentials.profile`  
Das zu verwendende Anmeldeinformationsprofil aus der Anmeldeinformationsdatei. Diese Eigenschaft gilt nur, wenn `auth.method` auf `file` festgelegt ist.