UiAutomatorViewer چیست؟
“UIautomatorviewer” یک ابزار GUI برای اسکن و تحلیل UI Componentهای یک برنامه Android است. کاربر باید اشیاء را در Application Under Test-AUT، برای بهینهسازی هر برنامه اندروید با استفاده از Appium شناسایی کند. با “UIAutomatorviewer” شما قادر خواهید بود UI یک برنامه اندروید را برای پیدا کردن سلسله مراتب و مشاهده خواص(Property) مختلفِ(شناسه، متن …) عناصر(Element) بررسی کنید.
در هنگام اجرای اسکریپتهای اتوماسیون، Appium از “UIAutomatorviewer” برای شناسایی خواص مختلف شی استفاده کرده و از این خواص برای شناسایی شیء مورد نیاز بهره میگیرد.
نحوه دانلود و نصب UIAutomator
“UIAutomatorviewer” بخشی از Android SDK Manager است و هنگامی که شما SDK Manager را نصب میکنید، در دسترس خواهد بود. از اینجا Android SDK Manager را دانلود و نصب نمایید.
پس از نصب Android SDK، به مسیر زیر بروید:
c:\users\<username>\AppData\Local\Android\sdk\tools
شما یک Batch File با نام uiautomatorviewer.bat را مشاهده خواهید کرد.
نحوه استفاده از UIAutomatorviewer برای پیدا کردن اشیاء در برنامه
- گزینه “Developer” را روی دستگاه خود فعال کنید. روی اینجا کلیک کنید تا چگونگی فعالسازی گزینه “Developer” را در دستگاههای Android فرا بگیرید.
- Android Device خود را از طریق کابل USB به کامپیوتر وصل کنید.
- برای تست میتوانید برنامه “Guru99” را از برنامهها انتخاب کنید.
- بر روی دکمه “Device Screenshot” کلیک کنید تا “UIAutomatorviewer” رفرش کنید و GUI برنامه guru99 را در “UIAutomatorviewer” بارگذاری نمایید.
- پس از اتمام رفرش، یک اسکرینشات از برنامه Guru99 باز میشود.
- همانطور که در تصویر بالا میبینید، در سمت راست پنجره دو پنل وجود دارد. پنل بالا حاوی سلسله مراتب گرهای(Node Hierarchy) است که در آن کامپوننتهای UI مرتب شده و قرار میگیرند. با کلیک بر روی هر گره، خواص عناصر UI در پنل پایینتر ارائه میشوند.
- برای مشاهده خواص مختلف(متن، منابع، id،…)، دکمه Quiz را در تصویر بالا انتخاب کنید.
چگونه از این خواص برای شناسایی عناصر برای اتوماسیون استفاده کنیم
بسیار خب، شما نمیتوانید مستقیما از خواص استفاده کنید، هر خاصیت نامهای دیگری دارد. بیایید ببینیم که چگونه از مقادیر خواص برای کار استفاده کنیم. از Attributeهای زیر میتوان برای شناسایی دکمه Quiz در برنامه Guru99 استفاده کرد.
- text Attribute میتواند به عنوان “name” استفاده شود
- resource-id Attribute میتواند به عنوان “id” استفاده شود
- class Attribute میتواند به عنوان “className” استفاده شود
- content-desc Attribute میتواند به عنوان “AccessibilityId” استفاده شود
همراه با Attributeهای بالا میتوانیم xpaths را برای شناسایی شی بنویسیم.
خطایی که ممکن است با استفاده از UIAutomatorviewer با آن مواجه شوید
- “No Android devices were detected by adb-هیچ دستگاه اندرویدی توسط adb شناسایی نشده است”. همانطور که در تصویر زیر نشان داده شده است. اما چگونه میتوان این خطا را حل کرد؟
راه حل این خطا بسیار ساده است: مطمئن شوید دستگاه شما به کامپیوتر متصل است
تمام قسمتهای آموزش Appium، به صورت دستهبندی شده از اینجا در دسترس است.