Android Test Station เป็นเครื่องมือทดสอบที่นักพัฒนาซอฟต์แวร์ Android และวิศวกรทดสอบสามารถใช้อินเทอร์เฟซผู้ใช้สำหรับการรันชุดทดสอบ Android มาตรฐาน เช่น ชุดทดสอบความเข้ากันได้ของ Android (CTS) เครื่องมือนี้ทำหน้าที่เป็นเว็บอินเทอร์เฟซสำหรับ Trade Federation (TF) ช่วยให้คุณสามารถรัน CTS บนอุปกรณ์ทดสอบได้อย่างง่ายดายด้วยการตั้งค่าเพียงเล็กน้อย พร้อมทั้งกำหนดตารางเวลาเพื่อทำการทดสอบอย่างต่อเนื่อง
ตั้งค่าสถานีทดสอบ Android
ส่วนนี้จะอธิบายวิธีการติดตั้งและตั้งค่า Android Test Station
Android Test Station ใช้ซอร์สโค้ดจากตำแหน่งเหล่านี้:
- ซอร์สโค้ด สถานีทดสอบ Android
- ซอร์สโค้ด คลัสเตอร์ TradeFed
ติดตั้งสถานีทดสอบ Android
ปฏิบัติตามข้อกำหนดด้านฮาร์ดแวร์และซอฟต์แวร์สำหรับชุดการทดสอบที่คุณใช้งาน
ข้อกำหนดสำหรับ CTS มีอยู่ใน source.android.com
ไม่มีข้อกำหนดด้านฮาร์ดแวร์เพิ่มเติมสำหรับ ATS แต่เราขอแนะนำให้ใช้ ข้อกำหนดโฮสต์ CTS เป็นจุดเริ่มต้น
มีสองวิธีในการติดตั้ง Android Test Station:
- เรียกใช้ โปรแกรมติดตั้ง
- ติดตั้งด้วยตนเอง ซึ่งจำเป็นต้องติดตั้งหลายโปรแกรมและทรัพยากร
ติดตั้งด้วยโปรแกรมติดตั้ง
บน Ubuntu 20.04+ โปรแกรมติดตั้งจะติดตั้งและกำหนดค่าโปรแกรมและทรัพยากรทั้งหมดที่จำเป็นในการรัน Android Test Station
วิธีใช้โปรแกรมติดตั้ง:
รันโปรแกรมติดตั้ง:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
เรียกใช้
mtt version
เพื่อตรวจสอบเวอร์ชันที่ติดตั้งของ Android Test Station CLI
ติดตั้งด้วยตนเอง
ติดตั้งนักเทียบท่า
ทำตาม คำแนะนำในการติดตั้ง Docker Community Edition (CE) บนเครื่อง Linux ของคุณ
ทำตาม ขั้นตอนหลังการติดตั้งเพื่อจัดการ Docker ในฐานะผู้ใช้ที่ไม่ใช่รูท
คุณอาจต้องรีสตาร์ทหน้าต่างเทอร์มินัลหรือออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อให้การเปลี่ยนแปลงสิทธิ์มีผล
ติดตั้งไพธอน 3
Android Test Station CLI ได้รับการตรวจสอบกับ Python เวอร์ชัน 3.7 ถึง 3.10
สำหรับ Ubuntu 16.04 หรือก่อนหน้า ให้เพิ่มพื้นที่เก็บข้อมูลสำหรับ Python 3 ก่อนโดยทำอย่างใดอย่างหนึ่งต่อไปนี้:
รันคำสั่งนี้:
sudo add-apt-repository ppa:deadsnakes/ppa
สร้างและติดตั้งพื้นที่เก็บข้อมูล จากแหล่งที่มา
หากต้องการติดตั้ง Python 3 ให้รันคำสั่งเหล่านี้:
sudo apt-get update
sudo apt install python3 python3-distutils
หากต้องการติดตั้ง Python 3 เวอร์ชันเฉพาะ (เช่น 3.10) ให้รันคำสั่งเหล่านี้แทน:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
รับ CLI ของสถานีทดสอบ Android
ดาวน์โหลดแพ็คเกจอินเทอร์เฟซบรรทัดคำสั่ง (CLI) ที่นี่
เริ่มสถานีทดสอบ Android
เริ่ม Android Test Station ด้วยคำสั่งต่อไปนี้:
mtt start
ครั้งแรกที่ UI เริ่มต้น อาจใช้เวลาสักครู่จึงจะปรากฏ CLI จะแสดง URL ของเว็บเพื่อเข้าถึง UI ในเบราว์เซอร์ ตามค่าเริ่มต้น URL ของเว็บจะเป็น localhost:8000
หากจำเป็น คุณสามารถเปลี่ยนพอร์ตเริ่มต้นเมื่อเริ่มต้นระบบด้วยแฟล็ก --port
หากมีเวอร์ชันใหม่กว่า คุณสามารถอัปเดตเป็นเวอร์ชันปัจจุบันได้ คุณสามารถตรวจสอบ บันทึกประจำรุ่น เพื่อดูรุ่นล่าสุดได้
หากต้องการอัปเดตเป็นเวอร์ชันปัจจุบัน ให้รัน:
mtt start --force_update
หากต้องการหยุดแอป ให้รัน:
mtt stop
หากต้องการดูรายการคำสั่งอื่นๆ ให้ใช้:
mtt --help
สำรองและกู้คืนฐานข้อมูล
หากต้องการสำรองฐานข้อมูล ATS ให้หยุดแอปแล้วรันคำสั่งต่อไปนี้ ซึ่งจะสำรองฐานข้อมูลปัจจุบันเป็นไฟล์ TAR ชื่อ mtt-backup.tar
ในโฮมไดเร็กตอรี่ของคุณ:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
หากต้องการคืนค่า ให้รันคำสั่งต่อไปนี้ก่อนที่จะเริ่มแอป:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
วิซาร์ดการตั้งค่า
หลังจากที่คุณติดตั้งและเรียกใช้ Android Test Station เป็นครั้งแรก วิซาร์ดการตั้งค่าจะนำคุณผ่านขั้นตอนต่างๆ เพื่อช่วยคุณปรับแต่งเครื่องมือให้เหมาะกับสภาพแวดล้อมของคุณ การเปลี่ยนแปลงใดๆ ที่คุณทำที่นี่สามารถกำหนดค่าใหม่ได้ในภายหลังผ่านหน้าการตั้งค่า
คืนค่าการสำรองข้อมูลการกำหนดค่า
หากคุณมี ไฟล์การกำหนดค่าที่สำรองข้อมูล จากโฮสต์ Android Test Station อื่น คุณสามารถอัปโหลดไฟล์เพื่อคัดลอกการกำหนดค่าใดๆ ที่แก้ไขจากโฮสต์นั้นได้โดยคลิกปุ่ม อัปโหลดไฟล์
รูปที่ 1 การเรียกคืนข้อมูลสำรองการกำหนดค่า
ตั้งค่าบัญชีบริการเริ่มต้น
คุณสามารถตั้ง ค่าบัญชีบริการ ที่ Android Test Station ใช้เป็นค่าเริ่มต้นเมื่อเข้าถึงทรัพยากรของคุณ (เช่น Google Cloud Storage, Google Drive) หากต้องการตรวจสอบสิทธิ์บัญชีบริการของคุณ ให้คลิก อัปโหลดคีย์บัญชีบริการ และเลือกไฟล์คีย์ JSON ของบัญชีบริการของคุณ
รูปที่ 2 การตั้งค่าบัญชีบริการ
เมื่อบัญชีบริการได้รับการตรวจสอบสิทธิ์เรียบร้อยแล้ว ที่อยู่อีเมลของบัญชีจะปรากฏที่มุมขวาบนของหน้า หากต้องการเปลี่ยนบัญชีบริการ ให้คลิกชื่อบัญชี ลบบัญชีเริ่มต้นปัจจุบัน และอัปโหลดคีย์บัญชีบริการใหม่
รูปที่ 3 การเปลี่ยนบัญชีบริการ
นำเข้าชุดการกำหนดค่า
ชุดการกำหนดค่าคือชุดการกำหนดค่าสำหรับการเรียกใช้ชุดทดสอบ รวมถึงการทำงานของอุปกรณ์ที่เกี่ยวข้อง และช่องทางการสร้าง ชุดการกำหนดค่าโฮสต์อยู่ในที่เก็บข้อมูล Google Cloud Storage (GCS) เฉพาะ หลังจากตรวจสอบสิทธิ์ช่องทางการสร้าง GCS ด้วยบัญชี Google ของคุณแล้ว คุณจะเห็นรายการชุดการกำหนดค่าทั้งหมดที่คุณสามารถใช้ได้
เลือกชุดการกำหนดค่าใดๆ ที่คุณต้องการเพิ่มไปยังโฮสต์ Test Station ของคุณ และคลิก นำเข้าที่เลือก
รูปที่ 4 การนำเข้าชุดการกำหนดค่า
รวมการตั้งค่า Wi-Fi
การทดสอบ CTS บางอย่างกำหนดให้อุปกรณ์ของคุณเชื่อมต่อกับฮอตสปอต Wi-Fi หากต้องการเลือกเครือข่าย Wi-Fi ของคุณ ให้ป้อน WiFi SSID และ WiFi PSK เสริม
รูปที่ 5. การตั้งค่าฮอตสปอต Wi-Fi
หลังจากเสร็จสิ้นวิซาร์ดการตั้งค่าแล้ว หน้าจะโหลดซ้ำโดยใช้การตั้งค่าใหม่
เชื่อมต่ออุปกรณ์
ต้องเปิดใช้งานการแก้ไขข้อบกพร่อง USB เพื่อใช้อุปกรณ์สำหรับการทดสอบ หากต้องการเปิดใช้งานการดีบัก:
ทำตามคำแนะนำใน เปิดใช้งานตัวเลือกนักพัฒนาและการดีบัก
หากคุณวางแผนที่จะใช้เวอร์ชันทดสอบ Android ที่โหลดไว้ล่วงหน้าด้วยคีย์ ADB แบบกำหนดเอง ให้วางไฟล์
.adb_key
แบบกำหนดเองไว้ใต้ไดเร็กทอรี~/.android/
ไฟล์จะถูกโหลดโดยอัตโนมัติและส่งผ่านไปยัง ADB เพื่อเปิดใช้งานการแก้ไขจุดบกพร่อง USB อัตโนมัติหลังจากที่อุปกรณ์ถูกแฟลชสำหรับอุปกรณ์ที่ใช้งานรุ่นเหล่านั้น
เชื่อมต่ออุปกรณ์กับเครื่องโฮสต์โดยใช้ USB
อุปกรณ์จะปรากฏในแท็บอุปกรณ์สถานีทดสอบ Android ภายในหนึ่งนาทีหลังจากรีเฟรชเว็บอินเทอร์เฟซ คุณสามารถดูสถานะของอุปกรณ์ได้ในแท็บนี้
รูปที่ 6. การเชื่อมต่ออุปกรณ์
สถานะของอุปกรณ์ต่างๆ ได้แก่:
- พร้อมใช้งาน - อุปกรณ์เชื่อมต่ออยู่และพร้อมที่จะทำการทดสอบ
- จัดสรรแล้ว - อุปกรณ์เชื่อมต่ออยู่และกำลังทำการทดสอบ อุปกรณ์แต่ละเครื่องสามารถทำการทดสอบได้ครั้งละหนึ่งรายการเท่านั้น ดังนั้นอุปกรณ์จะต้องทำการทดสอบปัจจุบันให้เสร็จสิ้นก่อนที่จะทำการทดสอบใหม่
ทำการทดสอบ
เลือกการทดสอบ
Android Test Station มาพร้อมกับชุดการกำหนดค่า CTS ที่รวมไว้ล่วงหน้า หากต้องการรันการทดสอบเหล่านี้ ให้ไปที่แท็บชุดทดสอบ แล้วคลิก รันการทดสอบ สำหรับการทดสอบที่ต้องการ
รูปที่ 7. การเลือกการทดสอบ
หากต้องการแก้ไขหรือเพิ่มการทดสอบใหม่ โปรดดูที่ การเพิ่มการทดสอบ
กำหนดค่าการทดสอบการทำงาน
แก้ไขพารามิเตอร์ที่จะใช้สำหรับการทดสอบเฉพาะนี้ พารามิเตอร์ส่วนใหญ่จะถูกเติมไว้ล่วงหน้าด้วยค่าที่กำหนดไว้ในการกำหนดค่าการทดสอบที่เลือก
ขั้นตอนนี้สามารถดำเนินการให้เสร็จสิ้นได้โดยใช้ค่าเริ่มต้น แต่คุณสามารถเปลี่ยนพารามิเตอร์ใดๆ ได้ เช่น Max Retry และ Command เพื่อให้เหมาะกับความต้องการของคุณ
รูปที่ 8 การกำหนดค่าการทดสอบการทำงาน
พารามิเตอร์การทดสอบการทำงานคือ:
- ชื่อ - ชื่อของชุดการทดสอบที่คุณต้องการเรียกใช้
- จำนวนการรัน - จำนวนครั้งที่ควรทำการทดสอบนี้เมื่อกำหนดเวลาไว้ การดำเนินการทดสอบกำหนดไว้โดยใช้ Trade Federation ซึ่งดำเนินการทดสอบพร้อมกันสูงสุด 20 ครั้ง หากมีความสามารถในการดำเนินการดังกล่าว
- Max Retry - จำนวนครั้งสูงสุดในการลองทดสอบอีกครั้ง หากการทดสอบล้มเหลวอย่างน้อยหนึ่งครั้ง โดยปกติจะตั้งค่าไว้ที่ 4–6 ครั้งสำหรับการเรียกใช้ CTS เต็มรูปแบบเพื่อจัดการกับการทดสอบที่ไม่สม่ำเสมอ
- Queue Timeout - หากการทดสอบรันยังคงอยู่ในสถานะ Queued นานเกินไป จะถูกยกเลิกโดยอัตโนมัติ ระบุระยะเวลาที่ต้องรอก่อนยกเลิกที่นี่ ค่าเริ่มต้นคือ 24 ชั่วโมง
Command - คำสั่งเพื่อรันชุดทดสอบ คุณสามารถป้อนอาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติมได้ที่นี่ ตัวอย่างเช่น รันโมดูลเฉพาะใน CTS 8.1 ด้วย:
cts-suite -m ShortModuleName
Retry Command - คำสั่งสำหรับการลองชุดทดสอบอีกครั้ง คุณสามารถเพิ่มอาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติมได้ที่นี่ ตัวอย่างเช่น หากต้องการลองเฉพาะโมดูลเฉพาะใน CTS 8.1 อีกครั้ง ให้ใช้:
cts --retry 0 -m ShortModuleName
อาร์กิวเมนต์ที่ลองใหม่อาจแตกต่างจากอาร์กิวเมนต์ที่มีในคำสั่งเริ่มต้น ดังนั้นให้ตรวจสอบพารามิเตอร์ที่รองรับบนเว็บไซต์อย่างเป็นทางการสำหรับชุดทดสอบที่เลือก
การทดสอบการทำงานครั้งก่อน - หากคุณต้องการรันการทดสอบครั้งก่อนอีกครั้ง:
ภายใน - หากการรันเริ่มต้นบนโฮสต์ปัจจุบัน ให้ป้อน ID การทดสอบรันที่เห็นเมื่อดูรายละเอียดของการทดสอบรัน
รูปที่ 9 การทดสอบการทำงานก่อนหน้าในเครื่อง
ระยะไกล - หากการรันเริ่มต้นบนโฮสต์อื่น ให้อัปโหลดไฟล์ผลการทดสอบโดยเลือก ระยะไกล คลิก อัปโหลดไฟล์ผลการทดสอบ และเลือกไฟล์จากที่จัดเก็บในเครื่องของคุณ
รูปที่ 10 การทดสอบการทำงานระยะไกลก่อนหน้า
เลือกอุปกรณ์
คลิกช่องทำเครื่องหมายเพื่อเลือกอุปกรณ์ที่จะจัดสรรสำหรับการเรียกใช้ชุดทดสอบ จำนวนชาร์ดควรเปลี่ยนโดยอัตโนมัติเพื่อให้ตรงกับจำนวนอุปกรณ์ที่เลือก
รูปที่ 11. การเลือกอุปกรณ์
หากต้องการเลือกอุปกรณ์ตามคุณลักษณะอื่นที่ไม่ใช่อนุกรมของอุปกรณ์ คุณสามารถป้อน "ข้อมูลจำเพาะของอุปกรณ์" ได้ด้วยตนเอง ตัวอย่างเช่น หากต้องการเลือกอุปกรณ์ 3 เครื่องที่มีชื่อผลิตภัณฑ์ว่า "bramble" ให้ป้อนข้อมูลต่อไปนี้:
product:bramble;product:bramble;product:bramble
คุณลักษณะที่รองรับคือ:
- build_id
- อุปกรณ์_อนุกรม
- อุปกรณ์_ประเภท
- ชื่อโฮสต์
- ผลิตภัณฑ์
- ผลิตภัณฑ์_ตัวแปร
- ซิม_สเตท
อุปกรณ์ที่เลือกทั้งหมดจะต้องอยู่ในสถานะ พร้อมใช้ งานเพื่อดำเนินการทดสอบ และอุปกรณ์ทั้งหมดจะเปลี่ยนเป็นสถานะ จัดสรร เมื่อดำเนินการทดสอบ การทดสอบการทำงานอยู่ในสถานะ อยู่ในคิว ขณะที่กำลังรอให้อุปกรณ์พร้อมใช้งาน
เพิ่มการทำงานของอุปกรณ์
การทำงานของอุปกรณ์คือสคริปต์ที่สามารถดำเนินการก่อนการทดสอบแต่ละครั้ง การทำงานของอุปกรณ์บางอย่างได้รับการกำหนดค่าไว้แล้ว เช่น การกะพริบและการรีบูต หากต้องการสร้างการทำงานของอุปกรณ์ใหม่ โปรดดู สร้างการทำงานของอุปกรณ์ใหม่
รูปที่ 12 การทำงานของอุปกรณ์
หากต้องการเพิ่มการดำเนินการของอุปกรณ์ลงในการทดสอบการทำงาน ให้คลิก เพิ่มการดำเนินการใหม่ เลือกช่องทำเครื่องหมายสำหรับการดำเนินการที่จะเพิ่ม และคลิก เพิ่มการดำเนินการ การทำงานของอุปกรณ์จะดำเนินการตามลำดับ คุณสามารถเรียงลำดับการดำเนินการใหม่ได้โดยการลาก
รูปที่ 13 การเรียงลำดับการดำเนินการใหม่
ตั้งค่าทรัพยากรทดสอบ
ทรัพยากรทดสอบคือไฟล์ที่จำเป็นสำหรับการดำเนินการทดสอบ ตัวอย่างเช่น การเรียกใช้ CTS ต้องใช้ไฟล์ android-cts*.zip
และการแฟลชอุปกรณ์จะทำให้คุณต้องจัดเตรียมอิมเมจบิลด์
URL ดาวน์โหลดสำหรับไฟล์ zip ของชุดทดสอบควรมีค่าเริ่มต้นเป็นลิงก์ Google Drive ที่มอบให้กับพันธมิตร คุณสามารถเลือกไฟล์อื่นได้โดยคลิก เรียกดู ในหน้าต่างป๊อปอัป คุณสามารถป้อนลิงก์ดาวน์โหลดไฟล์ ใช้ไฟล์จากช่องทางบิลด์ที่ได้รับการตรวจสอบสิทธิ์ หรืออัปโหลดไฟล์เพื่อใช้จากที่จัดเก็บในตัวเครื่อง
รูปที่ 14 ทดสอบทรัพยากร
ด้านล่างนี้เป็นหน้าต่างป๊อปอัปสำหรับเลือกทรัพยากรทดสอบตาม URL ของเว็บ คุณสามารถป้อนลิงก์ URL ดาวน์โหลดแล้วคลิกปุ่ม เลือก เพื่อยืนยันการเลือก
รูปที่ 15 ทดสอบตัวเลือกทรัพยากร - URL ของเว็บ
หากคุณได้อัปโหลดทรัพยากรไปยัง Google Grive, Google Cloud Storage (GCS) หรือช่องทางอื่นๆ คุณยังสามารถไปที่แท็บของช่องที่ต้องการและเลือกทรัพยากรที่นั่นได้ นี่คือตัวอย่างการเลือกทรัพยากรจาก Google Drive
รูปที่ 16 ตัวเลือกทรัพยากรทดสอบ - Google Drive
นอกเหนือจากการเลือกไฟล์แล้ว ฟิลด์ชื่อ ไฟล์ ยังรองรับอักขระไวด์การ์ดอีกด้วย สามารถดูเอกสารได้ ที่นี่
รูปที่ 17 ตัวเลือกทรัพยากรทดสอบ - รองรับรูปแบบไวด์การ์ด
คุณยังสามารถเลือกไฟล์จากพื้นที่จัดเก็บไฟล์ในเครื่องของ Android Test Station คุณสามารถอัปโหลดไฟล์ไปยังที่เก็บข้อมูลนี้ หรือ ใช้ไฟล์และไดเร็กทอรีในเครื่องโดยตรง
รูปที่ 18 ตัวเลือกทรัพยากรทดสอบ - ที่เก็บไฟล์ในเครื่อง
เพิ่มการกำหนดค่าการรันซ้ำ
คุณสามารถกำหนดเวลาการฉายซ้ำที่เริ่มต้นหลังจากการวิ่งหลักเสร็จสิ้นแล้ว และโหลดผลลัพธ์ได้ แต่สามารถใช้อุปกรณ์ การดำเนินการ หรือทรัพยากรที่แตกต่างกันได้
รูปที่ 19 การเพิ่มการกำหนดค่าการรันซ้ำ
เริ่มการทดสอบการทำงาน
หลังจากที่คุณป้อนข้อมูลที่จำเป็นสำหรับการทดสอบการทำงานแล้ว ให้คลิก เริ่มการทดสอบการทำงาน หากข้อมูลทั้งหมดถูกต้อง การทดสอบการทำงานจะเริ่มต้นขึ้น และคุณจะถูกเปลี่ยนเส้นทางไปยังหน้าเพื่อดูรายละเอียดและความคืบหน้าของการทดสอบการทำงาน
รูปที่ 20. การเริ่มการทดสอบการทำงาน
สร้างแผนการทดสอบ
แผนการทดสอบใช้เพื่อสร้างการทดสอบการทำงานตามกำหนดเวลา เช่น รัน CTS 9.0 ทุกวัน เวลา 17.00 น. หากต้องการสร้างแผนการทดสอบใหม่ คลิก สร้างแผนการทดสอบใหม่
รูปที่ 21 การสร้างแผนการทดสอบ
กำหนดค่าแผนการทดสอบ
ป้อนชื่อแผนการทดสอบและป้ายกำกับที่คุณต้องการเพิ่ม จากนั้นเลือกตารางเวลาที่จะใช้
- กำหนดเอง - แผนการทดสอบจะสร้างการทดสอบเฉพาะเมื่อผู้ใช้คลิกเรียก ใช้แผนการทดสอบ ในหน้ารายการแผนการทดสอบ
- เป็นระยะ - แผนการทดสอบจะกำหนดเวลาการทดสอบโดยอัตโนมัติตามกำหนดเวลาที่เลือก เช่น กำหนดเวลาการทดสอบการทำงานทุกวันเวลา 17.00 น.
- กำหนดเอง - แผนการทดสอบจะกำหนดเวลาการทดสอบรันโดยอัตโนมัติตาม นิพจน์ cron ที่ป้อน ตัวอย่างเช่น หากต้องการกำหนดเวลาการทดสอบการทำงานทุกวันเวลา 17.00 น. นิพจน์ cron จะเป็น
0 17 * * *
รูปที่ 22 การกำหนดค่าแผนการทดสอบ
เพิ่มชุดทดสอบ
เพิ่มชุดการทดสอบที่คุณต้องการกำหนดเวลาตามแผนการทดสอบโดยคลิก + เพิ่มการกำหนดค่าการทดสอบการทำงาน เลือกชุดการทดสอบจากดรอปดาวน์ ชื่อ และคลิก ขั้นตอนถัดไป จากนั้นเลือกอุปกรณ์ที่คุณต้องการเรียกใช้การทดสอบ แล้วคลิก เพิ่มการกำหนดค่า คุณสามารถเพิ่มการกำหนดค่าได้หลายรายการสำหรับแต่ละแผนการทดสอบ
รูปที่ 23 การกำหนดค่าการทดสอบการทำงาน
เพิ่มการทำงานของอุปกรณ์
เพิ่มการกระทำของอุปกรณ์ที่คุณต้องการดำเนินการก่อนการทดสอบแต่ละครั้ง ดู การเพิ่มการทำงานของอุปกรณ์ สำหรับรายละเอียดเพิ่มเติม
รูปที่ 24. การเพิ่มการทำงานของอุปกรณ์
ตั้งค่าทรัพยากรทดสอบ
การเพิ่มทรัพยากรทดสอบลงในแผนการทดสอบจะเหมือนกับการเพิ่มลงในการทดสอบแต่ละครั้ง ดู การตั้งค่าทรัพยากรการทดสอบ สำหรับรายละเอียดเพิ่มเติม
รูปที่ 25 การตั้งค่าทรัพยากรทดสอบ
ดูการทดสอบการทำงาน
รายการวิ่งทดสอบ
ดูรายการการทดสอบการทำงานตามกำหนดการในหน้าการทดสอบการทำงาน คลิก ดู เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการทดสอบการทำงาน
คุณยังสามารถกรองรายการได้โดยการป้อนสตริงลงในแถบตัวกรองแล้วกดปุ่ม Enter คุณสามารถใช้ตัวกรองหลายตัวได้โดยคั่นด้วยเครื่องหมายจุลภาค ตัวกรองจะแสดงแถวทั้งหมดที่มีข้อความตรงกันทุกประการ (ไม่มีสตริงย่อยที่ตรงกัน) ในคอลัมน์ใดๆ ยกเว้น Status และ Create
ตัวกรองว่างส่งคืนแถวทั้งหมด ขณะนี้ยังไม่มีวิธีกรองแถวที่มีค่าว่าง
รูปที่ 26 รายการทดสอบการทำงาน
รายละเอียดการวิ่งทดสอบ
คุณสามารถดูรายละเอียดของการทดสอบได้ที่นี่ เช่น สถานะ บันทึก และผลลัพธ์
รูปที่ 27 รายละเอียดการทดสอบการทำงาน
ทดสอบสถานะการทำงาน
ความคืบหน้าของการทดสอบการทำงานจะแสดงในส่วนสถานะ หากมีข้อความที่เกี่ยวข้อง เช่น ความคืบหน้าในการดาวน์โหลด เหตุผลในการยกเลิก หรือข้อความแสดงข้อผิดพลาด ก็จะแสดงไว้ที่นี่เช่นกัน
รูปภาพ 28. ทดสอบสถานะการทำงาน
สถานะการทดสอบการทำงานคือ:
- รอดำเนินการ - กำลังดาวน์โหลดทรัพยากรที่จำเป็น
- อยู่ในคิว - การทดสอบพร้อมที่จะรันเมื่อมีอุปกรณ์พร้อมใช้งาน
- กำลังดำเนินการ - การทดสอบกำลังทำงานบนอุปกรณ์ที่ได้รับการจัดสรร
- เสร็จสิ้น - การทดสอบเสร็จสิ้นและรายงานผลลัพธ์แล้ว
- ยกเลิกแล้ว - ผู้ใช้ยกเลิกการทดสอบหรือหมดเวลาขณะพยายามค้นหาอุปกรณ์ที่พร้อมใช้งาน
- ข้อผิดพลาด - เกิดข้อผิดพลาดที่ทำให้การทดสอบไม่สามารถทำงานได้
ยกเลิกการทดสอบการทำงาน
หากการทดสอบการทำงานยังไม่เสร็จสมบูรณ์ คุณสามารถยกเลิกได้โดยคลิก ยกเลิก จากนั้นคลิก ใช่ ในกล่องโต้ตอบการยืนยัน การทดสอบการทำงานจะถูกยกเลิกโดยอัตโนมัติหากยังคงอยู่ในสถานะอยู่ ในคิว นานกว่าฟิลด์ Queu_timeout_seconds การยกเลิกการทดสอบขณะอยู่ในสถานะ กำลังทำงาน อาจใช้เวลาสักครู่จึงจะมีผล
รูปที่ 29. การยกเลิกการทดสอบการทำงาน
ผลการทดสอบการทำงาน
หลังจากการทดสอบดำเนินการเสร็จสิ้น ระบบจะรวบรวมและแสดงผลลัพธ์ คุณสามารถดูรายละเอียดเพิ่มเติมได้โดยคลิกลูกศรสำหรับการวิ่งแต่ละครั้ง คลิก ดูไฟล์เอาต์พุต เพื่อดูส่วนการทดสอบที่รวบรวม เช่น test_result.xml
และ test_result_failures.html
รูปที่ 30. ผลการทดสอบการทำงาน
คุณสามารถดูบันทึกโฮสต์สดและ Tradefed ได้ในแท็บบันทึก
รูปที่ 31 แท็บบันทึก
ผลลัพธ์สำหรับแต่ละโมดูลจะอยู่บนแท็บผลการทดสอบ
รูปที่ 32 แท็บผลการทดสอบ
คุณสามารถดาวน์โหลดไฟล์ที่ใช้เป็นทรัพยากรทดสอบได้โดยการคลิก เปิด ในแท็บทรัพยากรทดสอบ
รูปที่ 33 แท็บทรัพยากรทดสอบ
หากต้องการดูรายละเอียดของการทดสอบการทำงาน เช่น create_time ให้ไปที่แท็บ Config
รูปภาพ 34. แท็บกำหนดค่า
คุณสมบัติขั้นสูง
จัดการไฟล์กำหนดค่า
Android Test Station ใช้ไฟล์การกำหนดค่าที่เขียนด้วย YAML เพื่อโหลดตัวเลือกที่กำหนดไว้ล่วงหน้า เช่น การทดสอบ การสร้างช่องสัญญาณ และการทำงานของอุปกรณ์ ไฟล์กำหนดค่าตัวอย่างสำหรับบางตัวเลือกแสดงอยู่ด้านล่าง
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
เมื่อคุณตั้งค่าอินสแตนซ์ Android Test Station คุณสามารถแชร์การกำหนดค่าของคุณกับผู้ใช้รายอื่นโดยส่งออกเป็นไฟล์ โดยไปที่หน้าการตั้งค่าแล้วคลิก ส่งออก ที่มุมขวาบน
รูปที่ 35 การจัดการไฟล์การกำหนดค่า
หลังจากดาวน์โหลดไฟล์การกำหนดค่าของคุณแล้ว ให้แชร์ไฟล์กับผู้ใช้รายอื่น พวกเขาสามารถเพิ่มไฟล์การกำหนดค่าไปยังอินสแตนซ์ Android Test Station ของตนได้โดยการคลิก นำเข้า และเลือกไฟล์การกำหนดค่า
สร้างการทำงานของอุปกรณ์ใหม่
การทำงานของอุปกรณ์จะใช้เพื่อทำให้กระบวนการตั้งค่าอุปกรณ์เป็นแบบอัตโนมัติ การดำเนินการคือสคริปต์ที่ดำเนินการบนอุปกรณ์แต่ละเครื่องที่การทดสอบดำเนินการอยู่ก่อนการทดสอบแต่ละครั้ง รวมถึงก่อนที่จะลองอีกครั้ง หากต้องการดูรายการการทำงานของอุปกรณ์ที่มีอยู่ ให้ไปที่หน้าการตั้งค่า และคลิกแท็บการทำงานของอุปกรณ์ การทำงานของอุปกรณ์หลายอย่างได้รับการกำหนดค่าไว้แล้ว เช่น การรีบูตและการแฟลช
รูปที่ 36 แท็บการทำงานของอุปกรณ์
เพิ่มการทำงานของอุปกรณ์ใหม่
คลิก การทำงานของอุปกรณ์ใหม่
รูปภาพ 37. ปุ่มการทำงานของอุปกรณ์ใหม่
ป้อนชื่อและคำอธิบาย
รูปที่ 38 ชื่อการทำงานของอุปกรณ์
คลิก เพิ่มผู้จัดเตรียมเป้าหมาย
ป้อนชื่อคลาสเต็มของ Trade Federation Target Preparationr เช่น
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
รูปที่ 39. การเพิ่มตัวจัดเตรียมเป้าหมาย
รายชื่อผู้จัดเตรียมเป้าหมายที่มีอยู่สามารถพบได้ในข้อมูลอ้างอิง com.android.tradefed.targetprep
รูปที่ 40 รายการผู้จัดเตรียมเป้าหมาย
เพิ่มตัวเลือกใดๆ เพื่อใช้กับผู้จัดเตรียมเป้าหมาย หากต้องการดูตัวเลือกที่มี ให้ตรวจสอบ targetprep เพื่อหาซอร์สโค้ดสำหรับผู้จัดเตรียมเป้าหมายแต่ละตัวใน AOSP:
รูปที่ 41 ตัวอย่างตัวเลือกการดำเนินการ
หากต้องการเพิ่มตัวเลือก ให้คลิก เพิ่มตัวเลือกผู้จัดเตรียมเป้าหมาย แล้วป้อนค่าที่ต้องการ
รูปที่ 42 ตัวอย่างคำสั่งการดำเนินการ
กำหนดทรัพยากรทดสอบที่จำเป็นสำหรับการดำเนินการของอุปกรณ์ เช่น สร้างภาพสำหรับการกะพริบ หากต้องการเพิ่มข้อกำหนดทรัพยากร คลิก เพิ่มทรัพยากรทดสอบ และกรอกข้อมูลในฟิลด์ที่จำเป็น หากคุณทราบว่าไฟล์ของคุณอยู่ที่ใด คุณสามารถระบุ URL ดาวน์โหลดเริ่มต้นได้โดยคลิก เรียกดู หากผู้จัดเตรียมเป้าหมายยอมรับไดเร็กทอรีเป็นรีซอร์สทดสอบ ให้เลือก ขยายขนาด จากนั้นระบุไดเร็กทอรี ปลายทาง แบบสัมพันธ์ภายใต้ไดเร็กทอรีการทำงานชั่วคราวและ ชื่อไฟล์ ที่จะคลายการบีบอัด หากไม่มีการระบุชื่อไฟล์ ไฟล์ทั้งหมดจะถูกคลายการบีบอัดจากทรัพยากรทดสอบ
รูปที่ 43 ทรัพยากรการทดสอบการดำเนินการ
คลิก อัปเดต
รูปที่ 44. การเปลี่ยนแปลงบันทึกการดำเนินการ
จัดการการทดสอบ
แก้ไขแบบทดสอบ
หากต้องการแก้ไขการทดสอบที่บันทึกไว้ ให้ไปที่หน้าการทดสอบแล้วคลิก แก้ไข ในแถวของการทดสอบที่คุณต้องการแก้ไข หลังจากเปลี่ยนการกำหนดค่าการทดสอบแล้ว ให้คลิก อัปเดต
รูปที่ 45. การแก้ไขการทดสอบ
เพิ่มการทดสอบใหม่
หากต้องการเพิ่มการทดสอบใหม่ ให้ไปที่หน้าการทดสอบแล้วคลิก สร้างการทดสอบใหม่ ป้อนข้อมูลที่เหมาะสมแล้วคลิก สร้าง
รูปที่ 46 การสร้างแบบทดสอบ
รูปที่ 47. การคัดลอกการทดสอบ
ส่งออกการกำหนดค่าโฮสต์
หลังจากที่คุณกำหนดค่าโฮสต์แล้ว คุณสามารถส่งออกการกำหนดค่าของโฮสต์ไปยังไฟล์ได้ คุณสามารถอัปโหลดไฟล์นี้ไปยังโฮสต์อื่นเพื่อคัดลอกการกำหนดค่าที่บันทึกไว้
หากต้องการส่งออกการกำหนดค่าของโฮสต์ ให้ไปที่หน้าการตั้งค่าแล้วคลิก ส่งออก ที่มุมขวาบน
รูปที่ 48. การส่งออกการกำหนดค่าโฮสต์
หากต้องการนำเข้าไฟล์การกำหนดค่าโฮสต์ ให้ไปที่หน้าการตั้งค่าแล้วคลิก นำเข้า ที่มุมขวาบน
รูปที่ 49. การนำเข้าการกำหนดค่าโฮสต์
ใช้ไฟล์และไดเร็กทอรีในเครื่อง
ตั้งแต่เวอร์ชัน R11 เป็นต้นไป ไฟล์ในไดเรกทอรี $HOME/.ats_storage
จะสามารถเข้าถึงได้โดยอัตโนมัติใน Android Test Station คัดลอกหรือย้ายไฟล์ไปยังไดเร็กทอรีนั้น จากนั้นคุณสามารถเลือกได้จากแท็บ Local File เมื่อกำหนดเวลาการทดสอบการทำงาน
cp /path/to/file $HOME/.ats_storage
รูปที่ 50. การเลือกไฟล์จากไดเร็กทอรี $HOME/.ats_storage
คุณสามารถเมานต์ไดเร็กทอรีเพิ่มเติมในที่เก็บไฟล์ในเครื่องด้วยแฟล็ก --mount_local_path
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
รูปที่ 51. ไดเร็กทอรีเพิ่มเติมที่ติดตั้งอยู่ในที่เก็บไฟล์ในเครื่อง
เปิดใช้งานโหมดหลายโฮสต์
ด้วยโหมดหลายโฮสต์ ผู้ใช้สามารถใช้โฮสต์คอนโทรลเลอร์ ATS เดียวเพื่อจัดการอุปกรณ์และทดสอบบนโฮสต์ของผู้ปฏิบัติงาน ATS หลายเครื่อง
รูปที่ 52. สถาปัตยกรรมโหมดหลายโฮสต์
ในการสตาร์ทคอนโทรลเลอร์ ATS ให้ใช้คำสั่งต่อไปนี้:
mtt start --operation_mode=ON_PREMISE
ตรวจสอบคอนโทรลเลอร์สามารถเข้าถึงได้ที่
http://${CONTROLLER_HOSTNAME}:8000
ในการเริ่มต้นผู้ปฏิบัติงาน ให้ใช้คำสั่งต่อไปนี้:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
หากเครือข่ายของคุณไม่อนุญาตให้โฮสต์สื่อสารกัน คุณต้องปฏิบัติตามคำแนะนำการตั้งค่าขั้นสูงเพิ่มเติมด้านล่างเกี่ยวกับพนักงาน ATS
เชื่อมต่อทั้งสองโฮสต์โดยใช้อุโมงค์ SSH เลือกพอร์ตสำหรับพอร์ตหลักและพอร์ตเซิร์ฟเวอร์ไฟล์ เช่น 9000 และ 9006
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
กำหนดค่าและเริ่ม ATS
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
เครื่องมือทำความสะอาดไฟล์
ตัวล้างไฟล์เป็นงาน cron ที่ทำงานทุกชั่วโมงเพื่อล้างไฟล์ตามการกำหนดค่าที่ผู้ใช้กำหนด ATS มีการกำหนดค่าเริ่มต้นสองแบบเพื่อเก็บถาวรผลการทดสอบและลบไฟล์ชั่วคราว คู่มือนี้จะอธิบายวิธีปรับแต่งนโยบายและการกำหนดค่าเพื่อจัดการไฟล์ของคุณอย่างมีประสิทธิภาพ
นโยบาย
นโยบายจะกำหนดการดำเนินการที่จะดำเนินการกับไฟล์หรือไดเร็กทอรี และเกณฑ์ในการเลือกเป้าหมาย การดำเนินการที่ใช้ได้แสดงอยู่ในตาราง:
ประเภทการดำเนินงาน | พารามิเตอร์ |
---|---|
ARCHIVE | remove_file : ถ้า true ให้ลบไฟล์ออกหลังจากเก็บถาวร |
DELETE |
เกณฑ์จะขึ้นอยู่กับคุณสมบัติของไฟล์และข้อมูลระบบ เกณฑ์ที่ใช้ได้แสดงอยู่ในตาราง:
ประเภทเกณฑ์ | คำอธิบาย | พารามิเตอร์ |
---|---|---|
LAST_MODIFIED_TIME | กรองไฟล์ตามวันที่และเวลาที่แก้ไขครั้งล่าสุด | ttl : รองรับการแสดงเวลาหลายประเภท เช่น 10m , 2h , 7 days , 4w ดู pytimeparse สำหรับรูปแบบที่รองรับ |
LAST_ACCESS_TIME | กรองไฟล์ตามวันที่และเวลาเข้าถึงล่าสุด | เช่นเดียวกับ LAST_MODIFIED_TIME |
NAME_MATCH | กรองไฟล์ตามชื่อโดยใช้นิพจน์ทั่วไป | pattern : นิพจน์ทั่วไป เช่น [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip เพื่อให้ตรงกัน รหัสไปรษณีย์ผลลัพธ์ |
SYSTEM_AVAILABLE_SPACE | ทริกเกอร์การดำเนินการตามพื้นที่ว่างบนระบบ | threshold : ทริกเกอร์การดำเนินการเมื่อพื้นที่ว่างที่มีอยู่ต่ำกว่าเกณฑ์ เช่น 200 (B), 200KB , 200MB , 200GB , 2TB |
รูปที่ 53. เพิ่มนโยบายตัวล้างไฟล์ใหม่
การกำหนดค่า
การกำหนดค่าจะรวมนโยบายตั้งแต่ 1 รายการขึ้นไปเข้ากับไดเรกทอรีเฉพาะ ไฟล์และไดเร็กทอรีภายในไดเร็กทอรีที่ระบุได้รับการประมวลผลตามนโยบายที่กำหนดไว้ มีการใช้นโยบายตามลำดับที่ปรากฏในการกำหนดค่า
ไดเร็กทอรีเป้าหมายทั้งหมดต้องอยู่ภายใต้ไดเร็กทอรี /data
หากการกำหนดค่าของคุณระบุไดเรกทอรีเป้าหมายเป็น logs
ระบบจะตีความว่าเป็น /data/logs
รูปที่ 54 แก้ไขการกำหนดค่าตัวล้างไฟล์
รีเซ็ต
การคลิก รีเซ็ตการตั้งค่า จะแปลงการกำหนดค่าตัวล้างไฟล์กลับเป็นสถานะเริ่มต้น การดำเนินการนี้จะล้างรายการที่กำหนดเองทั้งหมด
รูปภาพ 55. รีเซ็ตการตั้งค่าตัวล้างไฟล์
สนับสนุน
รายงานข้อผิดพลาด
การมีส่วนร่วมของคุณใน Android Test Station ช่วยปรับปรุงการพัฒนาเครื่องมือ และเราต้องการความคิดเห็นของคุณ! ดู บันทึกประจำรุ่น ATS สำหรับรายละเอียดเกี่ยวกับรุ่นล่าสุด หากต้องการรายงานข้อบกพร่องหรือเสนอข้อเสนอแนะ โปรด ยื่นรายงานข้อบกพร่อง พันธมิตรควรรายงานข้อผิดพลาดหรือข้อเสนอแนะผ่านช่องทางพันธมิตรของตน