وبلاگ - Top 10

0
307
5 فریم ورک برتر جهت تست در اندروید

5 فریم ورک برتر جهت تست در اندروید

سیستم عامل اندروید به سرعت در حال گسترش است. OEM های جدید موبایل به طور مشهود در هر گوشه از جهان در حال ظهور بوده و اندازه های گوناگون صفحات نمایش، ROM/firmware و چیپ ست های مختلفی را ارائه می دهند. برای برنامه نویسان اندروید مقابله با این گسستگی کاری دشواریست.

خوشبختانه برنامه نویسان اندروید و یا IOS به صورت نامحدودی به سیستم های cloud-based همچون Testdroid Cloud دسترسی دارند و از این رو قادر به انجام تست هایی در مقیاس عظیم جهت کسب اطمینان از کیفیت کارشان هستند. علاوه بر این فریم ورک های تست اندروید به طور قابل ملاحظه ای کار برنامه نویسان را راحت کرده است.

در این مقاله قصد بر این است تا شما را با 5 فریم ورک تستی که برای اندروید ساخته شده اند آشنا کنیم.

 Robotium

بدون شک Robotium پراستفاده ترین فریم ورک تست برای اندروید است که از زمان ظهور سیستم عامل اندروید روی کار آمده است. مشابه Selenium این فریم ورک نیز با کمک API عملیات تست را آسان کرده است.

Robotium یک کتابخانه open source دارد که از JUnit و سایر متدهای تست واسط کاربر یا همان UI نشات گرفته است. Robotium تست های جعبه سیاه خودکار بسیار قوی را ارائه می دهد که قابل استفاده برای اپلیکیشن های native و hybrid و همچنین تست های وب می باشند. با بهره گیری از این فرم ورک شما می توانید سناریوهای تست مختلفی طراحی کرده و با در اختیار داشتن کدهای منبع، اپلیکیشن اندروید خود را تست کنید.

نمونه کدهای Robotium:

برای راحتی کار شما Testdoid Recorder ابزاری جهت ایجاد اسکریپت تستی ساخته است.با انجام هر نوع فعالیتی در گوشی همه چیز مرحله به مرحله ثبت شده و برای تغییرات آتی به Javascript تبدیل می گردند.

به علاوه شما حق دانلود و استفاده از کتابخانه ExtSolo را که شامل متدهایی که در Robotium جایگذاری نشده اند را دارید. برای مثال بعضی از این کتابخانه ها عبارتنند از:

مقیاس گذاری خودکار برای x و Y با هر وضوح صفحه ای

درگ های muti-path

تصویربرداری خودکار از صفحه در صورت عدم موفقیت تست

مکان های ساختگی

تغییر زبان گوشی

کنترل ارتباط WiFi

 uiautomator

بدون شک فرم ورک Robotium ابزاری خوبی برای تست است، ولی با این حال uiautomator به شما اجازه می دهد در زمینه تست اپلیکیشن ها و بازی ها یک گام فراتر روید. فریم ورک تست گوگل به شما امکان تست واسط کاربری اپلیکیشن native اندرویدی را بر روی یک یا چند گوشی می دهد. مزیت دیگر uiautomator امکان انجام تست ها با اجرای JUnit و امتیازات بیشتر است، به این معنا که می توانند در فرآیند های گوناگون گسترش یابند. این فریم ورک همچنین شامل 5 کلاس گوناگون برای استفاده توسط برنامه نویسان می باشد که در زیر آورده شده اند:

با توجه یا تاریخ ایجاد آن تنها بر روی APIهای سطح 16 یا بالاتر قابل استفاده است. یکی دیگر از عیوب uiautomator عدم پشتیبانی از webview می باشد و هیچ راهی برای دسترسی مستقیم به object های اندروید وجود ندارد.

نمونه کدهای uiautomator:

 Espresso

