Tradefed menyertakan konsep keystore, tempat secret dapat disimpan di layanan keystore dan diminta pada waktu pengujian dijalankan untuk digunakan selama pengujian.
Menggunakan keystore
Untuk menggunakan keystore, Anda harus menentukan sumber untuk keystore terlebih dahulu di konfigurasi global.
Setelah selesai, Anda dapat menggunakan kunci yang disimpan melalui: USE_KEYSTORE@{key}
JSONFileKeyStore
Implementasi contoh di inti Tradefed menggunakan keystore JSON,
JSONFileKeyStoreClient
. Untuk menggunakan keystore ini, Anda perlu menentukan file kunci JSON
yang memiliki kunci untuk pemetaan nilai.
Misalnya, Anda dapat menentukan file /path/to/keystore.json
sebagai
{
"test_account": "foo@gmail.com",
"test_account_pwd": "helloworld",
"wifi_lab_ssid": "Google_private_AP",
"wifi_lab_pwd": "secret123",
}
Kemudian, Anda akan menambahkan baris berikut di file konfigurasi global TF:
<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
</key_store>
Saat menjalankan pengujian terkait, Anda kini dapat meneruskan nilai sebagai
USE_KEYSTORE@test_account
, yang kemudian akan dikueri oleh TF di keystore dan menggunakan
nilainya sebagai bagian dari pengujian.
File keystore berbasis host
Untuk menentukan key-value pair berbasis host, Anda dapat menentukan file /path/to/keystore_ssid.json
sebagai
{
"host_a.*\\.corp\\.com": {
"wifi_lab_ssid": "ssid_a",
"wifi_lab_pwd": "secret_a"
},
"host_b.*\\.corp\\.com": {
"wifi_lab_ssid": "ssid_b",
"wifi_lab_pwd": "secret_b"
}
}
Kunci entri dalam file adalah pola ekspresi reguler (regex) untuk nama host dan nilainya adalah kumpulan pasangan nilai kunci untuk setiap host dengan nama host yang cocok.
Kemudian, perbarui file konfigurasi global TF untuk menyertakan file keystore berbasis host:
<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
<option name="host-based-key-store-file" value="/path/to/keystore-ssid.json" />
</key_store>
Nilai kunci yang ditentukan dalam file keystore berbasis host menggantikan nilai yang ditentukan
dalam file keystore yang ditentukan dengan json-key-store-file
.
Jika ada beberapa file keystore berbasis host di keystore, urutan penting. Jika nilai untuk kunci ditentukan dalam beberapa file, nilai dalam file terakhir tersebut akan menggantikan yang lainnya.