สถานีทดสอบ Android ของ OmniLab

OmniLab ATS เป็นเครื่องมือทดสอบที่นักพัฒนาแอป Android และวิศวกรทดสอบสามารถใช้เพื่อใช้งานอินเทอร์เฟซผู้ใช้สำหรับเรียกใช้ชุดทดสอบ Android มาตรฐาน เช่น ชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS) เครื่องมือนี้ทำหน้าที่เป็นอินเทอร์เฟซเว็บสำหรับเฟรมเวิร์กการทดสอบต่างๆ เช่น Trade Federation (TF) และ Google Mobly ซึ่งช่วยให้คุณเรียกใช้ CTS และการทดสอบแบบหลายอุปกรณ์ในชุดอุปกรณ์ทดสอบโดยตั้งค่าน้อยที่สุด ทั้งยังสร้างกำหนดการเพื่อทำการทดสอบอย่างต่อเนื่องด้วย

ตั้งค่า OmniLab ATS

ส่วนนี้จะอธิบายวิธีติดตั้งและตั้งค่า OmniLab ATS

OmniLab ATS ใช้ซอร์สโค้ดจากตำแหน่งเหล่านี้:

ติดตั้ง OmniLab ATS

ปฏิบัติตามข้อกำหนดของฮาร์ดแวร์และซอฟต์แวร์สำหรับชุดทดสอบที่คุณใช้

ดูข้อกำหนดสำหรับ CTS ได้ที่ source.android.com

OmniLab ATS ไม่มีข้อกำหนดด้านฮาร์ดแวร์เพิ่มเติม แต่เราขอแนะนำให้ใช้ข้อกำหนดของโฮสต์ CTS เป็นจุดเริ่มต้น

การติดตั้ง OmniLab ATS มี 2 วิธีดังนี้

ติดตั้งด้วยโปรแกรมติดตั้ง

ใน Ubuntu 20.04 ขึ้นไป โปรแกรมติดตั้งจะติดตั้งและกําหนดค่าโปรแกรมและทรัพยากรทั้งหมดที่จําเป็นสําหรับเรียกใช้ OmniLab ATS

วิธีใช้โปรแกรมการติดตั้ง

  1. เรียกใช้โปรแกรมติดตั้งด้วยคำสั่งต่อไปนี้

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. เรียกใช้ mtt version เพื่อตรวจสอบเวอร์ชันที่ติดตั้งของ OmniLab ATS CLI

ติดตั้งด้วยตนเอง

ติดตั้ง Docker
  1. ทำตามวิธีการติดตั้ง Docker Community Edition (CE) ในเครื่อง Linux

  2. ทำตามขั้นตอนหลังการติดตั้งเพื่อจัดการ Docker ในฐานะผู้ใช้ที่ไม่ใช่รูท

  3. คุณอาจต้องรีสตาร์ทหน้าต่างเทอร์มินัลหรือออกจากระบบและลงชื่อเข้าใช้อีกครั้งเพื่อให้การเปลี่ยนแปลงสิทธิ์มีผล

ติดตั้ง 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 (ไม่บังคับ)

การตั้งค่า WiFi

รูปที่ 5 การตั้งค่าฮอตสปอต Wi-Fi

หลังจากวิซาร์ดการตั้งค่าเสร็จสมบูรณ์แล้ว หน้าเว็บจะโหลดซ้ำโดยใช้การตั้งค่าใหม่

เชื่อมต่ออุปกรณ์

คุณต้องเปิดใช้การแก้ไขข้อบกพร่อง USB เพื่อใช้อุปกรณ์ทดสอบ หากต้องการเปิดใช้การแก้ไขข้อบกพร่อง ให้ทำดังนี้

  1. ทําตามวิธีการในหัวข้อเปิดใช้ตัวเลือกสําหรับนักพัฒนาแอปและการแก้ไขข้อบกพร่อง

  2. หากวางแผนที่จะใช้บิลด์ Android ทดสอบที่โหลดไว้ล่วงหน้าด้วยคีย์ ADB ที่กำหนดเอง ให้วางไฟล์ .adb_key ที่กำหนดเองไว้ในไดเรกทอรี ~/.android/

    ระบบจะโหลดไฟล์โดยอัตโนมัติและส่งไปยัง ADB เพื่อเปิดใช้การแก้ไขข้อบกพร่องผ่าน USB โดยอัตโนมัติหลังจากแฟลชอุปกรณ์สำหรับอุปกรณ์ที่ใช้บิลด์เหล่านั้น

  3. เชื่อมต่ออุปกรณ์กับเครื่องโฮสต์โดยใช้ 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 การดาวน์โหลด แล้วคลิกปุ่มเลือกเพื่อยืนยันการเลือก

ตัวเลือกทรัพยากรการทดสอบ - URL ของเว็บ

รูปที่ 15 เครื่องมือเลือกทรัพยากรทดสอบ - URL ของเว็บ

หากอัปโหลดทรัพยากรไปยัง Google Grive, Google Cloud Storage (GCS) หรือช่องทางอื่นๆ คุณจะไปที่แท็บของช่องที่ต้องการและเลือกทรัพยากรในส่วนนี้ได้ด้วย ต่อไปนี้เป็นตัวอย่างการเลือกทรัพยากรจาก Google ไดรฟ์

ตัวเลือกทรัพยากรการทดสอบ - 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 แท็บการดำเนินการของอุปกรณ์

