สถานีทดสอบ 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 ก่อนโดยทำอย่างใดอย่างหนึ่งต่อไปนี้

หากต้องการติดตั้ง 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 หากจำเป็น คุณสามารถเปลี่ยนพอร์ตเริ่มต้นเมื่อเริ่มต้นด้วย Flag --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 ที่รวมไว้ล่วงหน้า หากต้องการเรียกใช้การทดสอบอย่างใดอย่างหนึ่งเหล่านี้ ให้ไปที่แท็บชุดทดสอบ แล้วคลิกเรียกใช้การทดสอบสําหรับการทดสอบที่เลือก

เลือกการทดสอบ

รูปที่ 7 การเลือกการทดสอบ

หากต้องการแก้ไขหรือเพิ่มการทดสอบใหม่ โปรดดูการเพิ่มการทดสอบ

กำหนดค่าการทดสอบ

แก้ไขพารามิเตอร์ที่จะใช้กับการทดสอบนี้ พารามิเตอร์ส่วนใหญ่จะป้อนข้อมูลล่วงหน้าด้วยค่าที่กําหนดในการกําหนดค่าการทดสอบที่เลือก

ขั้นตอนนี้ทําเสร็จได้โดยใช้ค่าเริ่มต้น แต่คุณเปลี่ยนพารามิเตอร์ใดก็ได้ เช่น Max Retry และ Command ให้เหมาะกับความต้องการ

กำหนดค่าการทดสอบ

รูปที่ 8 การกำหนดค่าการทดสอบ

พารามิเตอร์การทดสอบมีดังนี้

  • ชื่อ - ชื่อชุดทดสอบที่ต้องการเรียกใช้
  • จํานวนการเรียกใช้ - จํานวนครั้งที่การทดสอบนี้ควรทํางานเมื่อกําหนดเวลาไว้ กำหนดเวลาการทดสอบโดยใช้ Trade Federation ซึ่งจะทำการทดสอบพร้อมกันได้สูงสุด 20 รายการหากมีขีดความสามารถ
  • การลองใหม่สูงสุด - จำนวนครั้งที่จะลองเรียกใช้การทดสอบอีกครั้งสูงสุด หากการทดสอบอย่างน้อย 1 รายการไม่สําเร็จ โดยปกติแล้วค่านี้จะตั้งค่าเป็น 4-6 ครั้งสำหรับการทดสอบ CTS แบบเต็มเพื่อจัดการกับการทดสอบที่ไม่เสถียร
  • เวลาหมดอายุของคิว - หากการทดสอบอยู่ในสถานะรอดำเนินการนานเกินไป ระบบจะยกเลิกการทดสอบโดยอัตโนมัติ ระบุระยะเวลาที่รอก่อนการยกเลิกได้ที่นี่ ค่าเริ่มต้นคือ 24 ชั่วโมง
  • คําสั่ง - คําสั่งเพื่อเรียกใช้ชุดทดสอบ คุณสามารถป้อนอาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติมได้ที่นี่ เช่น เรียกใช้ข้อบังคับเฉพาะใน 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

แอตทริบิวต์ที่รองรับมีดังนี้

  • build_id
  • device_serial
  • device_type
  • hostname
  • ผลิตภัณฑ์
  • product_variant
  • sim_state

อุปกรณ์ที่เลือกทั้งหมดต้องอยู่ในสถานะพร้อมใช้งานเพื่อเรียกใช้การทดสอบ และอุปกรณ์ทั้งหมดจะเปลี่ยนเป็นสถานะจัดสรรแล้วเมื่อเรียกใช้การทดสอบ การทดสอบจะอยู่ในสถานะรอดำเนินการขณะที่รอให้อุปกรณ์พร้อมใช้งาน

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

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

การทำงานของอุปกรณ์

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

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

เพิ่มการดำเนินการ

รูปที่ 13 การจัดเรียงการดำเนินการใหม่

ตั้งค่าทรัพยากรการทดสอบ

ทรัพยากรการทดสอบคือไฟล์ที่จําเป็นสําหรับการเรียกใช้การทดสอบ เช่น การเรียกใช้ CTS ต้องใช้ไฟล์ android-cts*.zip และการแฟลชอุปกรณ์กำหนดให้คุณต้องระบุอิมเมจการสร้าง

URL ดาวน์โหลดสำหรับไฟล์ ZIP ของชุดทดสอบควรเป็นลิงก์ Google ไดรฟ์ที่ให้ไว้กับพาร์ทเนอร์โดยค่าเริ่มต้น คุณเลือกไฟล์อื่นได้โดยคลิกเรียกดู ในหน้าต่างป๊อปอัป คุณสามารถป้อนลิงก์ดาวน์โหลดไฟล์ ใช้ไฟล์จากแชแนลการสร้างที่ตรวจสอบสิทธิ์แล้ว หรืออัปโหลดไฟล์เพื่อใช้จากพื้นที่เก็บข้อมูลในเครื่อง

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

รูปที่ 14 ทรัพยากรทดสอบ

ด้านล่างนี้คือหน้าต่างป๊อปอัปสำหรับเลือกทรัพยากรทดสอบตาม URL ของเว็บ คุณสามารถป้อนลิงก์ URL ดาวน์โหลด แล้วคลิกปุ่มเลือกเพื่อยืนยันการเลือก

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

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

หากอัปโหลดทรัพยากรไปยัง Google ไดรฟ์, 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 การดาวน์โหลดเริ่มต้นได้โดยคลิกเรียกดู หากผู้เตรียมข้อมูลเป้าหมายยอมรับไดเรกทอรีเป็นทรัพยากรทดสอบ ให้เลือกคลายการบีบอัด จากนั้นระบุไดเรกทอรีปลายทางแบบสัมพัทธ์ภายใต้ไดเรกทอรีการทำงานชั่วคราวและชื่อไฟล์ที่จะทำการแตกไฟล์ หากไม่ได้ระบุชื่อไฟล์ ระบบจะแตกไฟล์ทั้งหมดจากทรัพยากรทดสอบ

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

    รูปที่ 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 หากการกําหนดค่าระบุไดเรกทอรีเป้าหมายเป็น logs ระบบจะตีความเป็น /data/logs

แก้ไขการกําหนดค่าโปรแกรมล้างไฟล์

รูปที่ 54 แก้ไขการกําหนดค่าโปรแกรมล้างไฟล์

รีเซ็ต

การคลิกรีเซ็ตการตั้งค่าจะเปลี่ยนการกำหนดค่าเครื่องมือล้างไฟล์กลับเป็นสถานะเริ่มต้น การดำเนินการนี้จะล้างรายการที่กำหนดเองทั้งหมด

รีเซ็ตการตั้งค่าเครื่องมือล้างไฟล์

รูปที่ 55 รีเซ็ตการตั้งค่าเครื่องมือล้างไฟล์

การสนับสนุน

รายงานข้อบกพร่อง

ข้อมูลที่คุณให้ไว้กับ OmniLab ATS จะช่วยปรับปรุงการพัฒนาเครื่องมือ และเราต้องการความคิดเห็นจากคุณ ดูรายละเอียดเกี่ยวกับรุ่นล่าสุดได้ที่บันทึกประจำรุ่นของ OmniLab ATS หากต้องการรายงานข้อบกพร่องหรือเสนอคำแนะนำ ให้ส่งรายงานข้อบกพร่อง พาร์ทเนอร์ควรรายงานข้อบกพร่องหรือคำแนะนำโดยใช้ช่องทางสำหรับพาร์ทเนอร์