Espresso آخرین فریم ورک خودکاری است که گوگل به صورت open source ساخته و به برنامه نویسان و آزمونگرها امکان توافق بر روی واسط کاربری را می دهد. Espresso دارای API کوچک، قابل پیش بینی بوده که در Android instrumentation framework ساخته شده است و یادگیری آن آسان است. شما به سرعت می توانید تستی مختصر و قابل اعتماد برای واسط کاربری اندروید خود بسازید. این فریم ورک با API سطوح 8 یا همان Froyo و 10 Gingerbread و 15 یا Ice Cream Sandwich و نسخه های جدید کار می کند. این فریم ورک قابل اطمینان و همگام با واسط کاربری بوده و فرآیند تست را به سرعت انجام می دهد، به این معنا که همزمان با اجرای برنامه شروع شده و بعد از چند میلی ثانیه با متوقف شدن آن کارش را به پایان می رساند،Espresso نیز از webview پشتیبانی نمی کند.

نمونه کدهای Espresso:

 Calabash

Calabash یک فریم ورک دیگر جهت تست خودکار برای اندروید و IOS است که برای اپلیکیشن های native و hybrid قابل استفاده می باشد. دستورات ساده Calabash ساخت و اجرای تست ها را برای اپلیکیشن های موبایل برای افراد غیر حرفه ای نیز ممکن می سازد. تست های Calabash در Cucumber توصیف شده و در هنگام اجرا به Robotium یا Frank تبدیل می شوند. این فریم ورک از 80 دستور مختلف پشتیبانی می کند و کنترلگرهای جدید می توانند در Ruby یا Java جایگذاری شوند.

نمونه کدهای Calabash:

 Appium

Appium یک فریم ورک تست خودکار برای اپلیکیشن های native، hybrid و mobile-web می باشد که برای سیستم عامل های اندروید و IOS قابل استفاده است. با استفاده از JSONWireProtocol با اپلیکیشن های اندروید و IOS و با بهره گیری از Selenium’s WebDirver به تعامل می پردازد. این فریم ورک از uiautomator با API سطح کمتر از 16، Seledroid با API سطح  کمتر از 16، IOS به وسیله UI Automation و موبایل وب به عنوان درایور Selenium پشتیبانی می کند.

از بزرگترین مزایای Appium امکان نوشتن اسکریپت با هر زبان برنامه نویسی اعم از java، Objective-C، JavaScript، PHP، Ruby، Python، C،#C  و غیره است، به علاوه اجباری برای انتخاب ابزار وجود ندارد، با پلت فرم هایی مانند اندروید و IOS سازگار بوده و نیازی به نصب و پیکربندی دستگاه برای تست وجود ندارد. علاوه بر این در صورت آشنایی با Selenium می توانید به آسانی از Appium برای تست های خود استفاده نمایید چرا که در هر دوی آنها WebDriver و DesiredCapabilities به روشی مشابه استفاده شده اند. پیکربندی اپلیکیشن برای اجرا بر روی Appium شباهت های بسیاری به Selenium دارد.

نمونه کدهای Appium:

جمع بندی

Comparing-Android-Testing-Frameworks

در اینجا ما 5 فریم ورک تست برای ساخت و اصلاحات اندروید  را در اختیار شما قرار دادیم که مطمئنا دارای مزایا و معایب مربوط به خود هستند. Appium گزینه ی خوبی برای تست همزمان بر روی سیستم عامل های اندروید و IOS است، ولی چنانچه شما یک برنامه نویس وفادار به اندروید هستید در این صورت ما استفاده از Robotium را به شما پیشنهاد می دهیم. استفاده از Testdroid Recorder در زمان و پول شما صرفه جویی می کند چرا که تولید اسکریپت های تست به صورت رایگان ارائه می گردد. در مجموع با تفکر درباره نیازهایتان، اعم از تست کارایی، تست قابلیت ها، تست واسط کاربری و غیره می توانید یکی از فریم ورک های تست را برای خود برگزینید.

منبع:

http://testdroid.com

این نوشته را به گوگل توصیه کنید :

بسته های آموزشی جذاب!بیشتر