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

เพื่อหลีกเลี่ยงปัญหาเกี่ยวกับการบำรุงรักษาและการสนับสนุนฟีเจอร์

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

รับรหัส

คุณดู ACTS เวอร์ชันล่าสุดได้ในที่เก็บ Gerrit ของโครงการโอเพนซอร์ส Android (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/

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

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

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 เพื่อติดตั้งข้อกำหนดเบื้องต้นทั้งหมดที่จำเป็นโดย 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

    หากมีสิทธิ์เข้าถึงโค้ดโดยตรง คุณจะข้ามการแตกไฟล์ได้ โดยทำดังนี้

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

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

    deactivate

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

หากต้องการควบคุมอุปกรณ์ที่มีสิทธิ์ระดับระบบ ให้แฟลชอุปกรณ์ด้วยบิลด์ userdebug

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

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

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

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

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