مجموعه تست Comms Android (ACTS) تست خودکار پشته های اتصال مانند Wi-Fi، بلوتوث و سرویس های تلفن همراه را انجام می دهد. ابزار تست به adb و Python نیاز دارد. ابزار در tools/test/connectivity/acts
قرار دارد.
این صفحه نحوه اجرای آزمایشات تلفنی اولیه موجود در پروژه منبع باز Android (AOSP) را برای کاربری با دو گوشی توضیح می دهد.
پیش نیازها
برای اجرای تستهای تلفنی ACTS، باید به یک مخزن کامل اندروید دسترسی داشته باشید و در دستگاههایی که میخواهید آزمایش کنید، بیلدهای userdebug را نصب کنید.
یک مخزن اندروید دانلود کنید
برای دانلود مخزن Android در دستگاهی که دارای اتصال USB به دستگاه هایی است که می خواهید آزمایش کنید، دستورالعمل های موجود در دانلود منبع را دنبال کنید.
- AOSP یک پایگاه کد چند گیگابایتی است که همچنان در حال رشد است. بر این اساس انتظارات خود را از زمان دانلود تنظیم کنید.
- اگر اندازه ماشینی محدود است،
--depth=1
را به دستورrepo init
اضافه کنید.
- اگر اندازه ماشینی محدود است،
- برای دریافت بهروزرسانیهای آینده در مورد ابزار ACTS، به دایرکتوری ریشه Android بروید:
-
repo sync tools/test/connectivity
استفاده کنید - و
repo sync external/sl4a
-
بررسی اشکالزدایی کاربر در دستگاهها
یک نسخه userdebug اندروید را روی دستگاه های آزمایشی خود نصب کنید.
- با استفاده از دستورالعمل های Build Android، مخزن را بسازید.
- دستگاه را همانطور که در فلش یک دستگاه توضیح داده شده فلش کنید.
- دستور
adb shell getprop ro.build.type
بایدuserdebug
برگرداند. - اگر
ro.build.type
در دسترس نباشد، ساخت userdebug اجازه می دهد تا پوسته adb را به صورت روت (ترمینال#
) اجرا کنید.
- دستور
SL4A را بسازید و نصب کنید
برای ساخت و نصب لایه اسکریپت برای اندروید (SL4A)، دستورالعملهای موجود در لایه اسکریپت برای Android را دنبال کنید. بخش افزودن سازه های SL4A به سازه های اندروید به صورت پیش فرض اختیاری است.
پس از ساخت SLA4، آخرین پیغام log حاوی محل فایل sl4a.apk
است که باید آن را روی همه دستگاه ها نصب کنید. در اینجا یک مثال از یک پیام گزارش آمده است:
Copy: out/target/path/to/sl4a.apk
دستگاه ها را برای آزمایش پیکربندی کنید
دستگاه ها را با استفاده از این الزامات ساخت/ابزار ACTS پیکربندی کنید:
اگر کلیدهای فروشنده ADB در دسترس نیستند، وقتی ظاهر شد، روی پنجره بازشو Trust this computer در DUT ضربه بزنید. اگر کلیدهای فروشنده ADB در دسترس هستند:
- کلیدهای فروشنده و درایورهای ADB باید منحصر به DUT باشند.
- برای فعال کردن همیشه اشکالزدایی USB، کلیدهای فروشنده ADB در درخت منبع شما باید با استفاده از
export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys
که در آن/path/to/directory
است به~/.bashrc
(یا معادل) اضافه شود. مسیر کاملا واجد شرایط شما در میزبان. برای عیب یابی ADB، به اجرای برنامه ها در دستگاه سخت افزاری مراجعه کنید.
اجازه اشکالزدایی USB: وقتی درایورهای adb نصب میشوند، دستگاههای adb ممکن است درخواستی را برای اجازه اشکالزدایی USB در دستگاه راهاندازی کنند.
sl4a.apk
با استفاده از$ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk
نصب کنیدمطمئن شوید که تلفن ها از اتصال USB 2.0 به سرور آزمایشی استفاده می کنند.
این تستها به شبکههای تلفن همراه زنده بستگی دارد، بنابراین سیمکارتها را در گوشیها قرار دهید و گوشیها را در منطقهای نگهداری کنید که سرویسهای همراه خوبی دارد.
همانطور که در Write a config file توضیح داده شده است، همه سیم کارت ها را به یک فایل JSON اضافه کنید.
محیط را تنظیم کنید
قبل از تنظیم محیط، بررسی کنید که پایتون 3.4+ نصب شده باشد.
اجرا کنید:
sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler
ACTS را نصب کنید
اجرا کنید:
cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -
برای تأیید نصب، act.py -h
اجرا کنید، که لیستی از دستورات موجود را چاپ می کند.
یک فایل کانفیگ بنویسید
برای اجرای تست ها باید فایلی با اطلاعات پیکربندی ایجاد کنید. در اینجا یک نمونه فایل .config
است. یک فایل مشابه در مخزن Android در tools/test/connectivity/acts/framework/sample_config.json
موجود است. XXXXXXX
با شماره سریال دستگاه جایگزین کنید تا حداقل اطلاعاتی را که ACTS برای اجرای آزمایش تلفن نیاز دارد ارائه کنید.
{
"_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"
}
از کلیدهای جدول برای پیکربندی پارامترهای تست استفاده کنید. برای گزینه های بیشتر به گزینه های پیکربندی اضافی مراجعه کنید.
کلید | ارزش |
---|---|
_description | در مورد محتویات کل فایل کانفیگ نظر دهید |
testbed | مشخصات محیطی که تست ها می توانند در آن اجرا شوند |
(تخت آزمایش) _description | در مورد هر بستر آزمایشی نظر دهید، زیرا ACTS میتواند تختهای آزمایشی فردی را هدف قرار دهد |
(تخت آزمایش) name | نام بستر آزمایش برای فراخوانی از خط فرمان |
(تخت آزمایش) AndroidDevice | لیست دستگاه های خاصی که آزمایش هدف قرار می دهد توجه: ممکن است چندین دستگاه در لیست وجود داشته باشد. آزمایشی که تلفنهایی را که با یکدیگر تماس میگیرند اجرا میکند، انتظار میرود دو دستگاه وجود داشته باشد و اگر تعداد آنها کمتر باشد، با شکست مواجه میشود. اگر دو دستگاه در لیست وجود داشته باشد و آزمایش فقط یکی را انتظار داشته باشد، آن آزمایش در اولین دستگاه اجرا می شود. |
serial (Bedbed) (AndroidDevice). | شماره سریال دستگاه (چاپ شده از adb devices ) |
(Bedbed) (AndroidDevice) adb_logcat_param | پارامترهایی که هنگام فراخوانی adb logcat در هنگام تست ارسال می شوند |
logpath | مکان روی سرور آزمایشی که در آن لاگ ها ذخیره می شوند |
testpaths | محل کد مورد آزمایشی |
sim_conf_file | محل فایل .json که سیم کارت های موجود را فهرست می کندلیست سیم کارت ها شامل شناسه کارت، قابلیت های کارت، اپراتور و شماره تلفن می باشد. |
{
"sim-card-ID-here": {
"capability": [
"voice",
"ims",
"volte",
"vt",
"sms",
"tethering",
"data"
],
"operator": "tmo",
"phone_num": "12345678901"
},
...
}
میتوانید شماره تلفن را از دستگاه زیر System > About phone بکشید. شناسه سیم کارت عموماً روی سیم کارت چاپ می شود یا از دستگاه در زیر سیستم > درباره تلفن > وضعیت سیم کارت در دسترس است. رشته عملگر در tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py
تعریف شده است، سپس CARRIER_
را جستجو کنید.
گزینه های پیکربندی اضافی
فایل entries.py
واقع در tools/test/connectivity/acts/framework/acts/config/entries.py
در مخزن Android دارای تعاریفی برای گزینههای اصلی پیکربندی خط فرمان است.
همچنین میتوانید با جستجوی self.user_params.get
پارامترهای مخصوص آزمون را در کد پیدا کنید.
تست ها را اجرا کنید
پس از نوشتن فایل پیکربندی، تست ها را از خط فرمان اجرا کنید. در حالی که گزینه های زیادی وجود دارد، ساده ترین آنها استفاده از -c filename.config -tc TestCase:name
است. این مثال از یک فایل پیکربندی به نام minimum.config
استفاده می کند:
act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general
یک اجرای آزمایشی موفق باید یک پیام خروجی نهایی مانند این داشته باشد:
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
تست های متعدد را اجرا کنید
برای اجرای موارد آزمایشی خاص در چندین فایل، یک فایل آزمایشی ایجاد کنید و آن را با flag -tf
ارسال کنید، همانطور که در مجموعه نمونه تست رگرسیون نشان داده شده است:
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
این دستور مثال فرض می کند که فایل regression_suite.
act.py -c minimum.config -tf regression_suite
چندین بار تست ها را اجرا کنید
برای اجرای چندین بار تست ( -tc
) یا فایل آزمایشی ( -tf
)، -ti #
(تکرارهای آزمایشی) را به دستور اضافه کنید.