Kiểm tra điện thoại ACTS

Bộ kiểm tra Android Comms (ACTS) thực hiện kiểm tra tự động các ngăn xếp kết nối, chẳng hạn như Wi-Fi, Bluetooth và dịch vụ di động. Công cụ kiểm tra yêu cầu adb . và Python, và nó có thể được tìm thấy trong tools/test/connectivity/acts .

Trang này mô tả cách chạy thử nghiệm điện thoại cơ bản có sẵn trong Dự án mã nguồn mở Android (AOSP) cho người dùng có hai điện thoại.

Điều kiện tiên quyết

Để chạy thử nghiệm điện thoại ACTS, bạn phải có quyền truy cập vào kho lưu trữ Android đầy đủ và cài đặt bản dựng userdebug trên thiết bị mà bạn muốn thử nghiệm.

Tải xuống kho lưu trữ Android

Làm theo hướng dẫn trong Tải xuống nguồn để tải xuống kho lưu trữ Android trên máy có kết nối USB với thiết bị mà bạn muốn kiểm tra.

  • AOSP là một cơ sở mã nhiều gigabyte đang tiếp tục phát triển. Điều chỉnh kỳ vọng của bạn về thời gian tải xuống cho phù hợp.
    • Nếu máy bị hạn chế về kích thước, hãy thêm --depth=1 vào lệnh repo init .
  • Để nhận các bản cập nhật trong tương lai về công cụ ACTS, hãy truy cập thư mục gốc của Android:
    • Sử dụng repo sync tools/test/connectivity
    • repo sync external/sl4a

Xác minh bản dựng userdebug trên thiết bị

