Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan IDT orkestrator pengujian
Mulai dari IDT v4.5.2, IDT termasuk komponen orkestrator pengujian baru. Orkestrator pengujian adalah IDT komponen yang mengontrol alur eksekusi rangkaian pengujian, dan menghasilkan laporan pengujian setelah IDT selesai menjalankan semua pengujian. Orkestrator pengujian menentukan pemilihan pengujian dan urutan pengujian dijalankan berdasarkan aturan yang ditentukan pengguna.
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.
Orkestrator uji menggantikan mesin negara. IDT Kami sangat menyarankan Anda menggunakan orkestrator pengujian untuk mengembangkan rangkaian pengujian Anda alih-alih mesin status. IDT Orkestrator uji menyediakan fitur-fitur yang disempurnakan berikut:
-
Menggunakan format deklaratif dibandingkan dengan format imperatif yang digunakan mesin IDT negara. Ini memungkinkan Anda menentukan tes mana yang ingin Anda jalankan dan kapan Anda ingin menjalankannya.
-
Mengelola penanganan grup tertentu, pembuatan laporan, penanganan kesalahan, dan pelacakan hasil sehingga Anda tidak diharuskan mengelola tindakan ini secara manual.
-
Menggunakan YAML format, yang mendukung komentar secara default.
-
Membutuhkan 80 persen lebih sedikit ruang disk daripada orkestrator pengujian untuk menentukan alur kerja yang sama.
-
Menambahkan validasi pra-pengujian untuk memverifikasi bahwa definisi alur kerja Anda tidak mengandung pengujian yang salah IDs atau dependensi melingkar.
Format orkestrator uji
Anda dapat menggunakan templat berikut untuk mengonfigurasi file
Anda: custom-test-suite-folder
/suite/test_orchestrator.yaml
Aliases:
string
:context-expression
ConditionalTests: - Condition:context-expression
Tests: -test-descriptor
Order: - -group-descriptor
-group-descriptor
Features: - Name:feature-name
Value:support-description
Condition:context-expression
Tests: -test-descriptor
OneOfTests: -test-descriptor
IsRequired:boolean
Semua kolom yang berisi nilai wajib diisi seperti yang dijelaskan di sini:
Aliases
-
Tidak wajib. String yang ditentukan pengguna yang memetakan ke ekspresi konteks. Alias memungkinkan Anda menghasilkan nama ramah untuk mengidentifikasi ekspresi konteks dalam konfigurasi orkestrator pengujian Anda. Ini sangat berguna jika Anda membuat ekspresi konteks kompleks atau ekspresi yang Anda gunakan di banyak tempat.
Anda dapat menggunakan ekspresi konteks untuk menyimpan kueri konteks yang memungkinkan Anda mengakses data dari IDT konfigurasi lain. Untuk informasi selengkapnya, lihat Akses data dalam konteks.
Contoh
Aliases: FizzChosen: "'{{$pool.features[?(@.name == 'Fizz')].value[0]}}' == 'yes'" BuzzChosen: "'{{$pool.features[?(@.name == 'Buzz')].value[0]}}' == 'yes'" FizzBuzzChosen: "'{{$aliases.FizzChosen}}' && '{{$aliases.BuzzChosen}}'"
ConditionalTests
-
Tidak wajib. Daftar kondisi, dan kasus uji terkait yang dijalankan ketika setiap kondisi terpenuhi. Setiap kondisi dapat memiliki beberapa kasus uji; Namun, Anda dapat menetapkan kasus uji yang diberikan hanya untuk satu kondisi.
Secara default, IDT menjalankan kasus uji apa pun yang tidak ditetapkan ke kondisi dalam daftar ini. Jika Anda tidak menentukan bagian ini, IDT jalankan semua grup pengujian dalam rangkaian pengujian.
Setiap item dalam
ConditionalTests
daftar mencakup parameter berikut:Condition
-
Ekspresi konteks yang mengevaluasi nilai Boolean. Jika nilai yang dievaluasi benar, IDT jalankan kasus uji yang ditentukan dalam
Tests
parameter. Tests
-
Daftar deskriptor tes.
Setiap deskriptor tes menggunakan ID kelompok uji dan satu atau lebih kasus uji IDs untuk mengidentifikasi pengujian individu untuk dijalankan dari kelompok uji tertentu. Deskriptor tes menggunakan format berikut:
GroupId:
group-id
CaseIds: [test-id
,test-id
] # optional
Contoh
Contoh berikut menggunakan ekspresi konteks generik yang dapat Anda definisikan sebagai
Aliases
.ConditionalTests: - Condition: "{{$aliases.Condition1}}" Tests: - GroupId: A - GroupId: B - Condition: "{{$aliases.Condition2}}" Tests: - GroupId: D - Condition: "{{$aliases.Condition1}} || {{$aliases.Condition2}}" Tests: - GroupId: C
Berdasarkan kondisi yang ditentukan, IDT pilih kelompok uji sebagai berikut:
-
Jika
Condition1
benar, IDT jalankan tes dalam kelompok uji A, B, dan C. -
Jika
Condition2
benar, IDT jalankan tes dalam kelompok uji C dan D.
Order
-
Tidak wajib. Urutan untuk menjalankan tes. Anda menentukan urutan pengujian di tingkat kelompok uji. Jika Anda tidak menentukan bagian ini, IDT jalankan semua grup pengujian yang berlaku dalam urutan acak. Nilai
Order
adalah daftar daftar deskriptor grup. Setiap grup pengujian yang tidak Anda cantumkanOrder
, dapat dijalankan secara paralel dengan grup pengujian terdaftar lainnya.Setiap daftar deskriptor grup berisi salah satu deskriptor grup lainnya, dan mengidentifikasi urutan untuk menjalankan grup yang ditentukan di setiap deskriptor. Anda dapat menggunakan format berikut untuk menentukan deskriptor grup individual:
-
—ID grup dari grup uji yang ada.group-id
-
[
—Daftar kelompok uji yang dapat dijalankan dalam urutan apa pun relatif satu sama lain.group-id
,group-id
] -
"*"
—Wildcard. Ini setara dengan daftar semua kelompok uji yang belum ditentukan dalam daftar deskriptor grup saat ini.
Nilai untuk juga
Order
harus memenuhi persyaratan berikut:-
Grup pengujian IDs yang Anda tentukan dalam deskriptor grup harus ada di rangkaian pengujian Anda.
-
Setiap daftar deskriptor kelompok harus menyertakan setidaknya satu kelompok uji.
-
Setiap daftar deskriptor grup harus berisi grup IDs unik. Anda tidak dapat mengulang ID grup uji dalam deskriptor grup individual.
-
Daftar deskriptor grup dapat memiliki paling banyak satu deskriptor grup wildcard. Deskriptor grup wildcard harus menjadi item pertama atau terakhir dalam daftar.
Contoh
Untuk rangkaian pengujian yang berisi grup pengujian A, B, C, D, dan E, daftar contoh berikut menunjukkan cara berbeda untuk menentukan yang pertama-tama IDT harus menjalankan grup uji A, lalu jalankan grup uji B, lalu jalankan grup uji C, D, dan E dalam urutan apa pun.
-
Order: - - A - B - [C, D, E]
-
Order: - - A - B - "*"
-
Order: - - A - B - - B - C - - B - D - - B - E
-
Features
-
Tidak wajib. Daftar fitur produk yang ingin Anda tambahkan IDT ke
awsiotdevicetester_report.xml
file. Jika Anda tidak menentukan bagian ini, tidak IDT akan menambahkan fitur produk apa pun ke laporan.Fitur produk adalah informasi yang ditetapkan pengguna tentang kriteria spesifik yang mungkin dipenuhi oleh perangkat. Misalnya, fitur MQTT produk dapat menunjukkan bahwa perangkat menerbitkan MQTT pesan dengan benar. Dalam
awsiotdevicetester_report.xml
, fitur produk ditetapkan sebagaisupported
,not-supported
, atau nilai yang ditentukan pengguna khusus, berdasarkan apakah tes tertentu lulus.Setiap item dalam
Features
daftar terdiri dari parameter berikut:Name
-
Nama fitur.
Value
-
Tidak wajib. Nilai kustom yang ingin Anda gunakan dalam laporan, bukan
supported
. Jika nilai ini tidak ditentukan, maka IDT set berdasarkan nilai fitur kesupported
ataunot-supported
berdasarkan hasil pengujian. Jika Anda menguji fitur yang sama dengan kondisi yang berbeda, Anda dapat menggunakan nilai kustom untuk setiap instance fitur tersebut dalamFeatures
daftar, dan IDT menggabungkan nilai fitur untuk kondisi yang didukung. Untuk informasi selengkapnya, silakan lihat Condition
-
Ekspresi konteks yang mengevaluasi nilai Boolean. Jika nilai yang dievaluasi benar, IDT tambahkan fitur ke laporan pengujian setelah selesai menjalankan rangkaian pengujian. Jika nilai yang dievaluasi salah, tes tidak termasuk dalam laporan.
Tests
-
Tidak wajib. Daftar deskriptor tes. Semua tes yang ditentukan dalam daftar ini harus lulus agar fitur didukung.
Setiap deskriptor pengujian dalam daftar ini menggunakan ID kelompok uji dan satu atau lebih kasus uji IDs untuk mengidentifikasi pengujian individual yang akan dijalankan dari kelompok uji tertentu. Deskriptor tes menggunakan format berikut:
GroupId:
group-id
CaseIds: [test-id
,test-id
] # optionalAnda harus menentukan salah satu
Tests
atauOneOfTests
untuk setiap fitur dalamFeatures
daftar. OneOfTests
-
Tidak wajib. Daftar deskriptor tes. Setidaknya salah satu tes yang ditentukan dalam daftar ini harus lulus agar fitur didukung.
Setiap deskriptor pengujian dalam daftar ini menggunakan ID kelompok uji dan satu atau lebih kasus uji IDs untuk mengidentifikasi pengujian individual yang akan dijalankan dari kelompok uji tertentu. Deskriptor tes menggunakan format berikut:
GroupId:
group-id
CaseIds: [test-id
,test-id
] # optionalAnda harus menentukan salah satu
Tests
atauOneOfTests
untuk setiap fitur dalamFeatures
daftar. IsRequired
-
Nilai boolean yang menentukan apakah fitur tersebut diperlukan dalam laporan pengujian. Nilai default-nya adalah
false
.
Konteks orkestrator uji
Konteks orkestrator pengujian adalah JSON dokumen hanya-baca yang berisi data yang tersedia untuk orkestrator pengujian selama eksekusi. Konteks orkestrator pengujian hanya dapat diakses dari orkestrator pengujian, dan berisi informasi yang menentukan alur pengujian. Misalnya, Anda dapat menggunakan informasi yang dikonfigurasi oleh test runner di file userdata.json
untuk menentukan apakah pengujian tertentu wajib dijalankan.
Konteks orkestrator pengujian menggunakan format berikut:
{ "pool": {
<device-json-pool-element>
}, "userData": {<userdata-json-content>
}, "config": {<config-json-content>
} }
pool
-
Informasi tentang kolam perangkat yang dipilih untuk uji coba. Untuk kolam perangkat yang dipilih, informasi ini diambil dari elemen rangkaian perangkat tingkat atas yang sesuai yang ditentukan dalam file
device.json
. userData
-
Informasi di file
userdata.json
. config
-
Informasi di file
config.json
.
Anda dapat menanyakan konteks menggunakan JSONPath notasi. Sintaks untuk JSONPath kueri dalam definisi negara adalah. {{
Saat Anda mengakses data dari konteks orkestrator pengujian, pastikan setiap nilai mengevaluasi string, angka, atau Boolean.query
}}
Untuk informasi selengkapnya tentang penggunaan JSONPath notasi untuk mengakses data dari konteks, lihatGunakan IDT konteksnya.