این روزها تست اپلیکیشنهای موبایلی به یک چالش جدی در سرتاسر دنیا تبدیل شده است. غالب اوقات این اپلیکیشنها به دلایل مختلف به خوبی تست نمیشوند. آمارهایی که در این راستا صادر میشود، نشان دهنده ریسکهاییست که در این حوزه با آن مواجه هستیم. تیستن یک اینفوگرافی در این رابطه آماده کرده است، که ما را بیش از پیش به …
ادامه نوشته »بایگانی برچسب: Mobile Testing
مشکل Compatibility در گوشی SAMSUNG Galaxy S10
مقرر بود گوشی Samsung Galaxy S10 که پرچمدار بعدی سامسونگ است تا یک الی دو ماه آینده معرفی شود. اما شنیدهها حاکی از آن است که حسگر اثر انگشت اولتراسونیک که در پایین صفحه نمایش تعبیه شده است، با محافظ صفحه نمایش این گوشی به خوبی کار نمیکند. مشکل بدین گونه است که وقتی محافظ صفحه نمایش روی حسگر جدید اولتراسونیک …
ادامه نوشته »آموزش Robolectric-قسمت پانزدهم و پایانی: Shadowها(بخش دوم)
Shadowهای Customize شده Robolectric یک محصول و کار در حال پیشرفت است و طراحان آن اعتقاد دارند، به همه کسانی که تمایل به مشارکت در مجموعه طراحان Robolectric و رفع باگها و شکافهای موجود در این ابزار دارند، خوش آمد گفته و آنها را برای این همکاری تشویق مینماید. با این حال، اگر افرادی میخواهند رفتار Shadow را به گونهای …
ادامه نوشته »آموزش Robolectric-قسمت چهاردهم: Shadowها(بخش اول)
Robolectric با ایجاد یک محیط Runtime که شامل کد واقعی Android Framework است، کار میکند. این بدین معنیست که وقتی تستهای شما یا کد تحت تست در Android Framework فراخوانی میشود، یک تجربه واقعگرایانه بدست میآورید، چرا که در اکثر موارد همان کد اجرا میشود؛ همانطور که در یک دستگاه واقعی چنین اتفاقی میافتد. با این وجود محدودیتهایی هم وجود دارد: …
ادامه نوشته »آموزش Robolectric-قسمت سیزدهم: راهنمای مشارکت کننده
آغاز Dependency(وابستگیها): Android SDK با ابزارها، افزونهها و APIهای Google برای آخرین سطح API نصب شدهاند. متغیرهای محیط Android را تنظیم کنید: این Repo را کلون(Clone) کرده و Fork کنید: یک Feature Branch(شاخه امکان) برای ایجاد تغییرات خود ایجاد نمایید: تمام Android Dependencyهای مورد نیاز را به Local Maven Repository خود کپی نمایید: یک Full Build(بیلد کامل) از تمام Shadowها انجام …
ادامه نوشته »آموزش Robolectric-قسمت دوازدهم: سفارشیسازی Test Runner
شرایط مختلفی وجود دارد که شما تمایل دارید تا Robolectric Test Runner را سفارشیسازی(Customize) نمایید تا بدین ترتیب قبل از اینکه همه تستها و یا حتی قبل از اینکه هر Test Method اجرا شود، برخی عملیاتها را انجام دهید. یک مثال خوب برای این موضوع مقداردهی اولیه(Initialize) برای Dependency Injection Framework با مجموعهای از Dependencyهای مختلف برای تست شماست. خوشبختانه Robolectric …
ادامه نوشته »آموزش Robolectric-قسمت یازدهم: یکپارچهسازی Build System
با آغاز به کار Robolectric 3.3، این Test Runner روی Classpath به دنبال فایلی با نام ‘com/android/tools/test_config.properties/’ خواهد گشت. اگر فایل مربوطه را پیدا کرد، برای آمادهسازی Manifest، Resource، و Asset Locationهای تست استفاده میشود؛ و البته این بدون نیاز به تعیین در تستهای شما به یکی از دو شکل زیر است: ‘@Config(constants=BuildConfig.class)’ ‘@Config(manifest=”…”, res=”…”, assets=”…”)’ این به پیادهسازان Build …
ادامه نوشته »آموزش Robolectric-قسمت دهم: Best Practiceها
۱- روی کلاسهای Android که توسط دیگر کدهای Android عمل میکنند(مانند ‘Context’، ‘SharedPreferences’ و غیره) Mock یا Spy نکنید. Stub کردن(Stubbing ) بسیار شکننده است و میتواند منجر به شکست در ارتقاء Robolectric یا پلتفرم Android شود. استثنائات کوچک این قانون، کلاسهایی با پاسخگویی بسیار محدود مانند Event Listenerها هستند. ۲- Layout Inflation را در تست Robolectric خود تست نموده …
ادامه نوشته »آموزش Appium برای تست اپلیکیشنهای موبایل Android و iOS-قسمت هفتم و آخر: ۱۸ پرسش و پاسخ مهم درباره Appium(بخش دوم)
۱۰- نیازمندی اصلی برای نوشتن تست Appium چیست؟ برای نوشتن تست Appium شما به موارد ذیل نیاز دارید: Driver Client: ابزار Appium مانند یک کاربر میتواند موبایل اپلیکیشنها را اجرا کرده و آنها را راهاندازی(Drive) کند. شما با استفاده از یک Client Library، تستهای Appium خود را مینویسید، که مراحل تست شما را بستهبندی نموده و آنها را به Appium …
ادامه نوشته »آموزش Robolectric-قسمت نهم: استفاده از Add-on Moduleها
به منظور کاهش تعداد وابستگیهای خارجی روی اپلیکیشن در حال تست، shadows در Robolectric به Add-on Packageهای مختلف تقسیم میشود. shadows فقط برای کلاسهای فراهم شده در base Android SDK بوسیله Main Robolectric Module ارائه شده است. shadows تکمیلی برای چیزهایی مانند appcompat یا Support Library توسط Add-on Moduleها ارائه شده است. جدول زیر Add-on Shadow Packageهای موجود را لیست میکند: …
ادامه نوشته »