Cài đặt phiên bản gỡ lỗi người dùng của Android trên thiết bị thử nghiệm của bạn.

  • Xây dựng kho lưu trữ bằng cách sử dụng hướng dẫn trong Xây dựng Android .
  • Flash thiết bị như được mô tả trong Flash thiết bị .
    • Lệnh adb shell getprop ro.build.type sẽ trả về userdebug .
    • Nếu ro.build.type không có sẵn, bản dựng userdebug sẽ cho phép chạy adb shell dưới dạng root (terminal # ).

Xây dựng và lắp đặt SL4A

Để xây dựng và cài đặt Scripting Layer For Android (SL4A), hãy làm theo hướng dẫn trong Scripting Layer for Android . Phần Thêm bản dựng SL4A vào bản dựng Android theo mặc định là tùy chọn.

Sau khi xây dựng SLA4, thông báo nhật ký cuối cùng chứa vị trí của tệp sl4a.apk mà bạn cần cài đặt trên TẤT CẢ các thiết bị. Đây là một ví dụ về thông điệp tường trình:

Copy: out/target/path/to/sl4a.apk

Cấu hình thiết bị để kiểm tra

Định cấu hình thiết bị bằng cách sử dụng các yêu cầu công cụ/xây dựng ACTS sau:

  • Nếu khóa của nhà cung cấp ADB không có sẵn, hãy nhấn vào cửa sổ bật lên Tin cậy máy tính này trên DUT khi nó xuất hiện. Nếu khóa của nhà cung cấp ADB có sẵn:

    • Khóa và trình điều khiển của nhà cung cấp ADB phải là duy nhất cho DUT.
    • Để luôn bật gỡ lỗi USB, các khóa của nhà cung cấp ADB trong cây nguồn của bạn phải được thêm vào ~/.bashrc (hoặc tương đương) bằng cách sử dụng export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys trong đó /path/to/directory đường dẫn đầy đủ của bạn trên máy chủ. Để khắc phục sự cố ADB, hãy tham khảo Chạy ứng dụng trên thiết bị phần cứng .
  • Cho phép gỡ lỗi USB: Khi cài đặt trình điều khiển adb, thiết bị adb có thể kích hoạt lời nhắc trên thiết bị để cho phép gỡ lỗi USB.

  • Cài đặt sl4a.apk bằng cách sử dụng $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk

  • Đảm bảo rằng điện thoại sử dụng kết nối USB 2.0 với máy chủ thử nghiệm.

  • Các cuộc kiểm tra này phụ thuộc vào mạng di động trực tiếp, vì vậy hãy lắp thẻ SIM vào điện thoại và giữ điện thoại ở khu vực có dịch vụ di động tốt.

  • Thêm tất cả các thẻ SIM vào tệp .json như được mô tả trong Viết tệp cấu hình .

Thiết lập môi trường

Trước khi thiết lập môi trường, hãy xác minh rằng Python 3.4+ đã được cài đặt .

Chạy:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler

Cài đặt ACTS

Chạy:

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

Để xác minh cài đặt, hãy chạy act.py -h , in danh sách các lệnh có sẵn.

Viết một tập tin cấu hình

Để chạy thử nghiệm, bạn phải tạo một tệp có thông tin cấu hình. Đây là một tệp .config ví dụ. Một tệp tương tự có sẵn trong kho lưu trữ Android dưới tools/test/connectivity/acts/framework/sample_config.json . Thay thế XXXXXXX bằng số sê-ri của thiết bị để cung cấp thông tin tối thiểu mà ACTS cần để chạy kiểm tra điện thoại.

{
  "_description": "Minimum Telephony Config",
  "testbed":
  [
      {
          "_description": "A testbed listing two AndroidDevices for adb.",
          "name": "ExampleTestBed",
          "AndroidDevice": [{"serial": "XXXXXXX", "adb_logcat_param": "-b all"},
                            {"serial": "XXXXXXX", "adb_logcat_param": "-b all"}]
      }
  ],
  "logpath": "/path/to/logs",
  "testpaths": "/path/to/android/repo/tools/test/connectivity",
  "sim_conf_file": "/path/to/simcard_list.json"
}

Sử dụng các phím trong bảng để cấu hình các thông số kiểm tra. Tham khảo Tùy chọn cấu hình bổ sung để biết thêm tùy chọn.

Chìa khóa Giá trị
_description Nhận xét về nội dung của toàn bộ file config
testbed Đặc điểm kỹ thuật của môi trường mà các bài kiểm tra có thể chạy trong đó
(thử nghiệm) _description Nhận xét về từng thử nghiệm, vì ACTS có thể nhắm mục tiêu vào các thử nghiệm riêng lẻ
(thử nghiệm) name Tên của thử nghiệm để gọi từ dòng lệnh
(thử nghiệm) AndroidDevice Danh sách các thiết bị cụ thể mà mục tiêu thử nghiệm
Lưu ý: Có thể có nhiều thiết bị được liệt kê. Một thử nghiệm chạy các điện thoại gọi nhau dự kiến ​​sẽ có hai thiết bị và sẽ thất bại nếu có ít thiết bị hơn. Nếu có hai thiết bị được liệt kê và quá trình kiểm tra chỉ mong đợi một thiết bị thì quá trình kiểm tra đó sẽ chạy trên thiết bị đầu tiên.
(thử nghiệm)(Thiết bị Android) serial Số serial của thiết bị (in từ adb devices )
(thử nghiệm)(Thiết bị Android) adb_logcat_param Các tham số được chuyển khi adb logcat được gọi trong quá trình thử nghiệm
logpath Vị trí trên máy chủ thử nghiệm nơi lưu nhật ký
testpaths Vị trí của mã trường hợp thử nghiệm
sim_conf_file Vị trí của tệp .json liệt kê các thẻ SIM hiện có
Danh sách thẻ SIM bao gồm ID của thẻ, khả năng của thẻ, nhà điều hành và số điện thoại.
{
    "sim-card-ID-here": {
        "capability": [
            "voice",
            "ims",
            "volte",
            "vt",
            "sms",
            "tethering",
            "data"
        ],
        "operator": "tmo",
        "phone_num": "12345678901"
    },
...
}

Bạn có thể lấy số điện thoại từ thiết bị trong Hệ thống > Giới thiệu về điện thoại . ID thẻ SIM thường được in trên thẻ SIM hoặc có sẵn trên thiết bị trong Hệ thống > Giới thiệu về điện thoại > Trạng thái SIM . Chuỗi toán tử được xác định tại tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py , sau đó tìm kiếm CARRIER_ .

Tùy chọn cấu hình bổ sung

Tệp entries.py nằm ở tools/test/connectivity/acts/framework/acts/config/entries.py trong kho lưu trữ Android có các định nghĩa cho các tùy chọn cấu hình dòng lệnh chính.

Bạn cũng có thể tìm thấy các tham số dành riêng cho thử nghiệm trong mã bằng cách tìm kiếm self.user_params.get .

Chạy thử nghiệm

Chạy thử nghiệm từ dòng lệnh sau khi tệp cấu hình được ghi. Mặc dù có nhiều tùy chọn nhưng đơn giản nhất là sử dụng -c filename.config -tc TestCase:name . Ví dụ này sử dụng tệp cấu hình có tên minimum.config :

act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general

Một lần chạy thử thành công sẽ có thông báo đầu ra cuối cùng như thế này:

INFO Summary for test run ExampleTestBed@yyyy-mm-dd_15-23-43-614: Requested 1,
Executed 1, Passed 1, Failed 0, Skipped 0, Error 0

Chạy nhiều thử nghiệm

Để chạy các trường hợp kiểm thử cụ thể trên nhiều tệp, hãy tạo một tệp kiểm thử và chuyển nó bằng cờ -tf , như minh họa trong bộ kiểm thử hồi quy ví dụ bên dưới.

TelLiveVoiceTest:
test_call_mo_voice_general,
test_call_volte_to_volte,
test_call_3g_to_3g

TelLiveDataTest:
test_airplane_mode,
test_4g,
test_3g

TelLiveSmsTest:
test_sms_mo_4g,
test_sms_mt_4g,
test_sms_mo_3g,
test_sms_mt_3g,
test_mms_mo_4g,
test_mms_mt_4g

Lệnh ví dụ này giả định rằng tệp có tên là regression_suite.

act.py -c minimum.config -tf regression_suite

Chạy thử nghiệm nhiều lần

Để chạy trường hợp thử nghiệm ( -tc ) hoặc tệp thử nghiệm ( -tf ) nhiều lần, hãy thêm -ti # (lặp thử nghiệm) vào lệnh.