Buat file konfigurasi rangkaian tes IDT - AWS IoT Greengrass

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 yang Anda sertakan saat Anda menulis rangkaian pengujian kustom.

File konfigurasi yang diperlukan
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 konfigurasi opsional
test_orchestrator.yaml atau state_machine.json

Menentukan bagaimana tes akan dijalankan ketika IDT menjalankan rangkaian tes. SsE. Konfigurasikan test_orchestrator.yaml

catatan

Mulai IDT v4.5.1, Anda menggunakan test_orchestrator.yaml file untuk menentukan alur kerja pengujian. Di versi IDT sebelumnya, Anda menggunakan state_machine.json file tersebut. Untuk informasi tentang mesin negara, lihatKonfigurasikan state machine IDT.

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 file device.json. Lihat Konfigurasikan userdata_schema.json.

File konfigurasi ditempatkan di Anda <custom-test-suite-folder> seperti yang ditunjukkan di sini.

<custom-test-suite-folder> └── suite ├── suite.json ├── test_orchestrator.yaml ├── 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 <custom-test-suite-folder>/suite/suite.json Anda:

{ "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 file suite.json berada. Nama rangkaian dan versi rangkaian juga harus memenuhi persyaratan berikut:

  • <suite-name> tidak dapat berisi garis bawah.

  • <suite-version> dilambangkan sebagai x.x.x, di mana 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 ke true, Anda juga harus menyertakan file userdata_schema.json dalam folder rangkaian uji Anda.

environmentVariables

Opsional. 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 <custom-test-suite-folder>/suite/<test-group>/group.json Anda:

{ "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 id harus cocok dengan nama folder grup pengujian tempat group.json file berada, dan tidak dapat 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

Opsional. Atur ke true untuk menampilkan grup tes ini sebagai grup opsional setelah IDT selesai menjalankan tes yang diperlukan. Nilai defaultnya adalah false.

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 <custom-test-suite-folder>/suite/<test-group>/<test-case>/test.json Anda:

{ "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 id harus cocok dengan nama folder kasus uji tempat test.json file berada, dan tidak dapat berisi garis bawah (_). ID digunakan dalam laporan pengujian yang dihasilkan ID.

title

Nama deskriptif untuk uji kasus. Nama tersebut ditampilkan dalam IDT CLI untuk test runner.

details

Deskripsi singkat tentang tujuan dari uji kasus.

requireDUT

Opsional. Atur ke true jika perangkat diperlukan untuk menjalankan tes ini, jika tidak atur ke false. Nilai defaultnya adalah true. Test runner akan mengonfigurasi perangkat yang akan digunakannya untuk menjalankan pengujian di file device.json.

requiredResources

Opsional. 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

Opsional. 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

Opsional. 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 ke 1.

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, dan win.

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

Opsional. Argumen yang akan disediakan untuk menjalankan executable uji kasus.

environmentVariables

Opsional. 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 file suite.json, nilai dalam file test.json akan diutamakan.

Konfigurasikan test_orchestrator.yaml

Orkestrator pengujian adalah konstruksi yang mengontrol alur eksekusi test suite. 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 pengujian Anda tidak menyertakan orkestrator pengujian yang ditentukan pengguna, IDT akan menghasilkan orkestrator pengujian untuk Anda.

Orkestrator uji 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 fungsi orkestrator pengujian IDT, lihat. Konfigurasikan orkestrasi uji 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 <device-tester-extract-location>/config mereka. Format file userdata.json didasarkan pada userdata_schema.json yang Anda sertakan dalam rangkaian tes.

Untuk menunjukkan hal tersebut test runner harus menyediakan file userdata.json:

  1. Di file suite.json, atur userDataRequired ke true.

  2. Di <custom-test-suite-folder> Anda, buat file userdata_schema.json.

  3. Edit file userdata_schema.json untuk membuat Skema IETF Draft v4 JSON yang 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 userdata.json file tersedia dalam konteks IDT dan dalam konteks orkestrator pengujian.