Tradefed มีแนวคิดของที่เก็บคีย์ ซึ่งสามารถจัดเก็บข้อมูลลับไว้ในบริการที่เก็บคีย์และขอได้ในเวลาที่เรียกใช้การทดสอบ เพื่อใช้ในระหว่างการทดสอบ
ใช้คีย์สโตร์
หากต้องการใช้ที่เก็บคีย์ คุณต้องกำหนดแหล่งที่มาของที่เก็บคีย์ในการกำหนดค่าส่วนกลางก่อน
เมื่อดำเนินการเสร็จแล้ว คุณจะใช้คีย์ที่จัดเก็บไว้ได้โดยทำดังนี้ USE_KEYSTORE@{key}
JSONFileKeyStore
การติดตั้งใช้งานตัวอย่างในแกนหลักของ Tradefed ใช้ที่เก็บคีย์ JSON
JSONFileKeyStoreClient
หากต้องการใช้ที่เก็บคีย์นี้ คุณจะต้องกำหนดไฟล์คีย์ JSON
ที่มีการแมปคีย์กับค่า
เช่น คุณอาจกำหนดไฟล์ /path/to/keystore.json
เป็น
{
"test_account": "foo@gmail.com",
"test_account_pwd": "helloworld",
"wifi_lab_ssid": "Google_private_AP",
"wifi_lab_pwd": "secret123",
}
จากนั้นคุณจะเพิ่มบรรทัดต่อไปนี้ในไฟล์การกำหนดค่าส่วนกลางของ TF
<key_store class="com.android.tradefed.util.keystore.JSONFileKeyStoreFactory">
<option name="json-key-store-file" value="/path/to/keystore.json" />
</key_store>
เมื่อดำเนินการทดสอบที่เกี่ยวข้อง ตอนนี้คุณสามารถส่งค่าเป็น
USE_KEYSTORE@test_account
ซึ่ง TF จะค้นหาค่าในที่เก็บคีย์และใช้
ค่าดังกล่าวเป็นส่วนหนึ่งของการทดสอบ
ไฟล์ที่เก็บคีย์ที่อิงตามโฮสต์
หากต้องการกำหนดคู่คีย์-ค่าตามโฮสต์ คุณอาจกำหนดไฟล์
/path/to/keystore_ssid.json
เป็น
{
"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"
}
}
คีย์ของรายการในไฟล์คือรูปแบบนิพจน์ทั่วไป (regex) สำหรับ ชื่อโฮสต์ และค่าคือชุดคู่คีย์-ค่าสำหรับโฮสต์ที่มี ชื่อโฮสต์ที่ตรงกัน
จากนั้นอัปเดตไฟล์การกำหนดค่าส่วนกลางของ TF เพื่อรวมไฟล์ที่เก็บคีย์ตามโฮสต์
<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>
ค่าของคีย์ที่กำหนดไว้ในไฟล์คีย์สโตร์ที่อิงตามโฮสต์จะลบล้างค่าที่กำหนดไว้
ในไฟล์คีย์สโตร์ที่ระบุด้วย json-key-store-file
เมื่อมีไฟล์ที่เก็บคีย์ที่อิงตามโฮสต์หลายไฟล์ในที่เก็บคีย์ ลำดับ มีความสำคัญ หากกำหนดค่าสำหรับคีย์ในหลายไฟล์ ค่าในไฟล์สุดท้ายจะลบล้างค่าอื่นๆ