خزنده برنامه

از ابزار خزنده برنامه، بخشی از Jetpack برای آزمایش خودکار برنامه خود بدون نیاز به نوشتن یا نگهداری کد استفاده کنید.

خزنده در کنار برنامه شما اجرا می شود و به طور خودکار اقداماتی (ضربه زدن، کشیدن انگشت، و غیره) را برای کاوش در فضای وضعیت برنامه شما انجام می دهد. خزیدن به‌طور خودکار خاتمه می‌یابد زمانی که هیچ اقدام منحصربه‌فردی دیگری برای انجام وجود نداشته باشد، برنامه از کار بیفتد یا زمانی که شما تعیین کرده‌اید به پایان برسد.

آزمایش با خزنده آسان است زیرا هیچ کدی برای نوشتن یا نگهداری وجود ندارد. علاوه بر این، می‌توانید آن را روی دستگاه‌های مختلفی اجرا کنید تا به دنبال خرابی، مشکلات بصری یا مشکلات عملکرد باشید. به طور معمول، ایده خوبی است که از یک سرویس مبتنی بر ابر مانند Firebase Test Lab استفاده کنید تا ترکیبات متعددی از اندازه صفحه نمایش و پیکربندی‌های سخت‌افزاری را آسان‌تر و سریع‌تر آزمایش کنید.

مخاطب هدف

App Crawler توسعه دهندگانی را هدف قرار می دهد که می خواهند از عملکرد اولیه برنامه خود با حداقل پیکربندی اطمینان حاصل کنند. علاوه بر آزمایش جعبه کاملاً مات، خزنده همچنین می‌تواند برای ارائه ورودی‌های خاص، مانند اعتبار ورود یا پیوندهای عمیق، پیکربندی شود.

شروع کردن

قبل از شروع، مطمئن شوید که نسخه جدید Android SDK را دارید. این با Android Studio ارائه می شود. اگر یک Android SDK مستقل نصب می‌کنید، مطمئن شوید که دارای جدیدترین ابزارهای ساخت و ابزارهای پلتفرم است.

سپس، بایگانی باینری خزنده را دانلود کنید .

در مرحله بعد، یک شبیه ساز را راه اندازی کنید یا یک دستگاه فیزیکی را با استفاده از کابل USB وصل کنید. با اجرای دستور زیر، اتصال دستگاه را تأیید کنید:

adb devices

برای فراخوانی خزنده، ابتدا آرشیو را در فهرست انتخابی خود استخراج کنید. از آن دایرکتوری، خزنده را با استفاده از دستور زیر فراخوانی کنید:

java -jar crawl_launcher.jar --apk-file path/to/my/app.apk --android-sdk path/to/my/android/sdk

گزینه های خزنده

برای فراخوانی خزنده می توانید از گزینه های زیر استفاده کنید:

گزینه توضیحات
--android-sdk path

مسیر Android SDK شما را مشخص می کند.

این یک پرچم الزامی است.

--apk-file file

مسیر APK برنامه شما را مشخص می‌کند، که App Crawler سپس آن را نصب و می‌خزد.

اگر --app-package-name مشخص نشده باشد، این یک پرچم ضروری است.

--app-package-name name

نام بسته برنامه شما را مشخص می کند. از این گزینه زمانی استفاده کنید که برنامه شما قبلاً روی دستگاه نصب شده باشد و نیازی به نصب مجدد نباشد.

اگر --apk-file مشخص نشده باشد، این یک پرچم ضروری است.

--key-store path

مسیری را به فروشگاه کلید که فایل‌های APK برنامه و خزنده شما را امضا می‌کند، مشخص می‌کند. از این گزینه زمانی استفاده کنید که برنامه شما برای عملکرد صحیح به امضای خاصی نیاز دارد.

--key-store-password password

رمز عبور را برای keystore که برای گزینه --key-store ارائه کرده اید مشخص می کند.

اگر --key-store مشخص شده باشد، این یک پرچم ضروری است.

--timeout-sec timeout

زمان خزیدن شما را در چند ثانیه مشخص می کند. اگر مشخص نشده باشد، خزیدن پس از 60 ثانیه متوقف می شود.

مسائل شناخته شده

فایل های امضای اصلی حذف نشد

قبل از شروع خزیدن، کاربران JDK 9 ممکن است این پیام خطا را ببینند:

androidx.test.tools.crawler.launcher.exceptions.ApkSigningException: Failed to delete original signature files

اگر این رفتار را تجربه کردید، توصیه می کنیم از JDK 8 یا 10+ استفاده کنید. برای اطلاعات بیشتر در مورد این موضوع، این باگ JDK 9 را ببینید. برخی از کاربران با بازسازی APK خود با استفاده از نسخه به روز شده اندروید استودیو، مشکل را برطرف کرده اند.

منابع اضافی

برای اطلاعات بیشتر در مورد استفاده از App Crawler، به منابع زیر مراجعه کنید.

  • Firebase Test Lab Robo Test شامل مستندات دقیق و همچنین دستورالعمل‌هایی برای نحوه اجرای تست‌های خزنده در فضای ابری است.