

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Tutorial: Bangun dan jalankan sampel rangkaian tes IDT
<a name="build-sample-suite"></a>

 AWS IoT Device Tester Unduhan menyertakan kode sumber untuk rangkaian pengujian sampel. Anda dapat menyelesaikan tutorial ini untuk membangun dan menjalankan rangkaian pengujian sampel untuk memahami bagaimana Anda dapat menggunakan IDT AWS IoT Greengrass untuk menjalankan suite pengujian kustom.

 Dalam tutorial ini, Anda akan melakukan langkah-langkah berikut: 

1. [Bangun rangkaian uji sampel](#build-sample)

1. [Gunakan IDT untuk menjalankan rangkaian uji sampel](#run-sample)

## Prasyarat
<a name="prereqs-tutorial-sample"></a><a name="prereqs-list"></a>

Untuk menyelesaikan tutorial ini, Anda memerlukan hal berikut ini: 
+ 

**Persyaratan komputer host**
  + Versi terbaru dari AWS IoT Device Tester
  + [Python](https://www.python.org/downloads/) 3.7 atau yang lebih baru

    Untuk memeriksa versi Python yang diinstal pada komputer Anda, jalankan perintah berikut:

    ```
    python3 --version
    ```

    Pada Windows, jika penggunaan perintah ini menghasilkan kesalahan, gunakan `python --version` sebagai gantinya. Jika nomor versi yang dikembalikan adalah 3,7 atau lebih besar, jalankan perintah berikut di terminal Powershell untuk mengatur `python3` sebagai alias untuk perintah `python`. 

    ```
    Set-Alias -Name "python3" -Value "python"
    ```

    Jika tidak ada informasi versi yang dikembalikan atau jika nomor versi kurang dari 3,7, ikuti petunjuk di [Mengunduh Py](https://wiki.python.org/moin/BeginnersGuide/Download) untuk menginstal Python 3.7\$1. Untuk informasi selengkapnya, lihat [dokumentasi Python](https://docs.python.org).
  + [urllib3](https://urllib3.readthedocs.io/en/latest/)

    Untuk memverifikasi bahwa `urllib3` diinstal dengan benar, jalankan perintah berikut:

    ```
    python3 -c 'import urllib3'
    ```

    Jika `urllib3` belum terinstal, gunakan perintah berikut untuk menginstalnya:

    ```
    python3 -m pip install urllib3
    ```
+ 

**Persyaratan perangkat**
  + Perangkat dengan sistem operasi Linux dan koneksi jaringan ke jaringan yang sama dengan komputer host Anda. 

    Kami menyarankan agar Anda menggunakan [Raspberry Pi](https://www.raspberrypi.org/) dengan OS Raspberry Pi. Pastikan Anda mengatur [SSH](https://www.raspberrypi.org/documentation/remote-access/ssh/) pada Raspberry Pi Anda untuk terhubung secara jarak jauh ke sana.

## Konfigurasi informasi perangkat untuk IDT
<a name="configure-idt-sample"></a>

Konfigurasi informasi perangkat Anda untuk IDT untuk menjalankan tes. Anda harus memperbarui templat `device.json` yang terletak di folder `<device-tester-extract-location>/configs` dengan informasi berikut.

```
[
  {
    "id": "pool",
    "sku": "N/A",
    "devices": [
      {
        "id": "<device-id>",
        "connectivity": {
          "protocol": "ssh",
          "ip": "<ip-address>",
          "port": "<port>",
          "auth": {
            "method": "pki | password",
            "credentials": {
              "user": "<user-name>",
              "privKeyPath": "/path/to/private/key",
              "password": "<password>"
            }
          }
        }
      }
    ]
  }
]
```

Di objek `devices`, berikan informasi berikut:

`id`  
Pengenal unik yang ditetapkan pengguna untuk perangkat Anda.

`connectivity.ip`  
Alamat IP perangkat Anda.

`connectivity.port`  
Tidak wajib. Nomor port yang digunakan untuk koneksi SSH ke perangkat Anda.

`connectivity.auth`  
Informasi autentikasi untuk koneksi tersebut.  
Properti ini hanya berlaku jika `connectivity.protocol` diatur ke `ssh`.    
`connectivity.auth.method`  
Metode autentikasi yang digunakan untuk mengakses perangkat melalui protokol konektivitas yang diberikan.  
Nilai yang didukung adalah:  
+ `pki`
+ `password`  
`connectivity.auth.credentials`  
Kredensial yang digunakan untuk autentikasi.    
`connectivity.auth.credentials.user`  
Nama pengguna yang digunakan untuk masuk ke perangkat Anda.  
`connectivity.auth.credentials.privKeyPath`  
Jalur lengkap ke kunci pribadi yang digunakan untuk masuk ke perangkat Anda.  
Nilai ini hanya berlaku jika `connectivity.auth.method` diatur ke `pki`.  
`devices.connectivity.auth.credentials.password`  
Kata sandi yang digunakan untuk masuk ke perangkat Anda.  
Nilai ini hanya berlaku jika `connectivity.auth.method` diatur ke `password`.

**catatan**  
Tentukan `privKeyPath` hanya jika `method` diatur ke `pki`.  
Tentukan `password` hanya jika `method` diatur ke `password`.

## Bangun rangkaian uji sampel
<a name="build-sample"></a>

Folder `<device-tester-extract-location>/samples/python` berisi contoh file konfigurasi, kode sumber, dan SDK Klien IDT yang dapat Anda gabungkan ke dalam rangkaian tes dengan menggunakan skrip build yang disediakan. Pohon direktori berikut menunjukkan lokasi file contoh ini:

```
<device-tester-extract-location>
├── ...
├── tests
├── samples
│   ├── ...
│   └── python
│       ├── configuration
│       ├── src
│       └── build-scripts
│           ├── build.sh
│           └── build.ps1
└── sdks
    ├── ...
    └── python
        └── idt_client
```

Untuk membangun rangkaian tes, jalankan perintah berikut pada komputer host Anda:

------
#### [ Windows ]

```
cd <device-tester-extract-location>/samples/python/build-scripts
./build.ps1
```

------
#### [ Linux, macOS, or UNIX ]

```
cd <device-tester-extract-location>/samples/python/build-scripts
./build.sh
```

------

Hal ini akan menciptakan rangkaian uji sampel di folder `IDTSampleSuitePython_1.0.0` dalam folder `<device-tester-extract-location>/tests`. Tinjau file dalam `IDTSampleSuitePython_1.0.0` folder untuk memahami bagaimana rangkaian pengujian sampel terstruktur, dan untuk melihat berbagai contoh executable kasus uji dan file JSON konfigurasi pengujian.

**catatan**  
Rangkaian pengujian sampel menyertakan kode sumber python. Jangan sertakan informasi sensitif dalam kode rangkaian pengujian Anda.

Langkah berikutnya: Gunakan IDT untuk [menjalankan rangkaian tes sampel](#run-sample) yang Anda buat.

## Gunakan IDT untuk menjalankan rangkaian uji sampel
<a name="run-sample"></a>

Untuk membangun rangkaian tes, jalankan perintah berikut pada komputer host Anda: 

```
cd <device-tester-extract-location>/bin
./devicetester_[linux | mac | win_x86-64] run-suite --suite-id IDTSampleSuitePython
```

IDT menjalankan sampel rangkaian tes dan mengalirkan hasil ke konsol. Ketika tes telah selesai berjalan, Anda akan melihat informasi berikut:

```
========== Test Summary ==========
Execution Time:         5s
Tests Completed:        4
Tests Passed:           4
Tests Failed:           0
Tests Skipped:          0
----------------------------------
Test Groups:
    sample_group:       PASSED
----------------------------------
Path to IoT Device Tester Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/awsiotdevicetester_report.xml
Path to Test Execution Logs: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/logs
Path to Aggregated JUnit Report: /path/to/devicetester/results/87e673c6-1226-11eb-9269-8c8590419f30/IDTSampleSuitePython_Report.xml
```

## Pemecahan masalah
<a name="tutorial-troubleshooting-custom"></a>

Gunakan informasi berikut untuk membantu menyelesaikan masalah dengan menyelesaikan tutorial.

**Uji kasus tidak berjalan dengan sukses**  
Jika tes tidak berjalan sukses, IDT akan mengalirkan log kesalahan ke konsol yang dapat membantu Anda memecahkan masalah uji coba. Pastikan Anda memenuhi semua [prasyarat](#prereqs-tutorial-sample) untuk tutorial ini.

**Tidak dapat menyambung ke perangkat yang sedang diuji**

Verifikasi hal berikut:
+ File `device.json` Anda berisi alamat IP, port, dan informasi autentikasi yang benar.
+ Anda dapat terhubung ke perangkat Anda melalui SSH dari komputer host Anda.