OmniLab ATS เป็นเครื่องมือทดสอบที่นักพัฒนาแอป Android และวิศวกรทดสอบสามารถใช้เพื่อใช้งานอินเทอร์เฟซผู้ใช้สำหรับเรียกใช้ชุดทดสอบ Android มาตรฐาน เช่น ชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS) เครื่องมือนี้ทำหน้าที่เป็นอินเทอร์เฟซเว็บสำหรับเฟรมเวิร์กการทดสอบต่างๆ เช่น Trade Federation (TF) และ Google Mobly ซึ่งช่วยให้คุณเรียกใช้ CTS และการทดสอบแบบหลายอุปกรณ์ในชุดอุปกรณ์ทดสอบโดยตั้งค่าน้อยที่สุด ทั้งยังสร้างกำหนดการเพื่อทำการทดสอบอย่างต่อเนื่องด้วย
ตั้งค่า OmniLab ATS
ส่วนนี้จะอธิบายวิธีติดตั้งและตั้งค่า OmniLab ATS
OmniLab ATS ใช้ซอร์สโค้ดจากตำแหน่งเหล่านี้:
- OmniLab ATS ซอร์สโค้ดของ OmniLab
- ซอร์สโค้ด TradeFed Cluster
ติดตั้ง OmniLab ATS
ปฏิบัติตามข้อกำหนดของฮาร์ดแวร์และซอฟต์แวร์สำหรับชุดทดสอบที่คุณใช้
ดูข้อกำหนดสำหรับ CTS ได้ที่ source.android.com
OmniLab ATS ไม่มีข้อกำหนดด้านฮาร์ดแวร์เพิ่มเติม แต่เราขอแนะนำให้ใช้ข้อกำหนดของโฮสต์ CTS เป็นจุดเริ่มต้น
การติดตั้ง OmniLab ATS มี 2 วิธีดังนี้
- เรียกใช้โปรแกรมติดตั้ง
- ติดตั้งด้วยตนเอง ซึ่งต้องติดตั้งโปรแกรมและทรัพยากรหลายรายการ
ติดตั้งด้วยโปรแกรมติดตั้ง
ใน Ubuntu 20.04 ขึ้นไป โปรแกรมติดตั้งจะติดตั้งและกําหนดค่าโปรแกรมและทรัพยากรทั้งหมดที่จําเป็นสําหรับเรียกใช้ OmniLab ATS
วิธีใช้โปรแกรมการติดตั้ง
เรียกใช้โปรแกรมติดตั้งด้วยคำสั่งต่อไปนี้
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
เรียกใช้
mtt version
เพื่อตรวจสอบเวอร์ชันที่ติดตั้งของ OmniLab ATS CLI
ติดตั้งด้วยตนเอง
ติดตั้ง Docker
ทำตามวิธีการติดตั้ง Docker Community Edition (CE) ในเครื่อง Linux
ทำตามขั้นตอนหลังการติดตั้งเพื่อจัดการ Docker ในฐานะผู้ใช้ที่ไม่ใช่รูท
คุณอาจต้องรีสตาร์ทหน้าต่างเทอร์มินัลหรือออกจากระบบและลงชื่อเข้าใช้อีกครั้งเพื่อให้การเปลี่ยนแปลงสิทธิ์มีผล
ติดตั้ง Python 3
OmniLab ATS CLI ได้รับการยืนยันกับ Python เวอร์ชัน 3.7 ถึง 3.11
สำหรับ 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
รับ OmniLab ATS CLI
ดาวน์โหลดแพ็กเกจอินเทอร์เฟซบรรทัดคำสั่ง (CLI) ที่นี่
เริ่ม OmniLab ATS
เริ่มต้น OmniLab ATS ด้วยคำสั่งต่อไปนี้
mtt start
เมื่อเริ่ม UI เป็นครั้งแรก ระบบอาจใช้เวลา 2-3 นาทีจึงจะปรากฏ CLI จะแสดง URL ของเว็บสำหรับเข้าถึง UI ในเบราว์เซอร์ โดยค่าเริ่มต้น URL ของเว็บคือ localhost:8000
หากจำเป็น คุณจะเปลี่ยนพอร์ตเริ่มต้นได้เมื่อเริ่มต้นใช้งานด้วยแฟล็ก --port
หากมีเวอร์ชันใหม่พร้อมใช้งาน คุณสามารถอัปเดตเป็นเวอร์ชันปัจจุบันได้ คุณสามารถตรวจสอบบันทึกประจำรุ่นเพื่อดูรุ่นล่าสุด
หากต้องการอัปเดตเป็นเวอร์ชันปัจจุบัน ให้เรียกใช้คำสั่งต่อไปนี้
mtt start --force_update
หากต้องการหยุดแอป ให้เรียกใช้คำสั่งต่อไปนี้
mtt stop
หากต้องการดูรายการคำสั่งอื่นๆ ให้ใช้คำสั่งต่อไปนี้
mtt --help
สำรองและกู้คืนข้อมูล
หากต้องการสำรองข้อมูลฐานข้อมูล OmniLab 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"
วิซาร์ดการตั้งค่า
หลังจากติดตั้งและเรียกใช้ OmniLab ATS เป็นครั้งแรก วิซาร์ดการตั้งค่าจะแสดงขั้นตอนบางส่วนเพื่อช่วยปรับแต่งเครื่องมือสำหรับสภาพแวดล้อมของคุณ การเปลี่ยนแปลงที่คุณทำที่นี่จะกำหนดค่าใหม่ได้ในภายหลังผ่านหน้าการตั้งค่า
กู้คืนข้อมูลสำรองการกําหนดค่า
หากมีไฟล์การกําหนดค่าที่สำรองข้อมูลไว้จากโฮสต์ OmniLab ATS อื่น คุณสามารถอัปโหลดไฟล์เพื่อคัดลอกการกําหนดค่าที่แก้ไขจากโฮสต์นั้นได้โดยคลิกปุ่มอัปโหลดไฟล์
รูปที่ 1 การคืนค่าข้อมูลสำรองการกำหนดค่า
ตั้งค่าบัญชีบริการเริ่มต้น
คุณจะตั้งค่าบัญชีบริการที่ OmniLab ATS ใช้โดยค่าเริ่มต้นได้เมื่อเข้าถึงทรัพยากร (เช่น Google Cloud Storage, Google ไดรฟ์) หากต้องการตรวจสอบสิทธิ์บัญชีบริการ ให้คลิกอัปโหลดคีย์บัญชีบริการ แล้วเลือกไฟล์คีย์ JSON ของบัญชีบริการ
รูปที่ 2 การตั้งค่าบัญชีบริการ
เมื่อตรวจสอบสิทธิ์บัญชีบริการสําเร็จ อีเมลของบัญชีจะปรากฏที่มุมขวาบนของหน้า หากต้องการเปลี่ยนบัญชีบริการ ให้คลิกชื่อบัญชี นำบัญชีเริ่มต้นปัจจุบันออก และอัปโหลดคีย์บัญชีบริการใหม่
รูปที่ 3 การเปลี่ยนบัญชีบริการ
นำเข้าชุดการกําหนดค่า
ชุดการกำหนดค่าคือชุดการกำหนดค่าสำหรับการเรียกใช้ชุดทดสอบ รวมถึงการดำเนินการที่เกี่ยวข้องของอุปกรณ์และช่องทางบิลด์ ชุดการกําหนดค่าจะโฮสต์ในที่เก็บข้อมูล Google Cloud Storage (GCS) ที่เฉพาะเจาะจง หลังจากตรวจสอบสิทธิ์เวอร์ชันบิลด์ GCS ด้วยบัญชี Google แล้ว คุณจะเห็นรายการชุดการกำหนดค่าทั้งหมดที่พร้อมใช้งาน
เลือกชุดการกําหนดค่าที่ต้องการเพิ่มลงในโฮสต์สถานีทดสอบ แล้วคลิกนําเข้ารายการที่เลือก
รูปที่ 4 การนำเข้าชุดการกำหนดค่า
รวมการตั้งค่า Wi-Fi
การทดสอบ CTS บางรายการกำหนดให้อุปกรณ์ต้องเชื่อมต่อกับฮอตสปอต Wi-Fi หากต้องการเลือกเครือข่าย Wi-Fi ให้ป้อน WiFi SSID และ WiFi PSK (ไม่บังคับ)
รูปที่ 5 การตั้งค่าฮอตสปอต Wi-Fi
หลังจากวิซาร์ดการตั้งค่าเสร็จสมบูรณ์แล้ว หน้าเว็บจะโหลดซ้ำโดยใช้การตั้งค่าใหม่
เชื่อมต่ออุปกรณ์
คุณต้องเปิดใช้การแก้ไขข้อบกพร่อง USB เพื่อใช้อุปกรณ์ทดสอบ หากต้องการเปิดใช้การแก้ไขข้อบกพร่อง ให้ทำดังนี้
ทําตามวิธีการในหัวข้อเปิดใช้ตัวเลือกสําหรับนักพัฒนาแอปและการแก้ไขข้อบกพร่อง
หากวางแผนที่จะใช้บิลด์ Android ทดสอบที่โหลดไว้ล่วงหน้าด้วยคีย์ ADB ที่กำหนดเอง ให้วางไฟล์
.adb_key
ที่กำหนดเองไว้ในไดเรกทอรี~/.android/
ระบบจะโหลดไฟล์โดยอัตโนมัติและส่งไปยัง ADB เพื่อเปิดใช้การแก้ไขข้อบกพร่องผ่าน USB โดยอัตโนมัติหลังจากแฟลชอุปกรณ์สำหรับอุปกรณ์ที่ใช้บิลด์เหล่านั้น
เชื่อมต่ออุปกรณ์กับเครื่องโฮสต์โดยใช้ USB
อุปกรณ์จะปรากฏในแท็บอุปกรณ์ OmniLab ATS ภายใน 1 นาทีหลังจากรีเฟรชเว็บอินเทอร์เฟซ นอกจากนี้ คุณยังดูสถานะของอุปกรณ์ในแท็บนี้ได้อีกด้วย
รูปที่ 6 กำลังเชื่อมต่ออุปกรณ์
สถานะต่างๆ ของอุปกรณ์มีดังนี้
- พร้อมใช้งาน - อุปกรณ์เชื่อมต่ออยู่และพร้อมทำการทดสอบ
- จัดสรรแล้ว - อุปกรณ์เชื่อมต่ออยู่และกำลังทำการทดสอบ อุปกรณ์แต่ละเครื่องจะทำการทดสอบได้เพียง 1 รายการต่อครั้งเท่านั้น อุปกรณ์จึงต้องทำการทดสอบปัจจุบันให้เสร็จก่อนที่จะเรียกใช้ใหม่
เรียกใช้การทดสอบ
เลือกการทดสอบ
OmniLab ATS มาพร้อมกับชุดการกําหนดค่า CTS ที่รวมไว้ล่วงหน้า หากต้องการเรียกใช้การทดสอบเหล่านี้ ให้ไปที่แท็บ Test Suites แล้วคลิกทำการทดสอบสำหรับการทดสอบที่เลือก
รูปที่ 7 กำลังเลือกการทดสอบ
หากต้องการแก้ไขหรือเพิ่มการทดสอบใหม่ โปรดดูการเพิ่มการทดสอบ
กำหนดค่าการทดสอบ
แก้ไขพารามิเตอร์ที่จะใช้กับการทดสอบนี้ พารามิเตอร์ส่วนใหญ่จะป้อนข้อมูลล่วงหน้าด้วยค่าที่กําหนดในการกําหนดค่าการทดสอบที่เลือก
ขั้นตอนนี้ทําได้โดยใช้ค่าเริ่มต้น แต่คุณเปลี่ยนพารามิเตอร์ใดก็ได้ เช่น Max Retry และ Command เพื่อให้เหมาะกับความต้องการ
รูปที่ 8 การกำหนดค่าการทดสอบ
พารามิเตอร์การเรียกใช้ทดสอบมีดังนี้
- ชื่อ - ชื่อชุดทดสอบที่ต้องการเรียกใช้
- จํานวนการเรียกใช้ - จํานวนครั้งที่การทดสอบนี้ควรทํางานเมื่อกําหนดเวลาไว้ กำหนดเวลาการทดสอบโดยใช้ Trade Federation ซึ่งจะทำการทดสอบพร้อมกันได้สูงสุด 20 รายการหากมีขีดความสามารถ
- การลองใหม่สูงสุด - จำนวนครั้งที่จะลองเรียกใช้การทดสอบอีกครั้งสูงสุด หากการทดสอบอย่างน้อย 1 รายการไม่สําเร็จ ซึ่งโดยปกติจะตั้งค่าเป็นการลองใหม่ 4-6 ครั้งสำหรับ CTS เต็มรูปแบบเพื่อจัดการการทดสอบที่ไม่สม่ำเสมอ
- เวลาหมดอายุของคิว - หากการทดสอบอยู่ในสถานะรอดำเนินการนานเกินไป ระบบจะยกเลิกการทดสอบโดยอัตโนมัติ ระบุระยะเวลาที่รอก่อนการยกเลิกได้ที่นี่ ค่าเริ่มต้นคือ 24 ชั่วโมง
คําสั่ง - คําสั่งเพื่อเรียกใช้ชุดทดสอบ คุณสามารถป้อนอาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติมได้ที่นี่ เช่น เรียกใช้ข้อบังคับเฉพาะใน CTS 8.1 ด้วย
cts-suite -m ShortModuleName
ลองอีกครั้ง Command - คำสั่งสำหรับการลองชุดทดสอบอีกครั้ง คุณเพิ่มอาร์กิวเมนต์บรรทัดคำสั่ง เพิ่มเติมได้ที่นี่ ตัวอย่างเช่น หากต้องการลองอีกครั้งเฉพาะโมดูลเฉพาะใน CTS 8.1 ให้ใช้
cts --retry 0 -m ShortModuleName
ลองป้อนอาร์กิวเมนต์อีกครั้งอาจแตกต่างจากที่มีในคำสั่งเริ่มต้น ดังนั้นโปรดตรวจสอบพารามิเตอร์ที่รองรับในเว็บไซต์อย่างเป็นทางการของชุดทดสอบที่เลือก
การทดสอบครั้งก่อนหน้า - หากต้องการเรียกใช้การทดสอบครั้งก่อนหน้าอีกครั้ง ให้ทำดังนี้
ในพื้นที่ - หากการเรียกใช้เริ่มต้นในโฮสต์ปัจจุบัน ให้ป้อนรหัสการทดสอบที่เห็นเมื่อดูรายละเอียดของการทดสอบ
รูปที่ 9 การทดสอบการทำงานก่อนหน้าในเครื่อง
ระยะไกล - หากการเรียกใช้เริ่มต้นในโฮสต์อื่น ให้อัปโหลดไฟล์ผลการทดสอบโดยเลือกระยะไกล คลิกอัปโหลดไฟล์ผลการทดสอบ แล้วเลือกไฟล์จากพื้นที่เก็บข้อมูลในเครื่อง
รูปที่ 10 การทดสอบระยะไกลครั้งก่อนหน้า
เลือกอุปกรณ์
คลิกช่องทำเครื่องหมายเพื่อเลือกอุปกรณ์ที่จะจัดสรรให้เรียกใช้ชุดทดสอบ จำนวนกลุ่มควรเปลี่ยนแปลงโดยอัตโนมัติให้ตรงกับจำนวนอุปกรณ์ที่เลือก
รูปที่ 11 การเลือกอุปกรณ์
หากต้องการเลือกอุปกรณ์ตามแอตทริบิวต์อื่นที่ไม่ใช่หมายเลขซีเรียลของอุปกรณ์ ให้ป้อน "ข้อมูลจำเพาะของอุปกรณ์" ด้วยตนเอง ตัวอย่างเช่น หากต้องการเลือกอุปกรณ์ 3 เครื่องที่มีชื่อผลิตภัณฑ์เป็น "bramble" ให้ป้อนข้อมูลต่อไปนี้
product:bramble;product:bramble;product:bramble
แอตทริบิวต์ที่รองรับมีดังนี้
- รหัสบิลด์
- ซีเรียลของอุปกรณ์
- ประเภทอุปกรณ์ [device_type]
- ชื่อโฮสต์
- ผลิตภัณฑ์
- ผลิตภัณฑ์ย่อย
- sim_state
อุปกรณ์ที่เลือกทั้งหมดต้องอยู่ในสถานะพร้อมใช้งานเพื่อดำเนินการทดสอบ และทั้งหมดจะเปลี่ยนเป็นสถานะจัดสรรแล้วเมื่อทำการทดสอบ การทดสอบจะอยู่ในสถานะรอดำเนินการขณะที่รอให้อุปกรณ์พร้อมใช้งาน
เพิ่มการดำเนินการของอุปกรณ์
การดำเนินการของอุปกรณ์คือสคริปต์ที่ทำงานได้ก่อนการทดสอบแต่ละครั้ง การดำเนินการบางอย่างในอุปกรณ์ได้รับการกำหนดค่าไว้แล้ว เช่น การกะพริบและการรีบูต หากต้องการสร้างการดำเนินการของอุปกรณ์ใหม่ โปรดดูหัวข้อสร้างการดำเนินการของอุปกรณ์ใหม่
รูปที่ 12 การดำเนินการของอุปกรณ์
หากต้องการเพิ่มการดําเนินการของอุปกรณ์ในการทดสอบ ให้คลิกเพิ่มการดําเนินการใหม่ เลือกช่องทําเครื่องหมายสําหรับการดําเนินการที่จะเพิ่ม แล้วคลิกเพิ่มการดําเนินการ การดำเนินการของอุปกรณ์จะดำเนินการตามลำดับ คุณสามารถเรียงลำดับการดำเนินการใหม่ได้โดยลากการดำเนินการ
รูปที่ 13 การจัดเรียงการดำเนินการใหม่
ตั้งค่าทรัพยากรทดสอบ
ทรัพยากรการทดสอบคือไฟล์ที่จําเป็นต่อการดำเนินการทดสอบ เช่น การเรียกใช้ CTS ต้องใช้ไฟล์ android-cts*.zip
และการแฟลชอุปกรณ์กำหนดให้คุณต้องระบุอิมเมจการสร้าง
URL ดาวน์โหลดสำหรับไฟล์ ZIP ของชุดทดสอบควรเป็นลิงก์ Google ไดรฟ์ที่ให้ไว้กับพาร์ทเนอร์โดยค่าเริ่มต้น คุณเลือกไฟล์อื่นได้โดยคลิกเรียกดู ในหน้าต่างป๊อปอัป คุณสามารถป้อนลิงก์ดาวน์โหลดไฟล์ ใช้ไฟล์จากแชแนลการสร้างที่ตรวจสอบสิทธิ์แล้ว หรืออัปโหลดไฟล์เพื่อใช้จากพื้นที่เก็บข้อมูลในเครื่อง
รูปที่ 14 ทรัพยากรการทดสอบ
ด้านล่างนี้คือหน้าต่างป๊อปอัปสำหรับเลือกทรัพยากรทดสอบตาม URL ของเว็บ คุณสามารถป้อนลิงก์ URL การดาวน์โหลด แล้วคลิกปุ่มเลือกเพื่อยืนยันการเลือก
รูปที่ 15 เครื่องมือเลือกทรัพยากรทดสอบ - URL ของเว็บ
หากอัปโหลดทรัพยากรไปยัง Google Grive, Google Cloud Storage (GCS) หรือช่องทางอื่นๆ คุณจะไปที่แท็บของช่องที่ต้องการและเลือกทรัพยากรในส่วนนี้ได้ด้วย ต่อไปนี้เป็นตัวอย่างการเลือกทรัพยากรจาก Google ไดรฟ์
รูปที่ 16 ตัวเลือกทรัพยากรการทดสอบ - Google ไดรฟ์
นอกจากการเลือกไฟล์แล้ว ระบบยังรองรับอักขระไวลด์การ์ดในช่องชื่อไฟล์ด้วย ดูเอกสารประกอบได้ที่นี่
รูปที่ 17 ตัวเลือกทรัพยากรการทดสอบ - การสนับสนุนรูปแบบไวลด์การ์ด
นอกจากนี้ คุณยังเลือกไฟล์จากพื้นที่เก็บข้อมูลไฟล์ในเครื่องของ OmniLab ATS ได้ด้วย คุณสามารถอัปโหลดไฟล์ไปยังพื้นที่เก็บข้อมูลนี้ หรือใช้ไฟล์และไดเรกทอรีในเครื่องโดยตรงก็ได้
รูปที่ 18 เครื่องมือเลือกทรัพยากรทดสอบ - พื้นที่เก็บไฟล์ในเครื่อง
เพิ่มการกําหนดค่าการทําซ้ำ
คุณสามารถกําหนดเวลาการเรียกใช้ซ้ำที่จะเริ่มต้นหลังจากที่การเรียกใช้หลักเสร็จสมบูรณ์และโหลดผลลัพธ์ได้ แต่จะต้องใช้อุปกรณ์ การดําเนินการ หรือทรัพยากรอื่น
รูปที่ 19 การเพิ่มการกําหนดค่าการเรียกใช้ใหม่
เริ่มการทดสอบ
หลังจากป้อนข้อมูลที่จำเป็นสำหรับการทดสอบแล้ว ให้คลิกเริ่มการทดสอบ หากข้อมูลทั้งหมดถูกต้อง ระบบจะเริ่มการทดสอบ และระบบจะเปลี่ยนเส้นทางคุณไปยังหน้าเว็บเพื่อดูรายละเอียดและความคืบหน้าของการทดสอบ
รูปที่ 20 เริ่มการทดสอบ
สร้างแผนการทดสอบ
แผนการทดสอบใช้เพื่อสร้างการทำการทดสอบตามกำหนดเวลา เช่น การเรียกใช้ CTS 9.0 ทุกวันเวลา 17:00 น. หากต้องการสร้างแผนการทดสอบใหม่ ให้คลิกสร้างแผนการทดสอบใหม่
รูปที่ 21 การสร้างแผนการทดสอบ
กำหนดค่าแผนทดสอบ
ป้อนชื่อแผนทดสอบและป้ายกำกับที่ต้องการเพิ่ม จากนั้นเลือก กำหนดเวลาที่จะใช้
- ด้วยตนเอง - แผนทดสอบจะสร้างการทดสอบเมื่อผู้ใช้คลิกเรียกใช้แผนทดสอบในหน้ารายการแผนทดสอบเท่านั้น
- เป็นระยะ - แผนทดสอบจะกำหนดเวลาการเรียกใช้การทดสอบโดยอัตโนมัติตามกำหนดเวลาเป็นระยะที่เลือก เช่น การกำหนดเวลาการทดสอบทุกวัน เวลา 17:00 น.
- กำหนดเอง - แผนทดสอบจะตั้งเวลาการเรียกใช้การทดสอบโดยอัตโนมัติตามนิพจน์ cron ที่ป้อน ตัวอย่างเช่น หากต้องการตั้งเวลาการทดสอบการทำงานทุกวันเวลา 17:00 น. นิพจน์ cron จะเป็น
0 17 * * *
รูปที่ 22 การกำหนดค่าแผนทดสอบ
เพิ่มชุดทดสอบ
เพิ่มชุดการทดสอบที่คุณต้องการให้แผนการทดสอบกำหนดเวลาไว้โดยคลิก + เพิ่มการกำหนดค่าการเรียกใช้การทดสอบ เลือกชุดทดสอบจากเมนูแบบเลื่อนลงชื่อ แล้วคลิกขั้นตอนถัดไป จากนั้นเลือกอุปกรณ์ที่ต้องการทำการทดสอบ แล้วคลิกเพิ่มการกําหนดค่า คุณเพิ่มการกําหนดค่าหลายรายการสําหรับแผนการทดสอบแต่ละรายการได้
รูปที่ 23 การกำหนดค่าการทดสอบ
เพิ่มการดำเนินการของอุปกรณ์
เพิ่มการดำเนินการของอุปกรณ์ที่ต้องการให้ดำเนินการก่อนการทดสอบแต่ละครั้ง ดูรายละเอียดเพิ่มเติมได้ที่การเพิ่มการดำเนินการของอุปกรณ์
รูปที่ 24 กำลังเพิ่มการดำเนินการของอุปกรณ์
ตั้งค่าทรัพยากรทดสอบ
การเพิ่มทรัพยากรการทดสอบลงในแผนการทดสอบจะเหมือนกับการเพิ่มลงในการทดสอบแต่ละครั้ง ดูรายละเอียดเพิ่มเติมที่หัวข้อการตั้งค่าทรัพยากรการทดสอบ
รูปที่ 25 การตั้งค่าทรัพยากรการทดสอบ
ดูการเรียกใช้การทดสอบ
รายการการทดสอบ
ดูรายการการเรียกใช้การทดสอบตามกำหนดการในหน้าการเรียกใช้การทดสอบ คลิกดูเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการทดสอบ
นอกจากนี้ คุณยังกรองรายการได้โดยป้อนสตริงลงในแถบตัวกรองแล้วกดแป้น Enter คุณใช้ตัวกรองหลายรายการได้โดยคั่นด้วยคอมมา ตัวกรองจะแสดงผลแถวทั้งหมดที่มีข้อความตรงกันทั้งหมด (ไม่จับคู่สตริงย่อย) ในคอลัมน์ใดก็ได้ ยกเว้นสถานะและสร้าง
ตัวกรองว่างจะแสดงผลทุกแถว ขณะนี้ยังไม่มีวิธีกรองหาแถวที่มีค่าว่าง
รูปที่ 26 รายการการทดสอบ
รายละเอียดการทดสอบ
ดูรายละเอียดของการทดสอบได้ที่นี่ เช่น สถานะ บันทึก และผลลัพธ์
รูปที่ 27 รายละเอียดการทดสอบ
สถานะการทดสอบ
ความคืบหน้าของการทดสอบจะแสดงในส่วนสถานะ หากมีข้อความที่เกี่ยวข้อง เช่น ความคืบหน้าในการดาวน์โหลด เหตุผลการยกเลิก หรือข้อความแสดงข้อผิดพลาด ข้อความนั้นจะแสดงที่นี่เช่นกัน
รูปที่ 28 สถานะการทดสอบ
สถานะการเรียกใช้การทดสอบมีดังนี้
- รอดำเนินการ - ระบบกำลังดาวน์โหลดทรัพยากรที่จำเป็น
- อยู่ในคิว - การทดสอบจะพร้อมดำเนินการเมื่ออุปกรณ์พร้อมใช้งาน
- กำลังดำเนินการ - การทดสอบกำลังดำเนินการบนอุปกรณ์ที่จัดสรร
- เสร็จสมบูรณ์ - การทดสอบเสร็จสมบูรณ์และรายงานผลลัพธ์แล้ว
- ยกเลิกแล้ว - ผู้ใช้ยกเลิกการทดสอบหรือหมดเวลาขณะพยายามค้นหาอุปกรณ์ที่พร้อมใช้งาน
- ข้อผิดพลาด - เกิดข้อผิดพลาดที่ทำให้การทดสอบไม่ทํางาน
ยกเลิกการเรียกใช้ทดสอบ
หากการทดสอบยังไม่เสร็จสมบูรณ์ คุณสามารถยกเลิกได้โดยคลิกยกเลิก แล้วคลิกใช่ในกล่องโต้ตอบการยืนยัน นอกจากนี้ การเรียกใช้การทดสอบจะยกเลิกโดยอัตโนมัติหากอยู่ในสถานะรอดำเนินการนานกว่าช่อง queue_timeout_seconds การยกเลิกการทดสอบขณะอยู่ในสถานะกำลังทำงานอาจใช้เวลา 2-3 นาทีจึงจะมีผล
รูปที่ 29 การยกเลิกการทดสอบ
ผลการทดสอบ
หลังจากทำการทดสอบเสร็จแล้ว ระบบจะรวบรวมผลลัพธ์และแสดง คุณสามารถดูรายละเอียดเพิ่มเติมได้โดยคลิกลูกศรสําหรับการเรียกใช้แต่ละครั้ง คลิกดูไฟล์เอาต์พุตเพื่อดูรายการต่างๆ ของการทดสอบที่รวบรวม เช่น test_result.xml
และ test_result_failures.html
รูปที่ 30 ผลการทดสอบ
คุณดูบันทึกของโฮสต์และ Tradefed ที่ใช้งานอยู่ได้ในแท็บบันทึก
รูปที่ 31 แท็บบันทึก
ผลลัพธ์ของข้อบังคับแต่ละข้อจะอยู่ในแท็บผลลัพธ์การทดสอบ
รูปที่ 32 แท็บผลการทดสอบ
คุณสามารถดาวน์โหลดไฟล์ที่ใช้เป็นทรัพยากรการทดสอบได้โดยคลิกเปิดในแท็บทรัพยากรการทดสอบ
รูปที่ 33 แท็บทรัพยากรทดสอบ
หากต้องการดูรายละเอียดของการทดสอบ เช่น create_time ให้ไปที่แท็บการกําหนดค่า
รูปที่ 34 แท็บกำหนดค่า
ฟีเจอร์ขั้นสูง
จัดการไฟล์การกําหนดค่า
OmniLab ATS ใช้ไฟล์การกําหนดค่าที่เขียนด้วย 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
เมื่อตั้งค่าอินสแตนซ์ OmniLab ATS คุณจะแชร์การกำหนดค่ากับผู้ใช้รายอื่นได้โดยการส่งออกเป็นไฟล์ โดยไปที่หน้าการตั้งค่า แล้วคลิกส่งออกที่ด้านขวาบน
รูปที่ 35 การจัดการไฟล์การกําหนดค่า
หลังจากดาวน์โหลดไฟล์การกําหนดค่าแล้ว ให้แชร์ไฟล์กับผู้ใช้รายอื่น โดยผู้ใช้จะเพิ่มไฟล์การกำหนดค่าลงในอินสแตนซ์ OmniLab ATS ได้โดยคลิกนำเข้า แล้วเลือกไฟล์การกำหนดค่า
สร้างการดําเนินการของอุปกรณ์ใหม่
การดำเนินการของอุปกรณ์จะใช้สำหรับการทำให้กระบวนการตั้งค่าอุปกรณ์เป็นไปโดยอัตโนมัติ การดำเนินการคือสคริปต์ที่ทำงานในอุปกรณ์แต่ละเครื่องที่ทำการทดสอบก่อนการทดสอบแต่ละครั้ง รวมถึงก่อนการลองอีกครั้ง หากต้องการดูรายการการดำเนินการของอุปกรณ์ที่ใช้ได้ ให้ไปที่หน้าการตั้งค่า แล้วคลิกแท็บการดำเนินการของอุปกรณ์ มีการกำหนดค่าการดำเนินการของอุปกรณ์หลายอย่างไว้อยู่แล้ว เช่น การรีบูตและการกะพริบ
รูปที่ 36 แท็บการดำเนินการของอุปกรณ์
เพิ่มการทำงานของอุปกรณ์ใหม่
คลิกการกระทําบนอุปกรณ์ใหม่
รูปที่ 37 ปุ่มการดำเนินการกับอุปกรณ์ใหม่
ป้อนชื่อและคำอธิบาย
รูปที่ 38 ชื่อการดำเนินการของอุปกรณ์
คลิกเพิ่มผู้เตรียมเป้าหมาย
ป้อนชื่อคลาสแบบเต็มของสหพันธ์การค้าเป้าหมาย เช่น
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
รูปที่ 39 การเพิ่มผู้เตรียมเป้าหมาย
ดูรายการเครื่องมือเตรียมเป้าหมายที่ใช้ได้ได้ในเอกสารอ้างอิง com.android.tradefed.targetprep
รูปที่ 40 รายการผู้เตรียมข้อมูลเป้าหมาย
เพิ่มตัวเลือกที่จะใช้กับเครื่องมือเตรียมเป้าหมาย หากต้องการดูตัวเลือกที่มี ให้ไปที่ targetprep เพื่อดูซอร์สโค้ดสำหรับเครื่องมือเตรียมเป้าหมายแต่ละรายการใน AOSP
รูปที่ 41 ตัวอย่างตัวเลือกการดําเนินการ
หากต้องการเพิ่มตัวเลือก ให้คลิกเพิ่มตัวเลือกผู้เตรียมเป้าหมาย แล้วป้อนค่าที่จําเป็น
รูปที่ 42 ตัวอย่างคำสั่งการทำงาน
กำหนดทรัพยากรทดสอบที่จำเป็นต่อการดำเนินการของอุปกรณ์ เช่น สร้างรูปภาพสำหรับการกะพริบ หากต้องการเพิ่มคําจํากัดความของทรัพยากร ให้คลิกเพิ่มทรัพยากรทดสอบและกรอกข้อมูลในช่องที่ต้องกรอก หากทราบตำแหน่งไฟล์ คุณสามารถระบุ URL การดาวน์โหลดเริ่มต้นได้โดยคลิกเรียกดู หากผู้เตรียมข้อมูลเป้าหมายยอมรับไดเรกทอรีเป็นทรัพยากรทดสอบ ให้เลือกคลายการบีบอัด จากนั้นระบุไดเรกทอรี Destination แบบสัมพัทธ์ภายใต้ไดเรกทอรีการทำงานชั่วคราวและ File Names ที่จะคลายการบีบอัด หากไม่ได้ระบุชื่อไฟล์ ระบบจะแตกไฟล์ทั้งหมดจากทรัพยากรทดสอบ
รูปที่ 43 แหล่งข้อมูลการทดสอบการดำเนินการ
คลิกอัปเดต
รูปที่ 44 การดำเนินการบันทึกการเปลี่ยนแปลง
จัดการการทดสอบ
แก้ไขการทดสอบ
หากต้องการแก้ไขการทดสอบที่บันทึกไว้ ให้ไปที่หน้าการทดสอบ แล้วคลิกแก้ไขในแถวของการทดสอบที่ต้องการแก้ไข หลังจากเปลี่ยนการกำหนดค่าการทดสอบแล้ว ให้คลิกอัปเดต
รูปที่ 45 การแก้ไขการทดสอบ
เพิ่มการทดสอบใหม่
หากต้องการเพิ่มการทดสอบใหม่ ให้ไปที่หน้าการทดสอบ แล้วคลิกสร้างการทดสอบใหม่ ป้อนข้อมูลที่เหมาะสม แล้วคลิกสร้าง
รูปที่ 46 สร้างการทดสอบ
รูปที่ 47 การคัดลอกการทดสอบ
ส่งออกการกำหนดค่าโฮสต์
หลังจากกําหนดค่าโฮสต์แล้ว คุณสามารถส่งออกการกําหนดค่าของโฮสต์ไปยังไฟล์ได้ โดยคุณจะอัปโหลดไฟล์นี้ไปยังโฮสต์อื่นเพื่อคัดลอกการกำหนดค่าที่บันทึกไว้ได้
หากต้องการส่งออกการกำหนดค่าของโฮสต์ ให้ไปที่หน้าการตั้งค่า แล้วคลิกส่งออกที่มุมขวาบน
รูปที่ 48 ส่งออกการกำหนดค่าโฮสต์
หากต้องการนําเข้าไฟล์การกําหนดค่าโฮสต์ ให้ไปที่หน้าการตั้งค่า แล้วคลิกนําเข้าที่มุมขวาบน
รูปที่ 49 การนําเข้าการกําหนดค่าโฮสต์
ใช้ไฟล์และไดเรกทอรีในเครื่อง
ตั้งแต่เวอร์ชัน R11 เป็นต้นไป ไฟล์ในไดเรกทอรี $HOME/.ats_storage
จะเข้าถึงได้อัตโนมัติใน OmniLab ATS คัดลอกหรือย้ายไฟล์ไปยังไดเรกทอรีดังกล่าว จากนั้นเลือกไฟล์จากแท็บไฟล์ในเครื่องเมื่อกำหนดเวลาการทดสอบ
cp /path/to/file $HOME/.ats_storage
รูปที่ 50 การเลือกไฟล์จากไดเรกทอรี $HOME/.ats_storage
คุณสามารถต่อเชื่อมไดเรกทอรีเพิ่มเติมลงในที่เก็บไฟล์ในเครื่องได้ด้วย Flag --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
เชื่อมต่อโฮสต์ 2 เครื่องโดยใช้อุโมงค์ 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 มีการกำหนดค่าเริ่มต้น 2 รายการเพื่อเก็บผลการทดสอบและลบไฟล์ชั่วคราว คู่มือนี้จะอธิบายวิธีปรับแต่งนโยบายและการกําหนดค่าเพื่อจัดการไฟล์อย่างมีประสิทธิภาพ
นโยบาย
นโยบายจะกำหนดการดำเนินการที่จะทำกับไฟล์หรือไดเรกทอรี และเกณฑ์ในการเลือกเป้าหมาย การดำเนินการที่ใช้ได้จะแสดงในตาราง
ประเภทการดำเนินการ | พารามิเตอร์ |
---|---|
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
หากไฟล์ .config ระบุไดเรกทอรีเป้าหมายเป็น logs
ระบบจะตีความเป็น /data/logs
รูปที่ 54 แก้ไขการกําหนดค่าโปรแกรมล้างไฟล์
รีเซ็ต
การคลิกรีเซ็ตการตั้งค่าจะเปลี่ยนการกำหนดค่าเครื่องมือล้างไฟล์กลับเป็นสถานะเริ่มต้น การดำเนินการนี้จะล้างรายการที่กำหนดเองทั้งหมด
รูปที่ 55 รีเซ็ตการตั้งค่าเครื่องมือล้างไฟล์
การสนับสนุน
รายงานข้อบกพร่อง
ข้อมูลที่คุณให้ไว้กับ OmniLab ATS จะช่วยปรับปรุงการพัฒนาเครื่องมือ และเราต้องการความคิดเห็นจากคุณ ดูรายละเอียดเกี่ยวกับรุ่นล่าสุดได้ที่บันทึกประจำรุ่นของ OmniLab ATS หากต้องการรายงานข้อบกพร่องหรือเสนอคำแนะนำ ให้ส่งรายงานข้อบกพร่อง พาร์ทเนอร์ควรรายงานข้อบกพร่องหรือคำแนะนำโดยใช้ช่องทางสำหรับพาร์ทเนอร์