OmniLab ATS เป็นเครื่องมือทดสอบที่นักพัฒนาซอฟต์แวร์ Android และวิศวกรทดสอบใช้ได้ ใช้อินเทอร์เฟซผู้ใช้ในการเรียกใช้ชุดทดสอบ Android มาตรฐาน เช่น ชุดทดสอบความเข้ากันได้ของ Android (CTS) เครื่องมือนี้ ทำหน้าที่เป็นอินเทอร์เฟซเว็บสำหรับกรอบการทดสอบต่างๆ เช่น สหพันธ์การค้า (TF) และ Google Mobly ช่วยให้คุณสามารถเรียกใช้ CTS และ การทดสอบหลายอุปกรณ์ในชุดอุปกรณ์ทดสอบที่มีการตั้งค่าน้อยที่สุด รวมถึง กำหนดเวลาเพื่อทำการทดสอบอย่างต่อเนื่อง
ตั้งค่า OmniLab ATS
ส่วนนี้จะอธิบายวิธีติดตั้งและตั้งค่า OmniLab ATS
OmniLab ATS ใช้ซอร์สโค้ดจากตำแหน่งเหล่านี้:
- OmniLab ATS ซอร์สโค้ด
- ซอร์สโค้ด 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 เริ่มทำงาน อาจใช้เวลาสักครู่จึงจะปรากฏ 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 กำลังเปลี่ยนบัญชีบริการ
นำเข้าชุดการกำหนดค่า
ชุดการกำหนดค่าคือชุดการกำหนดค่าสำหรับการเรียกใช้ชุดทดสอบ ซึ่งรวมถึงชุดการกำหนดค่าที่เกี่ยวข้อง การกระทำของอุปกรณ์ และสร้างช่องทาง ชุดการกำหนดค่าโฮสต์อยู่ใน ที่เก็บข้อมูล Cloud Storage (GCS) หลังจากตรวจสอบสิทธิ์เวอร์ชันบิลด์ GCS ด้วย บัญชี Google คุณจะเห็นรายการชุดการกำหนดค่าทั้งหมดที่พร้อมใช้งาน
เลือกชุดการกำหนดค่าที่ต้องการเพิ่มไปยังโฮสต์ของสถานีทดสอบ แล้วคลิก นำเข้ารายการที่เลือก
รูปที่ 4 การนำเข้าชุดการกำหนดค่า
รวมการตั้งค่า Wi-Fi
การทดสอบ CTS บางรายการกำหนดให้อุปกรณ์ของคุณเชื่อมต่อกับฮอตสปอต Wi-Fi หากต้องการเลือก เครือข่าย Wi-Fi ให้ป้อน SSID ของ Wi-Fi และเลือก 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 การกำหนดค่าการทดสอบ
พารามิเตอร์การเรียกใช้ทดสอบมีดังนี้
- ชื่อ - ชื่อของชุดทดสอบที่ต้องการเรียกใช้
- จำนวนการเรียกใช้ - จำนวนครั้งที่ควรดำเนินการทดสอบนี้เมื่อ กำหนดเวลาแล้ว การกำหนดเวลาการทดสอบถูกกำหนดโดยใช้ สหพันธ์การค้า ซึ่งมีได้ถึง 20 สาขา ทำการทดสอบพร้อมกันหากมีขีดความสามารถ
- การลองใหม่สูงสุด - จำนวนครั้งสูงสุดในการลองทำการทดสอบซ้ำ (หากมีอย่างน้อย 1 ครั้ง) การทดสอบล้มเหลว ซึ่งโดยปกติจะตั้งค่าเป็น 4-6 ครั้งสำหรับ CTS ที่สมบูรณ์ในการเรียกใช้ จัดการกับการทดสอบที่ไม่สม่ำเสมอ
- ระยะหมดเวลาของคิว - หากการดำเนินการทดสอบยังอยู่ในสถานะอยู่ในคิวนานเกินไป ระบบยกเลิกโดยอัตโนมัติแล้ว ระบุระยะเวลาที่ต้องรอก่อน ยกเลิกที่นี่ ค่าเริ่มต้นคือ 24 ชั่วโมง
Command - คำสั่งเพื่อเรียกใช้ชุดทดสอบ คุณสามารถป้อน ตรงนี้ เช่น เรียกใช้โมดูลเฉพาะใน CTS 8.1 กับ
cts-suite -m ShortModuleName
ลองใหม่ - คำสั่งสำหรับการลองชุดทดสอบอีกครั้ง คุณสามารถเพิ่ม อาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติมได้ที่นี่ ตัวอย่างเช่น ในการลองใหม่เฉพาะ โมดูลที่เฉพาะเจาะจงใน 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 กำลังเพิ่มการกำหนดค่าอีกครั้ง
เริ่มทำการทดสอบ
หลังจากที่คุณป้อนข้อมูลที่จำเป็นสำหรับการทดสอบแล้ว ให้คลิก เริ่มการทดสอบ Run หากข้อมูลทั้งหมดถูกต้อง การทดสอบจะเริ่มต้น และ เปลี่ยนเส้นทางไปยังหน้าเว็บเพื่อดูรายละเอียดและความคืบหน้าของการทดสอบ
รูปที่ 20 กำลังเริ่มการทดสอบ
สร้างแผนทดสอบ
แผนการทดสอบใช้เพื่อสร้างการทำการทดสอบตามกำหนดเวลา ตัวอย่างเช่น ออกฉาย CTS 9.0 ทุกวันตอน 17:00 น. หากต้องการสร้างแผนการทดสอบใหม่ ให้คลิกสร้าง แผนการทดสอบใหม่
รูปที่ 21 การสร้างแผนการทดสอบ
กำหนดค่าแผนทดสอบ
ป้อนชื่อแผนทดสอบและป้ายกำกับที่ต้องการเพิ่ม จากนั้นเลือก กำหนดเวลาในการใช้งาน
- ด้วยตนเอง - แผนการทดสอบจะสร้างการเรียกใช้การทดสอบเมื่อผู้ใช้คลิกเท่านั้น ใช้แผนการทดสอบในหน้ารายการแผนทดสอบ
- เป็นระยะ - แผนการทดสอบจะกำหนดเวลาการทดสอบโดยอัตโนมัติในวันที่ เลือกตารางเวลาแบบเป็นช่วงๆ แล้ว ตัวอย่างเช่น การกำหนดเวลาการทดสอบทุกวันในเวลา 17:00 น. ข้าง "วันเสาร์"
- กำหนดเอง - แผนการทดสอบกำหนดเวลาการทดสอบโดยอัตโนมัติตาม
ป้อนนิพจน์ Cron แล้ว ตัวอย่างเช่น
เพื่อกำหนดเวลาการทดสอบทุกวัน เวลา 17:00 น. นิพจน์ Cron คือ
0 17 * * *
รูปที่ 22 การกำหนดค่าแผนทดสอบ
เพิ่มชุดทดสอบ
เพิ่มชุดการทดสอบที่คุณต้องการให้แผนการทดสอบกำหนดเวลาโดยคลิก + เพิ่ม การกำหนดค่าการทดสอบเรียกใช้ เลือกชุดทดสอบจากเมนูแบบเลื่อนลงชื่อ แล้วคลิก ขั้นตอนถัดไป จากนั้นเลือกอุปกรณ์ที่คุณจะทำการทดสอบและ คลิก Add Configuration คุณสามารถเพิ่มการกำหนดค่าได้หลายรายการสำหรับการทดสอบแต่ละครั้ง
รูปที่ 23 การกำหนดค่าการทดสอบ
เพิ่มการดำเนินการของอุปกรณ์
เพิ่มการทำงานของอุปกรณ์ที่คุณต้องการดำเนินการก่อนทำการทดสอบแต่ละครั้ง ดูรายละเอียดเพิ่มเติมในการเพิ่มการดำเนินการของอุปกรณ์
รูปที่ 24 กำลังเพิ่มการดำเนินการของอุปกรณ์
ตั้งค่าทรัพยากรการทดสอบ
การเพิ่มทรัพยากรการทดสอบลงในแผนการทดสอบเหมือนกับการเพิ่มทรัพยากรในการทดสอบแต่ละครั้ง วิ่ง โปรดดูรายละเอียดเพิ่มเติมในการตั้งค่าทรัพยากรการทดสอบ
รูปที่ 25 กำลังตั้งค่าทรัพยากรการทดสอบ
ดูการดำเนินการทดสอบ
รายการการดำเนินการทดสอบ
ดูรายการการทดสอบตามกำหนดการในหน้าการทดสอบ คลิกดูเพื่อ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการทดสอบใช้งาน
นอกจากนี้ คุณยังกรองรายการได้โดยป้อนสตริงลงในแถบตัวกรองและ กดแป้น Enter คุณสามารถใช้ตัวกรองหลายรายการโดยคั่นด้วย คอมมา ตัวกรองจะแสดงแถวทั้งหมดที่มีข้อความตรงกันทั้งหมด (ไม่มีสตริงย่อย ที่ตรงกัน) ในคอลัมน์ใดก็ได้ ยกเว้นสถานะและสร้างแล้ว
ตัวกรองว่างเปล่าจะแสดงแถวทั้งหมด ปัจจุบันยังไม่มีวิธีกรองแถว ด้วยค่าว่าง
รูปที่ 26 รายการการดำเนินการทดสอบ
รายละเอียดการดำเนินการทดสอบ
คุณสามารถดูรายละเอียดของการทดสอบได้ที่นี่ เช่น สถานะ บันทึก และ ผลลัพธ์
รูปที่ 27 รายละเอียดการเรียกใช้ทดสอบ
สถานะการดำเนินการทดสอบ
ความคืบหน้าของการทดสอบแสดงอยู่ในส่วนสถานะ ถ้ามีช่องที่เกี่ยวข้อง เช่น ความคืบหน้าในการดาวน์โหลด เหตุผลการยกเลิก หรือข้อความแสดงข้อผิดพลาด ซึ่งแสดงอยู่ที่นี่ด้วย
รูปที่ 28 สถานะการดำเนินการทดสอบ
สถานะการดำเนินการทดสอบมีดังนี้
- รอดำเนินการ - ระบบกำลังดาวน์โหลดทรัพยากรที่จำเป็น
- อยู่ในคิว - การทดสอบจะพร้อมดำเนินการเมื่ออุปกรณ์พร้อมใช้งาน
- ทำงานอยู่ - การทดสอบกำลังทำงานในอุปกรณ์ที่จัดสรร
- เสร็จสมบูรณ์ - การทดสอบเสร็จสมบูรณ์และรายงานผลลัพธ์แล้ว
- ยกเลิกแล้ว - ผู้ใช้ยกเลิกการทดสอบหรือหมดเวลาขณะพยายาม ค้นหาอุปกรณ์ที่ใช้ได้
- ข้อผิดพลาด - เกิดข้อผิดพลาดที่ทำให้การทดสอบไม่ทำงาน
ยกเลิกการทำการทดสอบ
หากการทดสอบยังไม่เสร็จสมบูรณ์ คุณยกเลิกได้โดยคลิกยกเลิก และ แล้วคลิกใช่ในกล่องโต้ตอบการยืนยัน นอกจากนี้ การทำการทดสอบ ยกเลิกโดยอัตโนมัติหากโฆษณาอยู่ในสถานะอยู่ในคิวนานกว่า queue_timeout_seconds การยกเลิกการทดสอบขณะอยู่ในสถานะกำลังทำงาน อาจใช้เวลาสักครู่จึงจะมีผล
รูปที่ 29 การยกเลิกการทดสอบ
ผลการทดสอบ
หลังจากทำการทดสอบเสร็จแล้ว ระบบจะรวบรวมผลลัพธ์และแสดง คุณสามารถ
ดูรายละเอียดเพิ่มเติมโดยคลิกลูกศรสำหรับการเรียกใช้แต่ละครั้ง คลิก ดูผลลัพธ์
ไฟล์ เพื่อดูอาร์ติแฟกต์ทดสอบที่เก็บรวบรวม เช่น test_result.xml
และ
test_result_failures.html
รูปที่ 30 ผลการทดสอบ
คุณจะดูโฮสต์สดและบันทึกที่แลกแล้วได้ในแท็บบันทึก
รูปที่ 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 ชื่อการดำเนินการของอุปกรณ์
คลิก Add Target Preparer
ป้อนเป้าหมายสหพันธ์การค้า ชื่อเต็มของชั้นเรียนของผู้เตรียม เช่น
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
รูปที่ 39 การเพิ่มเครื่องมือเตรียมเป้าหมาย
ดูรายชื่อผู้เตรียมเป้าหมายที่ใช้ได้ใน com.android.tradefed.targetprep ข้อมูลอ้างอิง
รูปที่ 40 รายชื่อผู้เตรียมเป้าหมาย
เพิ่มตัวเลือกที่จะใช้กับเครื่องมือเตรียมเป้าหมาย หากต้องการดูตัวเลือกที่ใช้ได้ ทำเครื่องหมาย targetprep สำหรับซอร์สโค้ดสำหรับผู้เตรียมเป้าหมายแต่ละรายใน AOSP
รูปที่ 41 ตัวอย่างตัวเลือกการดำเนินการ
ในการเพิ่มตัวเลือก ให้คลิกเพิ่มตัวเลือกเครื่องมือเตรียมเป้าหมาย แล้วป้อน ค่าที่ต้องระบุ
รูปที่ 42 ตัวอย่างคำสั่งการดำเนินการ
กำหนดทรัพยากรทดสอบที่จำเป็นต่อการดำเนินการของอุปกรณ์ เช่น สร้างรูปภาพสำหรับการกะพริบ ในการเพิ่มคำจำกัดความของทรัพยากร ให้คลิก เพิ่มแหล่งข้อมูลการทดสอบและกรอกข้อมูลในช่องที่ต้องกรอก หากคุณทราบว่า พบไฟล์ของคุณ คุณสามารถระบุ URL ดาวน์โหลดเริ่มต้นได้โดยคลิก เรียกดู หากตัวเตรียมเป้าหมายยอมรับไดเรกทอรีเป็นทรัพยากรทดสอบ เลือกคลายการบีบอัด จากนั้นระบุไดเรกทอรี Destination แบบสัมพัทธ์ ภายใต้ไดเรกทอรีการทำงานชั่วคราวและชื่อไฟล์ที่จะ คลายการบีบอัด หากไม่ได้ระบุชื่อไฟล์ ระบบจะคลายการบีบอัดไฟล์ทั้งหมดจาก ทรัพยากรการทดสอบ
รูปที่ 43 ทรัพยากรการทดสอบการดำเนินการ
คลิกอัปเดต
รูปที่ 44 บันทึกการเปลี่ยนแปลงการดำเนินการ
จัดการการทดสอบ
แก้ไขการทดสอบ
หากต้องการแก้ไขการทดสอบที่บันทึกไว้ ให้ไปที่หน้าการทดสอบแล้วคลิกแก้ไขที่แถวของการทดสอบ การทดสอบที่คุณต้องการแก้ไข หลังจากเปลี่ยนแปลงการกำหนดค่าการทดสอบ ให้คลิก อัปเดต
รูปที่ 45 การแก้ไขการทดสอบ
เพิ่มการทดสอบใหม่
หากต้องการเพิ่มการทดสอบใหม่ ให้ไปที่หน้าการทดสอบแล้วคลิกสร้างการทดสอบใหม่ กรอก ข้อมูลที่เหมาะสม แล้วคลิกสร้าง
รูปที่ 46 สร้างการทดสอบ
รูปที่ 47 กำลังคัดลอกการทดสอบ
ส่งออกการกำหนดค่าโฮสต์
หลังจากกำหนดค่าโฮสต์แล้ว คุณสามารถส่งออกการกำหนดค่าของโฮสต์ไปยังไฟล์ โดยคุณจะอัปโหลดไฟล์นี้ไปยังโฮสต์อื่นเพื่อคัดลอกการกำหนดค่าที่บันทึกไว้ได้
หากต้องการส่งออกการกำหนดค่าของโฮสต์ ให้ไปที่หน้าการตั้งค่าและคลิก ส่งออก ที่มุมบนขวา
รูปที่ 48 ส่งออกการกำหนดค่าโฮสต์
หากต้องการนำเข้าไฟล์การกำหนดค่าโฮสต์ ให้ไปที่หน้าการตั้งค่าและคลิก นำเข้าที่มุมขวาบน
รูปที่ 49 การนำเข้าการกำหนดค่าโฮสต์
ใช้ไฟล์และไดเรกทอรีในเครื่อง
เริ่มต้นในเวอร์ชัน R11 ไฟล์ในไดเรกทอรี $HOME/.ats_storage
จะ
ใน OmniLab ATS โดยอัตโนมัติได้ คัดลอกหรือย้ายไฟล์ไปไว้ในนั้น
จากนั้นคุณสามารถเลือกไฟล์ดังกล่าวจากแท็บไฟล์ในเครื่อง เมื่อตั้งเวลา
การทดสอบ
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
เชื่อมต่อโฮสต์ทั้ง 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 เพื่อดูรายละเอียดเกี่ยวกับรุ่นล่าสุด หากต้องการรายงานข้อบกพร่องหรือให้คำแนะนำ ส่งรายงานข้อบกพร่อง พาร์ทเนอร์ควรรายงานข้อบกพร่องหรือคำแนะนำโดยใช้ช่องของพาร์ทเนอร์