เพิ่มการทำงานของอุปกรณ์ใหม่

  1. คลิกการกระทําบนอุปกรณ์ใหม่

    ปุ่มดำเนินการกับอุปกรณ์ใหม่

    รูปที่ 37 ปุ่มการดำเนินการกับอุปกรณ์ใหม่

  2. ป้อนชื่อและคำอธิบาย

    ชื่อการดำเนินการของอุปกรณ์

    รูปที่ 38 ชื่อการดำเนินการของอุปกรณ์

  3. คลิกเพิ่มผู้เตรียมเป้าหมาย

  4. ป้อนชื่อคลาสแบบเต็มของสหพันธ์การค้าเป้าหมาย เช่น com.android.tradefed.targetprep.RunHostCommandTargetPreparer

    เพิ่มเครื่องมือเตรียมเป้าหมาย

    รูปที่ 39 การเพิ่มผู้เตรียมเป้าหมาย

    ดูรายการเครื่องมือเตรียมเป้าหมายที่ใช้ได้ได้ในเอกสารอ้างอิง com.android.tradefed.targetprep

    รายการผู้เตรียมเป้าหมาย

    รูปที่ 40 รายการผู้เตรียมข้อมูลเป้าหมาย

  5. เพิ่มตัวเลือกที่จะใช้กับเครื่องมือเตรียมเป้าหมาย หากต้องการดูตัวเลือกที่มี ให้ไปที่ targetprep เพื่อดูซอร์สโค้ดสำหรับเครื่องมือเตรียมเป้าหมายแต่ละรายการใน AOSP

    ตัวอย่างตัวเลือกการดําเนินการ

    รูปที่ 41 ตัวอย่างตัวเลือกการดําเนินการ

  6. หากต้องการเพิ่มตัวเลือก ให้คลิกเพิ่มตัวเลือกผู้เตรียมเป้าหมาย แล้วป้อนค่าที่จําเป็น

    ตัวอย่างคำสั่งการทำงาน

    รูปที่ 42 ตัวอย่างคำสั่งการทำงาน

  7. กำหนดทรัพยากรทดสอบที่จำเป็นต่อการดำเนินการของอุปกรณ์ เช่น สร้างรูปภาพสำหรับการกะพริบ หากต้องการเพิ่มคําจํากัดความของทรัพยากร ให้คลิกเพิ่มทรัพยากรทดสอบและกรอกข้อมูลในช่องที่ต้องกรอก หากทราบตำแหน่งไฟล์ คุณสามารถระบุ URL การดาวน์โหลดเริ่มต้นได้โดยคลิกเรียกดู หากผู้เตรียมข้อมูลเป้าหมายยอมรับไดเรกทอรีเป็นทรัพยากรทดสอบ ให้เลือกคลายการบีบอัด จากนั้นระบุไดเรกทอรี Destination แบบสัมพัทธ์ภายใต้ไดเรกทอรีการทำงานชั่วคราวและ File Names ที่จะคลายการบีบอัด หากไม่ได้ระบุชื่อไฟล์ ระบบจะแตกไฟล์ทั้งหมดจากทรัพยากรทดสอบ

    แหล่งข้อมูลการทดสอบการดำเนินการ

    รูปที่ 43 แหล่งข้อมูลการทดสอบการดำเนินการ

  8. คลิกอัปเดต

    การดำเนินการ "บันทึกการเปลี่ยนแปลง"

    รูปที่ 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 สถาปัตยกรรมโหมดหลายโฮสต์

  1. หากต้องการเริ่มตัวควบคุม ATS ให้ใช้คำสั่งต่อไปนี้

    mtt start --operation_mode=ON_PREMISE
    
  2. เข้าถึงตัวควบคุมการตรวจสอบได้ที่ http://${CONTROLLER_HOSTNAME}:8000

  3. หากต้องการเริ่มทํางาน ให้ใช้คําสั่งต่อไปนี้

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

หากเครือข่ายไม่อนุญาตให้โฮสต์สื่อสารกัน คุณจะต้องทำตามวิธีการตั้งค่าขั้นสูงด้านล่างในผู้ปฏิบัติงานของ ATS

  1. เชื่อมต่อโฮสต์ 2 เครื่องโดยใช้อุโมงค์ SSH เลือกพอร์ตสำหรับพอร์ตหลักและพอร์ตเซิร์ฟเวอร์ไฟล์ เช่น 9000 และ 9006

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. กำหนดค่าและเริ่ม 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 รายการเพื่อเก็บผลการทดสอบและลบไฟล์ชั่วคราว คู่มือนี้จะอธิบายวิธีปรับแต่งนโยบายและการกําหนดค่าเพื่อจัดการไฟล์อย่างมีประสิทธิภาพ

นโยบาย

นโยบายจะกำหนดการดำเนินการที่จะทำกับไฟล์หรือไดเรกทอรี และเกณฑ์ในการเลือกเป้าหมาย การดำเนินการที่ใช้ได้จะแสดงในตาราง

ประเภทการดำเนินการพารามิเตอร์
ARCHIVEremove_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 หากต้องการรายงานข้อบกพร่องหรือเสนอคำแนะนำ ให้ส่งรายงานข้อบกพร่อง พาร์ทเนอร์ควรรายงานข้อบกพร่องหรือคำแนะนำโดยใช้ช่องทางสำหรับพาร์ทเนอร์