คู่มือ ACTS ขั้นสูง

คำแนะนำเกี่ยวกับวิธีเรียกใช้การทดสอบ Android Comms Test Suite (ACTS)

รับโค้ด

ดู ACTS เวอร์ชันล่าสุดได้ในที่เก็บของ Android Open Source Project (AOSP) ใน /platform/tools/test/connectivity/

โปรดดูรายละเอียดเกี่ยวกับวิธีซิงค์โค้ดที่หัวข้อดาวน์โหลดแหล่งที่มาและ Codelab สำหรับนักพัฒนาซอฟต์แวร์ Android เมื่อซิงค์โค้ด ให้ซิงค์ Branch หลัก ไม่ต้องซิงค์บิลด์ที่ติดแท็ก

โปรดทราบว่าเมื่อดาวน์โหลด ACTS คุณไม่จำเป็นต้องซิงค์ที่เก็บ Android ทั้งหมด หากต้องการซิงค์เฉพาะ ACTS หลังจากเรียกใช้คำสั่ง repo init ให้เรียกใช้คำสั่งต่อไปนี้

repo sync platform/tools/test/connectivity

ACTS อยู่ภายใต้ <repo>/tools/test/connectivity/acts/

การตั้งค่าสภาพแวดล้อม

หากต้องการตรวจสอบว่า ACTS มีทรัพยากร Dependency ที่จำเป็นสำหรับการตั้งค่า ให้ติดตั้งเครื่องมือตั้งค่า Python 3 ต่อไปนี้

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo apt-get install adb fastboot
sudo pip3 install --upgrade pip setuptools
# Needed due to an on-going bug.
sudo apt-get install protobuf-compiler

ติดตั้ง ACTS

สคริปต์ setup.py ที่พบใน <repo>/tools/test/connectivity/acts/framework จะติดตั้งการขึ้นต่อกันที่เหลือและ ACTS เอง

หากต้องการการพัฒนาอย่างต่อเนื่องในหรือกับ ACTS ให้เรียกใช้คำสั่งต่อไปนี้

cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -

หากต้องการเรียกใช้เฉพาะการทดสอบ ให้เรียกใช้คำสั่งนี้แทน

cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py install
cd -

ยืนยันการติดตั้ง

หลังจากตั้งค่าแล้ว ตรวจสอบว่าคุณใช้ act.py ในเทอร์มินัลได้ และนำเข้าโมดูล ACTS ใน Python เช่น

act.py -h
usage: act.py [-h] -c <PATH> [--test_args Arg1 Arg2 ... ]
python3
>>> from acts.controllers import android_device
>>> device_list = android_device.get_all_instances()

เรียกใช้โดยไม่ติดตั้ง

ผู้ใช้จะเรียกใช้ ACTS ได้โดยไม่ต้องติดตั้งแพ็กเกจโดยตรง ขั้นตอนเดียวที่ต้องดำเนินการคือการแก้ไขเส้นทาง Python ที่จะนำเข้าจาก <repo>/tools/test/connectivity/acts/framework ก่อนเรียกใช้ ACTS ให้เรียกใช้ setup.py install_deps เพื่อติดตั้งทรัพยากร Dependency ทั้งหมดที่จำเป็นโดย ACTS โดยไม่ต้องติดตั้ง ACTS หากมี ACTS เวอร์ชันที่มีอยู่ในเครื่องของคุณ ให้เรียกใช้ sudo setup.py uninstall

หากต้องการเรียกใช้ ACTS ให้ใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้

  • cd <repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
    
  • export PYTHONPATH=<repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
    

ACTS แสดงข้อความที่ขอแฟล็ก -c และ -tc ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าการทดสอบ ACTS

ตั้งค่า ACTS ในสภาพแวดล้อมเสมือนจริง

หากต้องการแยกการติดตั้งออกจากการติดตั้ง ACTS รายการอื่นๆ คุณควรติดตั้ง ACTS ในสภาพแวดล้อมเสมือนจริง ขั้นตอนต่อไปนี้จะถือว่าคุณมี acts_test.zip จาก aosp-main ใน ci.android.com หรือมีสิทธิ์เข้าถึงแหล่งที่มาโดยตรง

  1. รับ ACTS

    เผยแพร่งานสร้างแล้ว ดูข้อมูลเพิ่มเติมได้ที่การผสานรวม Android อย่างต่อเนื่อง คุณสามารถดึงไฟล์ ZIP จากบิลด์บน ci.android.com โดยมองหาเป้าหมาย test_suites_x86_64

    ไฟล์ acts_test.zip อยู่ในแท็บอาร์ติแฟกต์ สำหรับตัวอย่างนี้ ให้สมมติว่าดาวน์โหลด acts_test.zip ไปยัง /tmp/acts_test.zip แล้ว

    หากคุณมีสิทธิ์เข้าถึงซอร์สโค้ด คุณสามารถใช้รหัสนั้นแทน

  2. ติดตั้ง virtualenv ในเครื่อง

    หากยังไม่มี คุณสามารถติดตั้ง virtualenv โดยใช้รายการต่อไปนี้

    python3 -m pip install -U --user virtualenv
    
  3. สร้างและเปิดใช้งานสภาพแวดล้อมเสมือน (ในตัวอย่างนี้ใน /tmp/my_virtualenv) การดำเนินการนี้ช่วยให้มั่นใจได้ว่ามีการติดตั้งแพ็กเกจใหม่ในไดเรกทอรี virtualenv

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
    
  4. ติดตั้ง ACTS เรียกใช้คำสั่งต่อไปนี้

    unzip /tmp/acts_test.zip -d /tmp/my_virtualenv/acts
    cd /tmp/my_virtualenv/acts/tools/test/connectivity/acts/framework/
    python3 setup.py install
    

    หากเข้าถึงโค้ดโดยตรงได้ ให้ข้ามการคลายการบีบอัด (unzip) ได้โดยทำดังนี้

    cd /path/to/acts/framework
    python3 setup.py install
    
  5. เรียกใช้ ACTS ได้จากทุกที่

    act.py -c <config> ...
    
  6. ออกจากสภาพแวดล้อมเสมือนเมื่อทำการทดสอบเสร็จแล้ว

    deactivate
    

แฟลชอุปกรณ์ Android (ไม่บังคับ)

หากต้องการควบคุมอุปกรณ์โดยสิทธิ์เฉพาะของระบบ ให้แฟลชอุปกรณ์ด้วยบิลด์ userdebug

หากต้องการแฟลชอุปกรณ์ ให้ใช้ เครื่องมือ Flash ของ Android (flash.android.com/) ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบที่ Android Flash Tool

ติดตั้ง SL4A (ไม่บังคับ แนะนำ)

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

"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]

หากต้องการดาวน์โหลด APK SL4A ให้ทำตามวิธีการใน Scripting Layer for Android