قسمت اول را از اینجا مطالعه کنید.
قسمت سوم را از اینجا مطالعه کنید.
۶- Robotium
این یک ابزار Android UI Testing است. با Robotium نوشتن Test Caseهای قدرتمند اتوماتیک Black Box برای برنامههای کاربردی آندروید آسان است. بنابراین، نیازی به اطلاعات بیشتر در مورد ساختار برنامههای اندرویدی یا کلاسهای پیادهسازی شده نیست. همه نیاز آنها نام Main Class و و مسیریست که به آن لینک میشوند. این ابزار از آندروید نسخه ۱٫۶ و بالاتر پشتیبانی میکند. تستها در Robotium در جاوا نوشته میشوند. در واقع، Robotium یک کتابخانه برای Unit Testهاست.
اما کار و زمان زیادی برای آمادهسازی تستها بوسیله Robotium صرف میشود، چرا که به منظور اتومات کردن تستها باید Source Code برنامه کار کند. این ابزار برای تعامل با نرمافزار سیستمی کمتر مناسب است. Robotium نمیتواند یک گوشی هوشمند یا تبلت را قفل کرده و باز کند. هیچ Play یا Record Functionای در Robotium وجود ندارد، و هیچ اسکرینشاتی ارائه نمیشود.
مزایا:
- با حداقل آگاهی از پروژه، میتوان Test Caseهای قدرتمندی درست کرد
- این برنامه به طور خودکار چندین فعالیت Android را مدیریت میکند
- برای ایجاد Solid Test Caseها، زمان کمتری نیاز است
- به منظور اجرای تستها به عنوان بخشی از Continuous Integration به راحتی با Ant یا Maven همگامسازی(Sync) میشود
- امکان اجرا Test Caseها روی برنامههایی که از پیش نصب شدهاند
- این ابزار میتواند Code Coverage را برای تستهای Robotium بدست آورد
برای یادگیری بیشتر به اینجا مراجعه کنید
۷- Selendroid
Selendroid یک چارچوب اتوماسیون تست است که UI آندرویدی اپلیکیشنهای بومی(Native) یا ترکیبی(Hybrid) و وب موبایل را درگیر میکند. تستهای API با استفاده از Selenium 2 Client نوشته میشوند.
مزایا:
- این ابزار کاملا با JSON wire protocol سازگار است
- هیچ تغییری در برنامه تحت تست برای اتومات کردن آن نیاز نیست
- مفهوم مشابه برای اتوماسیون برنامههای بومی یا ترکیبی
- با استفاده از انواع مکانیابها، میتوان عناصر UI را پیدا کرد
- این ابزار میتواند همزمان با چندین دستگاه Android همکاری کند
- Selendroid از Hot Plugging دستگاههای سختافزاری پشتیبانی میکند
Selendroid با یک ابزار مفید به نام Selenium Inspector همراه است. این ابزار به شما اجازه میدهد وضعیت فعلی UI برنامه خود را بررسی کنید.
برای یادگیری بیشتر به اینجا مراجعه کنید
۸- MonkeyRunner
ابزار Monkeyrunner یک API برای نوشتن برنامههایی فراهم میکند که یک دستگاه اندرویدی یا مقلد(Emulator) را از خارج کد Android کنترل میکنند. این ابزار پس از Robotium در رابطه با Performance میآید. تستها در پایتون نوشته میشوند. برای ساخت تستها میتوان از یک ابزار Recording استفاده نمود.
تنها ضعف MonkeyRunner این است که لازم است اسکریپتها را برای هر دستگاه بنویسید و هر بار که UI برنامۀ تحت تست تغییر میکند، تستها نیاز به تعدیل دارند.
مزایا:
- این ابزار میتواند چندین دستگاه را کنترل کند
- برای تست خودکار، لازم نیست یک نفر با کد منبع درگیر شود
- این ابزار را میتوان برای تست Functional به صورت اتومات استفاده کرد
- Monkeyrunner را میتوان برای تست رگرسیون نیز استفاده کرد
- Jython به MonkeyRunner API اجازه میدهد تا با برنامه Android ارتباط برقرار کند
برای یادگیری بیشتر به اینجا مراجعه کنید
۹- Calabash
Calabash شامل کتابخانههایی است که اجازه میدهد Test-Code را به صورت برنامهنویسی با برنامههای بومی و ترکیبی تعامل نماید.
مزایا:
- این ابزار APIهایی فراهم میکند که ویژه برنامههای بومی موجود روی دستگاههای لمسی است
- Calabash شامل کتابخانههایی است که اجازه میدهد Test-Code را به صورت برنامهنویسی با برنامههای بومی و ترکیبی تعامل نماید.
- این برنامه از Cucumber پشتیبانی میکند، که کارشناسان کسب و کار و کارکنان غیرفنی QA آن را آسانتر درک میکنند
Calabash را از اینجا دانلود کنید
۱۰- Frank
Frank یک ابزار اتوماسیون سبک مبتنی بر UI است. Frank ابزاریست که از ترکیب دستورات Cucumber و JSON استفاده میکند. این برنامه برای اپلیکیشنهای بومی iOS و برخی دیگر از امکاناتش به صورت Selenium معرفی شده است.
مزایا:
- این ابزار دارای Clean Syntax(مانند Selector Syntax) است، که موجب تست نسبتا مقاوم میشود
- این ابزار با مراحل از پیش تعریف شده همراه است، بدین ترتیب شما میتوانید از آنها بلافاصله برای تستها استفاده نمایید
- این ابزار بر محوریت Cucumber به پیش میرود
- با CI ادغام میشود
- این ابزار میتواند تستهای خود را هم در Simulator و هم در دستگاه انجام دهد
- این ابزار یک ویدیو از تستهای شما رکورد مینماید تا برنامه را در حال کار نشان دهد
Frank را از اینجا دانلود کنید
قسمت اول را از اینجا مطالعه کنید.
قسمت سوم را از اینجا مطالعه کنید.