ابزار Espresso Test Recorder به شما امکان میدهد بدون نوشتن کد تست، تستهای رابط کاربری را برای برنامه خود ایجاد کنید. با ضبط یک سناریوی آزمایشی، میتوانید تعاملات خود را با یک دستگاه ضبط کنید و برای تأیید عناصر رابط کاربری در عکسهای فوری خاص برنامه خود، اظهاراتی را اضافه کنید. ضبط کننده تست اسپرسو سپس ضبط ذخیره شده را می گیرد و به طور خودکار یک تست رابط کاربری مربوطه ایجاد می کند که می توانید برای آزمایش برنامه خود اجرا کنید.
Espresso Test Recorder تستهایی را بر اساس چارچوب تست اسپرسو ، یک API در تست AndroidX مینویسد. Espresso API شما را تشویق می کند تا تست های رابط کاربری مختصر و قابل اعتمادی را بر اساس اقدامات کاربر ایجاد کنید. این ساختار با بیان انتظارات، تعاملات و اظهارات بدون دسترسی مستقیم به فعالیتها و نماهای برنامه اساسی، از شل شدن تست جلوگیری میکند و سرعت اجرای آزمایش را بهینه میکند.
انیمیشن ها را در دستگاه آزمایشی خود خاموش کنید
قبل از استفاده از ضبط کننده تست اسپرسو، مطمئن شوید که انیمیشن ها را روی دستگاه تست خود خاموش کرده اید تا از نتایج غیرمنتظره جلوگیری کنید. دستورالعمل های تنظیم اسپرسو را دنبال کنید، اما توجه داشته باشید که نیازی به تنظیم دستی یک مرجع وابستگی به کتابخانه اسپرسو ندارید، زیرا ضبط کننده تست این کار را به طور خودکار هنگام ذخیره یک ضبط انجام می دهد. این مراحل فقط باید یک بار برای یک پروژه مشخص انجام شود.
تست اسپرسو را ضبط کنید
تستهای اسپرسو از دو جزء اصلی تشکیل شدهاند: تعاملات UI و اظهارات در عناصر View. تعاملات رابط کاربری شامل اعمال ضربه زدن و تایپ است که ممکن است یک فرد برای تعامل با برنامه شما استفاده کند. ادعاها وجود یا محتوای عناصر بصری روی صفحه را تأیید می کنند. به عنوان مثال، یک آزمایش اسپرسو برای برنامه تست Notes ممکن است شامل تعاملات رابط کاربری برای کلیک کردن بر روی یک دکمه و نوشتن یک یادداشت جدید باشد، اما از اظهارات برای تأیید وجود دکمه و محتوای یادداشت استفاده میکند.
در این بخش نحوه ایجاد هر دوی این مؤلفههای تست با استفاده از ضبط کننده تست اسپرسو و همچنین نحوه ذخیره ضبط تمامشده برای تولید آزمون توضیح داده میشود.
تعاملات UI را ضبط کنید
برای شروع ضبط تست با دستگاه ضبط تست اسپرسو به روش زیر عمل کنید:
- روی Run > Record Espresso Test کلیک کنید.
- در پنجره Select Deployment Target ، دستگاهی را که می خواهید آزمایش را روی آن ضبط کنید، انتخاب کنید. در صورت لزوم، یک دستگاه مجازی Android جدید ایجاد کنید . روی OK کلیک کنید.
- Espresso Test Recorder ساخت پروژه شما را راهاندازی میکند، و قبل از اینکه Espresso Test Recorder به شما اجازه تعامل با آن را بدهد، برنامه باید نصب و راهاندازی شود. پنجره Record Your Test بعد از راهاندازی برنامه ظاهر میشود و از آنجایی که هنوز با دستگاه تعاملی نداشتهاید، پانل اصلی عبارت «هنوز هیچ رویدادی ثبت نشده» را میخواند. برای شروع ثبت رویدادهایی مانند اقدامات "ضربه" و "تایپ" با دستگاه خود تعامل داشته باشید.
توجه : قبل از اینکه بتوانید گزارش تعاملات را شروع کنید، ممکن است یک گفتگو در دستگاه خود مشاهده کنید که میگوید «در انتظار اشکالزدا» یا «در حال پیوست کردن اشکالزدا». Espresso Test Recorder از دیباگر برای ثبت رویدادهای رابط کاربری استفاده می کند. هنگامی که دیباگر متصل می شود، گفتگو به طور خودکار بسته می شود. Force Close را نزنید.
فعل و انفعالات ثبت شده همانطور که در شکل 1 در زیر نشان داده شده است در پانل اصلی در پنجره Record Your Test ظاهر می شود. وقتی تست را اجرا می کنید، تست اسپرسو سعی می کند این اقدامات را به همان ترتیب انجام دهد.
برای تأیید عناصر رابط کاربری، ادعاهایی را اضافه کنید
ادعاها وجود یا محتوای یک عنصر View را از طریق سه نوع اصلی تأیید می کنند:
- text is : محتوای متن عنصر View انتخاب شده را بررسی می کند
- وجود دارد : بررسی می کند که عنصر View در سلسله مراتب نمای فعلی قابل مشاهده در صفحه باشد
- وجود ندارد : بررسی می کند که عنصر View در سلسله مراتب View فعلی وجود نداشته باشد
برای افزودن یک ادعا به آزمون خود، به صورت زیر عمل کنید:
- روی افزودن ادعا کلیک کنید. در حالی که Espresso سلسله مراتب UI و سایر اطلاعات مربوط به وضعیت فعلی برنامه را دریافت می کند، یک گفتگوی ضبط صفحه ظاهر می شود. هنگامی که اسپرسو اسکرین شات را گرفت، گفتگو به طور خودکار بسته می شود.
- طرح بندی صفحه فعلی در پانل سمت راست پنجره "Record Your Test" ظاهر می شود. برای انتخاب یک عنصر View برای ایجاد ادعا، روی عنصر موجود در تصویر کلیک کنید یا از اولین منوی کشویی در کادر Edit assertion در پایین پنجره استفاده کنید. شی انتخاب شده View در یک کادر قرمز برجسته شده است.
- ادعایی را که میخواهید استفاده کنید از منوی کشویی دوم در کادر Edit Assertion انتخاب کنید. اسپرسو منو را با اظهارات معتبر برای عنصر View انتخاب شده پر می کند.
- اگر عبارت "text is" را انتخاب کنید، Espresso به طور خودکار متنی را که در حال حاضر در عنصر View انتخاب شده درج می کند. می توانید با استفاده از فیلد متنی در کادر Edit assertion متن را مطابق با ادعای مورد نظر خود ویرایش کنید.
- روی Save و Add Another کلیک کنید تا ادعای دیگری ایجاد کنید یا برای بستن پانل های ادعا روی Save Assertion کلیک کنید.
اسکرین شات در شکل 2 نشان می دهد که یک ادعای «متن است» ایجاد شده است تا تأیید شود که عنوان یادداشت «تست مبارک!» است:
در حین ایجاد یک ادعا، میتوانید به تعامل با برنامه خود ادامه دهید، حتی با وجود باز بودن پانلهای ادعا در پنجره «Record Your Test» . ضبط کننده تست اسپرسو به ثبت اقدامات شما ادامه می دهد، اما ادعایی که در حال ویرایش آن هستید، پس از ذخیره شدن، قبل از این فعل و انفعالات ظاهر می شود. اسکرین شات برای ادعا همچنین طرحبندی دستگاه یا شبیهساز را در زمانی که دکمه Add Assertion را فشار میدادید، حفظ میکند.
ضبط را ذخیره کنید
پس از پایان تعامل با برنامه خود و افزودن اظهارات، از مراحل زیر برای ذخیره ضبط و تولید تست اسپرسو استفاده کنید:
- روی Complete Recording کلیک کنید. نام یک کلاس آزمایشی برای پنجره آزمایشی خود انتخاب کنید ظاهر می شود.
- ضبط کننده تست اسپرسو بر اساس نام فعالیت راه اندازی شده به تست شما یک نام منحصر به فرد در بسته خود می دهد. اگر میخواهید نام پیشنهادی را تغییر دهید، از قسمت متنی نام کلاس تست استفاده کنید. روی ذخیره کلیک کنید.
- اگر وابستگیهای اسپرسو را به برنامه خود اضافه نکردهاید، وقتی میخواهید تست خود را ذخیره کنید، یک گفتگوی وابستگیهای اسپرسو از دست رفته ظاهر میشود. برای افزودن خودکار وابستگی ها به فایل
build.gradle
، روی Yes کلیک کنید.
- اگر وابستگیهای اسپرسو را به برنامه خود اضافه نکردهاید، وقتی میخواهید تست خود را ذخیره کنید، یک گفتگوی وابستگیهای اسپرسو از دست رفته ظاهر میشود. برای افزودن خودکار وابستگی ها به فایل
- فایل پس از تولید Espresso Test Recorder به طور خودکار باز می شود و Android Studio کلاس آزمایشی را که در پنجره Project IDE انتخاب شده است نشان می دهد.
- محل ذخیره تست بستگی به محل ریشه تست ابزار دقیق شما و همچنین نام بسته فعالیت راه اندازی شده دارد. برای مثال، آزمایشهای برنامه تست Notes در پوشه src > androidTest > java > com.example.username.appname ماژول برنامهای که آزمون را روی آن ضبط کردهاید، ذخیره میشود.
تست اسپرسو را به صورت محلی انجام دهید
برای اجرای تست اسپرسو، از پروژه استفاده کنید پنجره سمت چپ Android Studio IDE:
- پوشه ماژول برنامه مورد نظر را باز کنید و به تستی که می خواهید اجرا کنید بروید. مکان تست به محل ریشه تست ابزار دقیق شما و نام بسته فعالیت راه اندازی شده بستگی دارد. مثالهای زیر نشان میدهند که یک آزمایش برای برنامه تست Notes کجا ذخیره میشود:
- اگر از نمای Android در پنجره استفاده میکنید، به java > com.example.username.appname (androidTest) بروید.
- اگر از نمای پروژه در داخل پنجره استفاده می کنید، به مسیر src > androidTest > java > com.example.username.appname در پوشه ماژول بروید.
- روی تست کلیک راست کرده و روی Run 'testName' کلیک کنید.
- یا می توانید فایل تست را باز کنید و روی کلاس یا متد تست تولید شده کلیک راست کنید. درباره نحوه اجرای آزمایشات در صفحه Test Your App بیشتر بخوانید.
- در پنجره Select Deployment Target ، دستگاهی را که می خواهید آزمایش را روی آن اجرا کنید، انتخاب کنید. در صورت لزوم، یک دستگاه مجازی Android جدید ایجاد کنید . روی OK کلیک کنید.
پیشرفت تست خود را در پنجره Run در پایین IDE نظارت کنید. Android Studio یک بیلد کامل از پروژه شما را اجرا می کند و برگه ای را با نام تست شما در پنجره Run باز می کند، همانطور که در شکل 3 نشان داده شده است. شما می توانید در این تب بررسی کنید که آیا آزمون شما موفق شده یا ناموفق بوده و همچنین مدت زمان آزمون را بررسی کنید. به اجرا درآورد. پس از پایان تست، برگه "Tests run to completion" را ثبت می کند.
برای کسب اطلاعات بیشتر در مورد نوشتن پیکربندیهای اجرای آزمایشی، بخش «تعریف پیکربندی آزمایشی برای یک کلاس یا روش» را در ایجاد و ویرایش پیکربندیهای اجرای/اشکالزدایی بخوانید.
تست اسپرسو را با Firebase Test Lab برای اندروید اجرا کنید
میتوانید از تستهای تولید شده توسط ضبط کننده تست اسپرسو با Firebase Test Lab برای آزمایش برنامه خود در فضای ابری روی صدها پیکربندی دستگاه استفاده کنید. هیچ هزینه ای برای آزمایش برنامه شما با Test Lab در سهمیه روزانه رایگان در طرح Spark وجود ندارد. برای اجرای آزمایشهای اسپرسو با Firebase Test Lab، یک پروژه Firebase برای برنامه خود ایجاد کنید و سپس دستورالعملهای اجرای آزمایشهای خود را با Firebase Test Lab از Android Studio دنبال کنید.
،ابزار Espresso Test Recorder به شما امکان میدهد بدون نوشتن کد تست، تستهای رابط کاربری را برای برنامه خود ایجاد کنید. با ضبط یک سناریوی آزمایشی، میتوانید تعاملات خود را با یک دستگاه ضبط کنید و برای تأیید عناصر رابط کاربری در عکسهای فوری خاص برنامه خود، اظهاراتی را اضافه کنید. ضبط کننده تست اسپرسو سپس ضبط ذخیره شده را می گیرد و به طور خودکار یک تست رابط کاربری مربوطه ایجاد می کند که می توانید برای آزمایش برنامه خود اجرا کنید.
Espresso Test Recorder تست هایی را بر اساس چارچوب تست اسپرسو ، یک API در تست AndroidX می نویسد. Espresso API شما را تشویق می کند تا تست های رابط کاربری مختصر و قابل اعتمادی را بر اساس اقدامات کاربر ایجاد کنید. این ساختار با بیان انتظارات، تعاملات و اظهارات بدون دسترسی مستقیم به فعالیتها و نماهای برنامه اساسی، از شل شدن تست جلوگیری میکند و سرعت اجرای آزمایش را بهینه میکند.
انیمیشن ها را در دستگاه آزمایشی خود خاموش کنید
قبل از استفاده از ضبط کننده تست اسپرسو، مطمئن شوید که انیمیشن ها را روی دستگاه تست خود خاموش کرده اید تا از نتایج غیرمنتظره جلوگیری کنید. دستورالعمل های تنظیم اسپرسو را دنبال کنید، اما توجه داشته باشید که نیازی به تنظیم دستی یک مرجع وابستگی به کتابخانه اسپرسو ندارید، زیرا ضبط کننده تست این کار را به طور خودکار هنگام ذخیره یک ضبط انجام می دهد. این مراحل فقط باید یک بار برای یک پروژه مشخص انجام شود.
تست اسپرسو را ضبط کنید
تستهای اسپرسو از دو جزء اصلی تشکیل شدهاند: تعاملات UI و اظهارات در عناصر View. تعاملات رابط کاربری شامل اعمال ضربه زدن و تایپ است که ممکن است یک فرد برای تعامل با برنامه شما استفاده کند. ادعاها وجود یا محتوای عناصر بصری روی صفحه را تأیید می کنند. به عنوان مثال، یک آزمایش اسپرسو برای برنامه تست Notes ممکن است شامل تعاملات رابط کاربری برای کلیک کردن بر روی یک دکمه و نوشتن یک یادداشت جدید باشد، اما از اظهارات برای تأیید وجود دکمه و محتوای یادداشت استفاده میکند.
در این بخش نحوه ایجاد هر دوی این مؤلفههای تست با استفاده از ضبط کننده تست اسپرسو و همچنین نحوه ذخیره ضبط تمامشده برای تولید آزمون توضیح داده میشود.
تعاملات UI را ضبط کنید
برای شروع ضبط تست با دستگاه ضبط تست اسپرسو به روش زیر عمل کنید:
- روی Run > Record Espresso Test کلیک کنید.
- در پنجره Select Deployment Target ، دستگاهی را که می خواهید آزمایش را روی آن ضبط کنید، انتخاب کنید. در صورت لزوم، یک دستگاه مجازی Android جدید ایجاد کنید . روی OK کلیک کنید.
- Espresso Test Recorder ساخت پروژه شما را راهاندازی میکند، و قبل از اینکه Espresso Test Recorder به شما اجازه تعامل با آن را بدهد، برنامه باید نصب و راهاندازی شود. پنجره Record Your Test بعد از راهاندازی برنامه ظاهر میشود و از آنجایی که هنوز با دستگاه تعاملی نداشتهاید، پانل اصلی عبارت «هنوز هیچ رویدادی ثبت نشده» را میخواند. برای شروع ثبت رویدادهایی مانند اقدامات "ضربه" و "تایپ" با دستگاه خود تعامل داشته باشید.
توجه : قبل از اینکه بتوانید گزارش تعاملات را شروع کنید، ممکن است یک گفتگو در دستگاه خود مشاهده کنید که میگوید «در انتظار اشکالزدا» یا «در حال پیوست کردن اشکالزدا». Espresso Test Recorder از دیباگر برای ثبت رویدادهای رابط کاربری استفاده می کند. هنگامی که دیباگر متصل می شود، گفتگو به طور خودکار بسته می شود. Force Close را نزنید.
فعل و انفعالات ثبت شده همانطور که در شکل 1 در زیر نشان داده شده است در پانل اصلی در پنجره Record Your Test ظاهر می شود. وقتی تست را اجرا می کنید، تست اسپرسو سعی می کند این اقدامات را به همان ترتیب انجام دهد.
برای تأیید عناصر رابط کاربری، ادعاهایی را اضافه کنید
ادعاها وجود یا محتوای یک عنصر View را از طریق سه نوع اصلی تأیید می کنند:
- text is : محتوای متن عنصر View انتخاب شده را بررسی می کند
- وجود دارد : بررسی می کند که عنصر View در سلسله مراتب نمای فعلی قابل مشاهده در صفحه باشد
- وجود ندارد : بررسی می کند که عنصر View در سلسله مراتب View فعلی وجود نداشته باشد
برای افزودن یک ادعا به آزمون خود، به صورت زیر عمل کنید:
- روی افزودن ادعا کلیک کنید. در حالی که Espresso سلسله مراتب UI و سایر اطلاعات مربوط به وضعیت فعلی برنامه را دریافت می کند، یک گفتگوی ضبط صفحه ظاهر می شود. هنگامی که اسپرسو اسکرین شات را گرفت، گفتگو به طور خودکار بسته می شود.
- طرح بندی صفحه فعلی در پانل سمت راست پنجره "Record Your Test" ظاهر می شود. برای انتخاب یک عنصر View برای ایجاد ادعا، روی عنصر موجود در تصویر کلیک کنید یا از اولین منوی کشویی در کادر Edit assertion در پایین پنجره استفاده کنید. شی انتخاب شده View در یک کادر قرمز برجسته شده است.
- ادعایی را که میخواهید استفاده کنید از منوی کشویی دوم در کادر Edit Assertion انتخاب کنید. اسپرسو منو را با اظهارات معتبر برای عنصر View انتخاب شده پر می کند.
- اگر عبارت "text is" را انتخاب کنید، Espresso به طور خودکار متنی را که در حال حاضر در عنصر View انتخاب شده درج می کند. می توانید با استفاده از فیلد متنی در کادر Edit assertion متن را مطابق با ادعای مورد نظر خود ویرایش کنید.
- روی Save و Add Another کلیک کنید تا ادعای دیگری ایجاد کنید یا روی Save Assertion کلیک کنید تا پانل های ادعا بسته شود.
اسکرین شات در شکل 2 یک ادعای "متن است" را نشان می دهد که برای تأیید اینکه عنوان یادداشت "تست مبارک!" ایجاد شده است:
در حین ایجاد یک ادعا، میتوانید به تعامل با برنامه خود ادامه دهید، حتی با وجود باز بودن پانلهای ادعا در پنجره «Record Your Test» . ضبط کننده تست اسپرسو به ثبت اقدامات شما ادامه می دهد، اما ادعایی که در حال ویرایش آن هستید، پس از ذخیره شدن، قبل از این فعل و انفعالات ظاهر می شود. اسکرین شات برای ادعا همچنین طرحبندی دستگاه یا شبیهساز را در زمانی که دکمه Add Assertion را فشار میدادید، حفظ میکند.
ضبط را ذخیره کنید
پس از پایان تعامل با برنامه خود و افزودن اظهارات، از مراحل زیر برای ذخیره ضبط خود و تولید تست اسپرسو استفاده کنید:
- روی Complete Recording کلیک کنید. نام یک کلاس آزمایشی برای پنجره آزمایشی خود انتخاب کنید ظاهر می شود.
- ضبط کننده تست اسپرسو بر اساس نام فعالیت راه اندازی شده به تست شما یک نام منحصر به فرد در بسته خود می دهد. اگر می خواهید نام پیشنهادی را تغییر دهید از قسمت متنی نام کلاس تست استفاده کنید. روی ذخیره کلیک کنید.
- اگر وابستگیهای اسپرسو را به برنامه خود اضافه نکردهاید، وقتی میخواهید تست خود را ذخیره کنید، یک گفتگوی وابستگیهای اسپرسو از دست رفته ظاهر میشود. برای افزودن خودکار وابستگی ها به فایل
build.gradle
، روی Yes کلیک کنید.
- اگر وابستگیهای اسپرسو را به برنامه خود اضافه نکردهاید، وقتی میخواهید تست خود را ذخیره کنید، یک گفتگوی وابستگیهای اسپرسو از دست رفته ظاهر میشود. برای افزودن خودکار وابستگی ها به فایل
- فایل پس از تولید Espresso Test Recorder به طور خودکار باز می شود و Android Studio کلاس آزمایشی را که در پنجره Project IDE انتخاب شده است نشان می دهد.
- محل ذخیره تست بستگی به محل ریشه تست ابزار دقیق شما و همچنین نام بسته فعالیت راه اندازی شده دارد. برای مثال، آزمایشهای برنامه تست Notes در پوشه src > androidTest > java > com.example.username.appname ماژول برنامهای که آزمون را روی آن ضبط کردهاید، ذخیره میشود.
تست اسپرسو را به صورت محلی انجام دهید
برای اجرای تست اسپرسو، از پروژه استفاده کنید پنجره سمت چپ Android Studio IDE:
- پوشه ماژول برنامه مورد نظر را باز کنید و به تستی که می خواهید اجرا کنید بروید. مکان تست به محل ریشه تست ابزار دقیق شما و نام بسته فعالیت راه اندازی شده بستگی دارد. مثالهای زیر نشان میدهند که یک آزمایش برای برنامه تست Notes کجا ذخیره میشود:
- اگر از نمای Android در پنجره استفاده می کنید، به java > com.example.username.appname (androidTest) بروید.
- اگر از نمای پروژه در داخل پنجره استفاده می کنید، به مسیر src > androidTest > java > com.example.username.appname در پوشه ماژول بروید.
- روی تست کلیک راست کنید و روی Run 'testName' کلیک کنید.
- یا می توانید فایل تست را باز کنید و روی کلاس یا متد تست تولید شده کلیک راست کنید. درباره نحوه اجرای آزمایشات در صفحه Test Your App بیشتر بخوانید.
- در پنجره Select Deployment Target ، دستگاهی را که می خواهید آزمایش را روی آن اجرا کنید، انتخاب کنید. در صورت لزوم، یک دستگاه مجازی Android جدید ایجاد کنید . روی OK کلیک کنید.
پیشرفت تست خود را در پنجره Run در پایین IDE نظارت کنید. Android Studio یک بیلد کامل از پروژه شما را اجرا می کند و برگه ای را با نام تست شما در پنجره Run باز می کند، همانطور که در شکل 3 نشان داده شده است. شما می توانید در این تب بررسی کنید که آیا آزمون شما موفق شده یا ناموفق بوده و همچنین مدت زمان آزمون را بررسی کنید. به اجرا درآورد. پس از پایان آزمایش، برگه "Tests run to completion" را ثبت می کند.
برای کسب اطلاعات بیشتر در مورد نوشتن پیکربندیهای اجرای آزمایشی، بخش «تعریف پیکربندی آزمایشی برای یک کلاس یا روش» را در ایجاد و ویرایش پیکربندیهای اجرای/اشکالزدایی بخوانید.
تست اسپرسو را با Firebase Test Lab برای اندروید اجرا کنید
میتوانید از تستهای تولید شده توسط ضبط کننده تست اسپرسو با Firebase Test Lab برای آزمایش برنامه خود در فضای ابری روی صدها پیکربندی دستگاه استفاده کنید. هیچ هزینه ای برای آزمایش برنامه شما با Test Lab در سهمیه روزانه رایگان در طرح Spark وجود ندارد. برای اجرای آزمایشهای اسپرسو با Firebase Test Lab، یک پروژه Firebase برای برنامه خود ایجاد کنید و سپس دستورالعملهای اجرای آزمایشهای خود را با Firebase Test Lab از Android Studio دنبال کنید.
،ابزار Espresso Test Recorder به شما امکان میدهد بدون نوشتن کد تست، تستهای رابط کاربری را برای برنامه خود ایجاد کنید. با ضبط یک سناریوی آزمایشی، میتوانید تعاملات خود را با یک دستگاه ضبط کنید و برای تأیید عناصر رابط کاربری در عکسهای فوری خاص برنامه خود، اظهاراتی را اضافه کنید. ضبط کننده تست اسپرسو سپس ضبط ذخیره شده را می گیرد و به طور خودکار یک تست رابط کاربری مربوطه ایجاد می کند که می توانید برای آزمایش برنامه خود اجرا کنید.
Espresso Test Recorder تستهایی را بر اساس چارچوب تست اسپرسو ، یک API در تست AndroidX مینویسد. Espresso API شما را تشویق می کند تا تست های رابط کاربری مختصر و قابل اعتمادی را بر اساس اقدامات کاربر ایجاد کنید. این ساختار با بیان انتظارات، تعاملات و اظهارات بدون دسترسی مستقیم به فعالیتها و نماهای برنامه اساسی، از شل شدن تست جلوگیری میکند و سرعت اجرای آزمایش را بهینه میکند.
انیمیشن ها را در دستگاه آزمایشی خود خاموش کنید
قبل از استفاده از ضبط کننده تست اسپرسو، مطمئن شوید که انیمیشن ها را روی دستگاه تست خود خاموش کرده اید تا از نتایج غیرمنتظره جلوگیری کنید. دستورالعمل های تنظیم اسپرسو را دنبال کنید، اما توجه داشته باشید که نیازی به تنظیم دستی یک مرجع وابستگی به کتابخانه اسپرسو ندارید، زیرا ضبط کننده تست این کار را به طور خودکار هنگام ذخیره یک ضبط انجام می دهد. این مراحل فقط باید یک بار برای یک پروژه مشخص انجام شود.
تست اسپرسو را ضبط کنید
تستهای اسپرسو از دو جزء اصلی تشکیل شدهاند: تعاملات UI و اظهارات در عناصر View. تعاملات رابط کاربری شامل اعمال ضربه زدن و تایپ است که ممکن است یک فرد برای تعامل با برنامه شما استفاده کند. ادعاها وجود یا محتوای عناصر بصری روی صفحه را تأیید می کنند. به عنوان مثال، یک آزمایش اسپرسو برای برنامه تست Notes ممکن است شامل تعاملات رابط کاربری برای کلیک کردن بر روی یک دکمه و نوشتن یک یادداشت جدید باشد، اما از اظهارات برای تأیید وجود دکمه و محتوای یادداشت استفاده میکند.
در این بخش نحوه ایجاد هر دوی این مؤلفههای تست با استفاده از ضبط کننده تست اسپرسو و همچنین نحوه ذخیره ضبط تمامشده برای تولید آزمون توضیح داده میشود.
تعاملات UI را ضبط کنید
برای شروع ضبط تست با دستگاه ضبط تست اسپرسو به روش زیر عمل کنید:
- روی Run > Record Espresso Test کلیک کنید.
- در پنجره Select Deployment Target ، دستگاهی را که می خواهید آزمایش را روی آن ضبط کنید، انتخاب کنید. در صورت لزوم، یک دستگاه مجازی Android جدید ایجاد کنید . روی OK کلیک کنید.
- Espresso Test Recorder ساخت پروژه شما را راهاندازی میکند، و قبل از اینکه Espresso Test Recorder به شما اجازه تعامل با آن را بدهد، برنامه باید نصب و راهاندازی شود. پنجره Record Your Test بعد از راهاندازی برنامه ظاهر میشود و از آنجایی که هنوز با دستگاه تعاملی نداشتهاید، پانل اصلی عبارت «هنوز هیچ رویدادی ثبت نشده» را میخواند. برای شروع ثبت رویدادهایی مانند اقدامات "ضربه" و "تایپ" با دستگاه خود تعامل داشته باشید.
توجه : قبل از اینکه بتوانید گزارش تعاملات را شروع کنید، ممکن است یک گفتگو در دستگاه خود مشاهده کنید که میگوید «در انتظار اشکالزدا» یا «در حال پیوست کردن اشکالزدا». Espresso Test Recorder از دیباگر برای ثبت رویدادهای رابط کاربری استفاده می کند. هنگامی که دیباگر متصل می شود، گفتگو به طور خودکار بسته می شود. Force Close را نزنید.
فعل و انفعالات ثبت شده همانطور که در شکل 1 در زیر نشان داده شده است در پانل اصلی در پنجره Record Your Test ظاهر می شود. وقتی تست را اجرا می کنید، تست اسپرسو سعی می کند این اقدامات را به همان ترتیب انجام دهد.
برای تأیید عناصر رابط کاربری، ادعاهایی را اضافه کنید
ادعاها وجود یا محتوای یک عنصر View را از طریق سه نوع اصلی تأیید می کنند:
- text is : محتوای متن عنصر View انتخاب شده را بررسی می کند
- وجود دارد : بررسی می کند که عنصر View در سلسله مراتب نمای فعلی قابل مشاهده در صفحه باشد
- وجود ندارد : بررسی می کند که عنصر View در سلسله مراتب View فعلی وجود نداشته باشد
برای افزودن یک ادعا به آزمون خود، به صورت زیر عمل کنید:
- روی افزودن ادعا کلیک کنید. در حالی که Espresso سلسله مراتب UI و سایر اطلاعات مربوط به وضعیت فعلی برنامه را دریافت می کند، یک گفتگوی ضبط صفحه ظاهر می شود. هنگامی که اسپرسو اسکرین شات را گرفت، گفتگو به طور خودکار بسته می شود.
- طرح بندی صفحه فعلی در پانل سمت راست پنجره "Record Your Test" ظاهر می شود. برای انتخاب یک عنصر View برای ایجاد ادعا، روی عنصر موجود در تصویر کلیک کنید یا از اولین منوی کشویی در کادر Edit assertion در پایین پنجره استفاده کنید. شی انتخاب شده View در یک کادر قرمز برجسته شده است.
- ادعایی را که میخواهید استفاده کنید از منوی کشویی دوم در کادر Edit Assertion انتخاب کنید. اسپرسو منو را با اظهارات معتبر برای عنصر View انتخاب شده پر می کند.
- اگر عبارت "text is" را انتخاب کنید، Espresso به طور خودکار متنی را که در حال حاضر در عنصر View انتخاب شده درج می کند. می توانید با استفاده از فیلد متنی در کادر Edit assertion متن را مطابق با ادعای مورد نظر خود ویرایش کنید.
- روی Save و Add Another کلیک کنید تا ادعای دیگری ایجاد کنید یا برای بستن پانل های ادعا روی Save Assertion کلیک کنید.
اسکرین شات در شکل 2 نشان می دهد که یک ادعای «متن است» ایجاد شده است تا تأیید شود که عنوان یادداشت «تست مبارک!» است:
در حین ایجاد یک ادعا، میتوانید به تعامل با برنامه خود ادامه دهید، حتی با وجود باز بودن پانلهای ادعا در پنجره «Record Your Test» . ضبط کننده تست اسپرسو به ثبت اقدامات شما ادامه می دهد، اما ادعایی که در حال ویرایش آن هستید، پس از ذخیره شدن، قبل از این فعل و انفعالات ظاهر می شود. اسکرین شات برای ادعا همچنین طرحبندی دستگاه یا شبیهساز را در زمانی که دکمه Add Assertion را فشار میدادید، حفظ میکند.
ضبط را ذخیره کنید
پس از پایان تعامل با برنامه خود و افزودن اظهارات، از مراحل زیر برای ذخیره ضبط و تولید تست اسپرسو استفاده کنید:
- روی Complete Recording کلیک کنید. نام یک کلاس آزمایشی برای پنجره آزمایشی خود انتخاب کنید ظاهر می شود.
- ضبط کننده تست اسپرسو بر اساس نام فعالیت راه اندازی شده به تست شما یک نام منحصر به فرد در بسته خود می دهد. اگر میخواهید نام پیشنهادی را تغییر دهید، از قسمت متنی نام کلاس تست استفاده کنید. روی ذخیره کلیک کنید.
- اگر وابستگیهای اسپرسو را به برنامه خود اضافه نکردهاید، وقتی میخواهید تست خود را ذخیره کنید، یک گفتگوی وابستگیهای اسپرسو از دست رفته ظاهر میشود. برای افزودن خودکار وابستگی ها به فایل
build.gradle
، روی Yes کلیک کنید.
- اگر وابستگیهای اسپرسو را به برنامه خود اضافه نکردهاید، وقتی میخواهید تست خود را ذخیره کنید، یک گفتگوی وابستگیهای اسپرسو از دست رفته ظاهر میشود. برای افزودن خودکار وابستگی ها به فایل
- فایل پس از تولید Espresso Test Recorder به طور خودکار باز می شود و Android Studio کلاس آزمایشی را که در پنجره Project IDE انتخاب شده است نشان می دهد.
- محل ذخیره تست بستگی به محل ریشه تست ابزار دقیق شما و همچنین نام بسته فعالیت راه اندازی شده دارد. برای مثال، آزمایشهای برنامه تست Notes در پوشه src > androidTest > java > com.example.username.appname ماژول برنامهای که آزمون را روی آن ضبط کردهاید، ذخیره میشود.
تست اسپرسو را به صورت محلی انجام دهید
برای اجرای تست اسپرسو، از پروژه استفاده کنید پنجره سمت چپ Android Studio IDE:
- پوشه ماژول برنامه مورد نظر را باز کنید و به تستی که می خواهید اجرا کنید بروید. مکان تست به محل ریشه تست ابزار دقیق شما و نام بسته فعالیت راه اندازی شده بستگی دارد. مثالهای زیر نشان میدهند که یک آزمایش برای برنامه تست Notes کجا ذخیره میشود:
- اگر از نمای Android در پنجره استفاده میکنید، به java > com.example.username.appname (androidTest) بروید.
- اگر از نمای پروژه در داخل پنجره استفاده می کنید، به مسیر src > androidTest > java > com.example.username.appname در پوشه ماژول بروید.
- روی تست کلیک راست کرده و روی Run 'testName' کلیک کنید.
- یا می توانید فایل تست را باز کنید و روی کلاس یا متد تست تولید شده کلیک راست کنید. درباره نحوه اجرای آزمایشات در صفحه Test Your App بیشتر بخوانید.
- در پنجره Select Deployment Target ، دستگاهی را که می خواهید آزمایش را روی آن اجرا کنید، انتخاب کنید. در صورت لزوم، یک دستگاه مجازی Android جدید ایجاد کنید . روی OK کلیک کنید.
پیشرفت تست خود را در پنجره Run در پایین IDE نظارت کنید. Android Studio یک بیلد کامل از پروژه شما را اجرا می کند و برگه ای را با نام تست شما در پنجره Run باز می کند، همانطور که در شکل 3 نشان داده شده است. شما می توانید در این تب بررسی کنید که آیا آزمون شما موفق شده یا ناموفق بوده و همچنین مدت زمان آزمون را بررسی کنید. به اجرا درآورد. پس از پایان آزمایش، برگه "Tests run to completion" را ثبت می کند.
برای کسب اطلاعات بیشتر در مورد نوشتن پیکربندیهای اجرای آزمایشی، بخش «تعریف پیکربندی آزمایشی برای یک کلاس یا روش» را در ایجاد و ویرایش پیکربندیهای اجرای/اشکالزدایی بخوانید.
تست اسپرسو را با Firebase Test Lab برای اندروید اجرا کنید
میتوانید از تستهای تولید شده توسط ضبط کننده تست اسپرسو با Firebase Test Lab برای آزمایش برنامه خود در فضای ابری روی صدها پیکربندی دستگاه استفاده کنید. هیچ هزینه ای برای آزمایش برنامه شما با Test Lab در سهمیه روزانه رایگان در طرح Spark وجود ندارد. برای اجرای آزمایشهای اسپرسو با Firebase Test Lab، یک پروژه Firebase برای برنامه خود ایجاد کنید و سپس دستورالعملهای اجرای آزمایشهای خود را با Firebase Test Lab از Android Studio دنبال کنید.