Bộ kiểm tra giao tiếp Android (ACTS) thực hiện quy trình kiểm thử 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 thử yêu cầu adb và Python. Công cụ này nằm ở tools/test/connectivity/acts
.
Trang này mô tả cách chạy các bài kiểm thử điện thoại cơ bản có trong Dự án nguồn mở Android (AOSP) cho người dùng có 2 điện thoại.
Điều kiện tiên quyết
Để chạy kiểm thử đ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 các thiết bị mà bạn muốn kiểm thử.
Tải kho lưu trữ Android xuống
Làm theo hướng dẫn trong phần Tải nguồn xuống để tải kho lưu trữ Android xuống máy có kết nối USB với các thiết bị mà bạn muốn kiểm thử.
- AOSP là một cơ sở mã nhiều gigabyte vẫn tiếp tục phát triển. Hãy điều chỉnh thời gian tải xuống mà bạn mong đợi 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ệnhrepo init
.
- Nếu máy bị hạn chế về kích thước, hãy thêm
- Để nhận thông tin cập nhật trong tương lai về công cụ ACTS, hãy chuyển đến thư mục gốc của Android:
- Sử dụng
repo sync tools/test/connectivity
- Và
repo sync external/sl4a
- Sử dụng
Xác minh bản dựng userdebug trên thiết bị
Cài đặt một phiên bản userdebug của Android trên các thiết bị thử nghiệm.
- Xây dựng kho lưu trữ theo hướng dẫn trong bài viết Xây dựng Android.
- Cài đặt ROM thiết bị theo mô tả trong phần Cài đặt ROM thiết bị.
- Lệnh
adb shell getprop ro.build.type
sẽ trả vềuserdebug
. - Nếu không có
ro.build.type
, bản dựng userdebug sẽ cho phép chạy shell adb dưới dạng gốc (cửa sổ dòng lệnh#
).
- Lệnh
Tạo và cài đặt SL4A
Để tạo và cài đặt Lớp tập lệnh cho Android (SL4A), hãy làm theo hướng dẫn trong Lớp tập lệnh dành cho Android. Bạn không bắt buộc phải sử dụng mục Thêm bản dựng SL4A vào bản dựng Android theo mặc định.
Sau khi tạo SLA4, thông điệp nhật ký cuối cùng sẽ chứa vị trí của tệp sl4a.apk
mà bạn cần cài đặt trên TẤT CẢ thiết bị. Dưới đây là ví dụ về một thông điệp nhật ký:
Copy: out/target/path/to/sl4a.apk
Định cấu hình thiết bị để kiểm thử
Định cấu hình thiết bị bằng các yêu cầu sau đây về bản dựng/công cụ ACTS:
Nếu khoá 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 Trust this computer (Tin cậy máy tính này) trên DUT khi cửa sổ này xuất hiện. Nếu có khoá của nhà cung cấp ADB:
- Trình điều khiển và khoá của nhà cung cấp ADB phải là duy nhất cho DUT.
- Để luôn bật tính năng gỡ lỗi qua USB, bạn phải thêm các khoá của nhà cung cấp ADB trong cây nguồn vào
~/.bashrc
(hoặc tương đương) bằng cách sử dụngexport ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys
, trong đó/path/to/directory
là đường dẫn đủ điều kiện trên máy chủ. Để khắc phục sự cố liên quan đến ADB, hãy tham khảo nội dung Chạy ứng dụng trên thiết bị phần cứng.
Cho phép gỡ lỗi qua USB: Khi bạn cài đặt trình điều khiển adb, các 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 qua USB.
Cài đặt
sl4a.apk
bằ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ủ kiểm tra.
Các quá trình kiểm thử này phụ thuộc vào các mạng di động trực tiếp, vì vậy, hãy đặt thẻ SIM vào điện thoại và để điện thoại ở nơi có dịch vụ di động tốt.
Thêm tất cả các thẻ SIM vào một tệp JSON như mô tả trong phần 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 trở lên đã đượ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 việc 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 cấu hình
Để chạy kiểm thử, bạn phải tạo một tệp có thông tin cấu hình. Dưới đây là một tệp .config
mẫu. Hiện có một tệp tương tự trong kho lưu trữ Android trong 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 quy trình kiểm thử đ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 khoá trong bảng để định cấu hình các tham số kiểm thử. Tham khảo Các tuỳ chọn cấu hình bổ sung để biết thêm các lựa chọn.
Khoá | Giá trị |
---|---|
_description
|
Nhận xét về nội dung của toàn bộ tệp cấu hình |
testbed
|
Thông số kỹ thuật của một môi trường có thể chạy kiểm thử |
(thử nghiệm) _description
|
Nhận xét về từng trung tâm thử nghiệm, vì ACTS có thể nhắm mục tiêu đến từng trường hợp thử nghiệm |
(thử nghiệm) name
|
Tên của nền tảng kiểm thử để gọi từ dòng lệnh |
(thử nghiệm) AndroidDevice
|
Danh sách các thiết bị cụ thể mà quy trình kiểm thử này nhắm đến
Lưu ý: Có thể có nhiều thiết bị được liệt kê. Một chương trình kiểm thử chạy các điện thoại gọi nhau dự kiến có hai thiết bị và sẽ không thành công nếu có ít thiết bị hơn. Nếu có hai thiết bị được liệt kê và bài kiểm thử chỉ dự kiến có một thiết bị, thì quá trình kiểm thử đó sẽ được chạy trên thiết bị đầu tiên. |
(thử nghiệm)(AndroidDevice) serial
|
Số sê-ri của thiết bị (được in từ adb devices )
|
(thử nghiệm)(AndroidDevice) adb_logcat_param
|
Các tham số được truyền khi adb logcat được gọi trong quá trình kiểm thử
|
logpath
|
Vị trí trên máy chủ kiểm thử nơi lưu nhật ký |
testpaths
|
Vị trí của mã trường hợp kiểm thử |
sim_conf_file
|
Vị trí của tệp .json liệt kê các thẻ SIM có sẵn
Danh sách thẻ SIM bao gồm mã nhận dạng của thẻ, các chức năng của thẻ, nhà vận 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.
Mã thẻ SIM thường được in trên thẻ SIM hoặc có sẵn trên thiết bị trong phần 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_
.
Các lựa chọn khác về cấu hình
Tệp entries.py
nằm tại tools/test/connectivity/acts/framework/acts/config/entries.py
trong kho lưu trữ Android có định nghĩa cho các tuỳ 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 kiểm thử trong mã bằng cách tìm self.user_params.get
.
Chạy chương trình kiểm thử
Chạy kiểm thử từ dòng lệnh sau khi ghi tệp cấu hình. Mặc dù có nhiều lựa chọn, nhưng cách đơ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 chương trình kiểm thử thành công sẽ có một thông báo đầu ra cuối cùng như sau:
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à truyền tệp đó bằng cờ -tf
, như minh hoạ trong bộ kiểm thử hồi quy mẫu:
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 một trường hợp kiểm thử (-tc
) hoặc tệp kiểm thử (-tf
) nhiều lần, hãy thêm -ti
#
(số lần lặp lại kiểm thử) vào lệnh.