AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat file konfigurasi rangkaian tes IDT
Bagian ini menjelaskan format di mana Anda membuat file konfigurasi JSON yang Anda sertakan ketika Anda menyusun rangkaian uji kustom.
File JSON yang dibutuhkan
suite.json
-
Berisi informasi tentang rangkaian pengujian. Lihat Konfigurasikan suite.json.
group.json
-
Berisi informasi tentang grup uji. Anda harus membuat file
group.json
untuk setiap grup uji di rangkaian tes Anda. Lihat Konfigurasikan group.json. test.json
-
Berisi informasi tentang grup uji. Anda harus membuat file
test.json
untuk setiap grup uji di rangkaian tes Anda. Lihat Konfigurasikan test.json.
File JSON opsional
state_machine.json
-
Menentukan bagaimana tes akan dijalankan ketika IDT menjalankan rangkaian tes. Lihat Konfigurasikan state_machine.json.
userdata_schema.json
-
Menentukan skema untuk file userdata.json yang dapat disertakan oleh test runner dalam konfigurasi pengaturannya. File
userdata.json
digunakan untuk konfigurasi informasi tambahan apa pun yang diperlukan untuk menjalankan tes tetapi tidak terdapat dalam filedevice.json
. Lihat Konfigurasikan userdata_schema.json.
File konfigurasi JSON ditempatkan pada
Anda seperti yang ditunjukkan di sini.<custom-test-suite-folder>
<custom-test-suite-folder>
└── suite ├── suite.json ├── state_machine.json ├── userdata_schema.json ├──<test-group-folder>
├── group.json ├──<test-case-folder>
└── test.json
Konfigurasikan suite.json
File suite.json
menetapkan variabel lingkungan dan menentukan apakah data pengguna diperlukan untuk menjalankan rangkaian tes. Gunakan templat berikut untuk mengonfigurasi file
Anda: <custom-test-suite-folder>
/suite/suite.json
{ "id": "
<suite-name>_<suite-version>
", "title": "<suite-title>
", "details": "<suite-details>
", "userDataRequired": true | false, "environmentVariables": [ { "key": "<name>
", "value": "<value>
", }, ... { "key": "<name>
", "value": "<value>
", } ] }
Semua kolom yang berisi nilai wajib diisi seperti yang dijelaskan di sini:
id
-
ID unik yang ditetapkan pengguna untuk rangkaian uji. Nilai dari
id
harus cocok dengan nama folder rangkaian uji tempat filesuite.json
berada. Nama rangkaian dan versi rangkaian juga harus memenuhi persyaratan berikut:-
tidak dapat berisi garis bawah.<suite-name>
-
dilambangkan sebagai<suite-version>
, di manax.x.x
x
adalah angka.
ID ditampilkan dalam laporan uji yang dihasilkan IDT.
-
title
-
Nama yang ditetapkan pengguna untuk produk atau fitur yang diuji oleh rangkaian tes ini. Nama ditampilkan dalam IDT CLI untuk test runner.
details
-
Deskripsi singkat tentang tujuan dari rangkaian tes.
userDataRequired
-
Menentukan apakah test runner perlu menyertakan informasi kustom dalam file
userdata.json
. Jika Anda menetapkan nilai ini ketrue
, Anda juga harus menyertakan file userdata_schema.json dalam folder rangkaian uji Anda. environmentVariables
-
Tidak wajib. Serangkaian variabel lingkungan yang akan ditetapkan untuk rangkaian tes ini.
environmentVariables.key
-
Nama variabel lingkungan.
environmentVariables.value
-
Nilai variabel lingkungan.
Konfigurasikan group.json
File group.json
menentukan apakah grup uji itu wajib atau opsional. Gunakan templat berikut untuk mengonfigurasi file
Anda: <custom-test-suite-folder>
/suite/<test-group>
/group.json
{ "id": "
<group-id>
", "title": "<group-title>
", "details": "<group-details>
", "optional": true | false, }
Semua kolom yang berisi nilai wajib diisi seperti yang dijelaskan di sini:
id
-
ID unik yang ditetapkan pengguna untuk grup uji. Nilai dari
id
harus cocok dengan nama folder grup uji tempatgroup.json
file terletak, dan tidak boleh berisi garis bawah (_
). ID digunakan dalam laporan uji yang dihasilkan IDT. title
-
Nama deskriptif untuk grup uji. Nama tersebut ditampilkan dalam IDT CLI untuk test runner.
details
-
Deskripsi singkat tentang tujuan dari grup tes.
optional
-
Tidak wajib. Atur ke
true
untuk menampilkan grup tes ini sebagai grup opsional setelah IDT selesai menjalankan tes yang diperlukan. Nilai defaultnya adalahfalse
.
Konfigurasikan test.json
File test.json
menentukan executable uji kasus dan variabel lingkungan yang digunakan oleh uji kasus. Untuk informasi selengkapnya tentang cara membuat executable uji kasus, lihat Buat executable uji kasus IDT.
Gunakan templat berikut untuk mengonfigurasi file
Anda: <custom-test-suite-folder>
/suite/<test-group>
/<test-case>
/test.json
{ "id": "
<test-id>
", "title": "<test-title>
", "details": "<test-details>
", "requireDUT": true | false, "requiredResources": [ { "name": "<resource-name>
", "features": [ { "name": "<feature-name>
", "version": "<feature-version>
", "jobSlots":<job-slots>
} ] } ], "execution": { "timeout":<timeout>
, "mac": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ], }, "linux": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ], }, "win": { "cmd": "/path/to/executable
", "args": [ "<argument>
" ] } }, "environmentVariables": [ { "key": "<name>
", "value": "<value>
", } ] }
Semua kolom yang berisi nilai wajib diisi seperti yang dijelaskan di sini:
id
-
ID unik yang ditetapkan pengguna untuk grup uji. Nilai dari
id
harus cocok dengan nama folder uji kasus tempattest.json
file terletak, dan tidak boleh berisi garis bawah (_
). ID digunakan dalam laporan uji yang dihasilkan IDT. title
-
Nama deskriptif untuk uji kasus. Nama tersebut ditampilkan dalam IDT CLI untuk test runner.
details
-
Deskripsi singkat tentang tujuan dari uji kasus.
requireDUT
-
Tidak wajib. Atur ke
true
jika perangkat diperlukan untuk menjalankan tes ini, jika tidak atur kefalse
. Nilai defaultnya adalahtrue
. Test runner akan mengonfigurasi perangkat yang akan digunakannya untuk menjalankan pengujian di filedevice.json
. requiredResources
-
Tidak wajib. Serangkaian hal yang menyediakan informasi tentang perangkat sumber daya yang diperlukan untuk menjalankan tes ini.
requiredResources.name
-
Nama unik yang akan diberikan kepada sumber daya perangkat ketika tes ini berjalan.
requiredResources.features
-
Serangkaian fitur perangkat sumber daya yang ditetapkan pengguna.
requiredResources.features.name
-
Nama fitur. Fitur perangkat yang ingin Anda gunakan untuk perangkat ini. Nama ini dicocokkan dengan nama fitur yang disediakan oleh test runner di file
resource.json
. requiredResources.features.version
-
Tidak wajib. Versi fitur. Nama ini dicocokkan dengan versi fitur yang disediakan oleh test runner di file
resource.json
. Jika versi tidak tersedia, maka fitur tersebut tidak dicentang. Jika nomor versi tidak diperlukan untuk fitur tersebut, biarkan kolom ini kosong. requiredResources.features.jobSlots
-
Tidak wajib. Jumlah tes simultan yang dapat didukung fitur ini. Nilai default-nya adalah
1
. Jika Anda ingin IDT menggunakan perangkat yang berbeda untuk masing-masing fitur, kami sarankan Anda menetapkan nilai ini ke1
.
execution.timeout
-
Jumlah waktu (dalam milidetik) yang ditunggu oleh IDT hingga tes tersebut selesai dijalankan. Untuk informasi selengkapnya tentang pengaturan parameter ini, lihat Buat executable uji kasus IDT.
execution.
os
-
Executable uji kasus yang akan dijalankan berdasarkan sistem operasi komputer host yang menjalankan IDT. Nilai yang didukung adalah
linux
,mac
, danwin
.execution.
os
.cmd-
Jalur ke executable uji kasus yang ingin Anda jalankan untuk sistem operasi tertentu. Lokasi ini harus berada di jalur sistem.
execution.
os
.args-
Tidak wajib. Argumen yang akan disediakan untuk menjalankan executable uji kasus.
environmentVariables
-
Tidak wajib. Serangkaian variabel lingkungan yang akan ditetapkan untuk uji kasus ini.
environmentVariables.key
-
Nama variabel lingkungan.
environmentVariables.value
-
Nilai variabel lingkungan.
catatan
Jika Anda menentukan variabel lingkungan yang sama di file
test.json
dan di filesuite.json
, nilai dalam filetest.json
akan diutamakan.
Konfigurasikan state_machine.json
State machine adalah suatu konstruksi yang mengendalikan aliran eksekusi rangkaian uji. Ia menentukan keadaan awal dari rangkaian tes, mengelola transisi keadaan berdasarkan aturan yang ditetapkan pengguna, dan terus melakukan transisi melalui keadaan-keadaan tersebut sampai mencapai keadaan akhir.
Jika rangkaian tes Anda tidak menyertakan state machine yang ditetapkan pengguna, IDT akan membuat state machine untuk Anda. State machine default melakukan fungsi-fungsi berikut:
-
Menyediakan test runner dengan kemampuan untuk memilih dan menjalankan grup uji tertentu, dan bukan seluruh rangkaian uji.
-
Jika grup uji tertentu tidak dipilih, ia menjalankan setiap grup uji di rangkaian uji dengan urutan acak.
-
Membuat laporan dan mencetak ringkasan konsol yang menunjukkan hasil tes untuk setiap grup uji dan uji kasus.
Untuk informasi selengkapnya tentang bagaimana state machine IDT bekerja, lihat Konfigurasikan mesin status IDT.
Konfigurasikan userdata_schema.json
File userdata_schema.json
menentukan skema di mana test runner menyediakan data pengguna. Data pengguna diperlukan jika rangkaian uji Anda memerlukan informasi yang tidak ada di file device.json
. Misalnya, pengujian Anda mungkin memerlukan kredensial jaringan Wi-Fi, port terbuka tertentu, atau sertifikat yang harus diberikan pengguna. Informasi ini dapat diberikan kepada IDT sebagai parameter input yang disebut userdata
, nilai yang merupakan file userdata.json
, yang dibuat oleh para pengguna dalam
mereka. Format file <device-tester-extract-location>
/configuserdata.json
didasarkan pada userdata_schema.json
yang Anda sertakan dalam rangkaian tes.
Untuk menunjukkan hal tersebut test runner harus menyediakan file userdata.json
:
-
Di file
suite.json
, aturuserDataRequired
ketrue
. -
Di
Anda, buat file<custom-test-suite-folder>
userdata_schema.json
. -
Edit file
userdata_schema.json
untuk membuat Skema IETF Draft v4 JSONyang valid.
Ketika IDT menjalankan rangkaian uji Anda, secara otomatis ia membaca skema dan menggunakannya untuk memvalidasi file userdata.json
yang disediakan oleh test runner. Jika valid, isi file userdata.json
akan tersedia baik di konteks IDT maupun di konteks state machine.