Tradefed menyertakan konsep keystore, tempat rahasia dapat disimpan dalam layanan keystore dan diminta pada waktu proses pengujian untuk digunakan selama pengujian.
Menggunakan keystore
Untuk menggunakan keystore, Anda harus menentukan sumber untuk keystore dalam konfigurasi global Anda terlebih dahulu.
Setelah selesai, Anda dapat menggunakan kunci yang disimpan melalui: USE_KEYSTORE@{key}
JSONFileKeyStore
Implementasi sampel di inti Tradefed menggunakan keystore JSON, JSONFileKeyStoreClient. Untuk menggunakan keystore ini, Anda akan menentukan file kunci JSON yang memiliki pemetaan kunci ke 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 dalam 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 untuk 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 key-value pair untuk host mana pun 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 akan menggantikan nilai yang ditentukan dalam file keystore yang ditentukan dengan json-key-store-file.
Jika ada beberapa file keystore berbasis host di keystore, urutannya akan diperhatikan. Jika nilai untuk kunci ditentukan dalam beberapa file, nilai dalam file terakhir akan menggantikan nilai lainnya.