۱- توضیح دهید که Appium چیست؟ Appium یک Framework ویژه UI Testing برای اپلیکیشن موبایل به صورت Open Source، رایگان و توزیع شده(Distributed) است. ۲- قابلیتهای Appium را لیست کنید؟ قابلیتهای Appium عبارتند از: تست وب ارائه Cross-Platform برای اتوماسیون اپلیکیشن موبایل به صورت ترکیبی(Hybrid) و بومی(Native) پشتیبانی پروتکل JSON wire نیازی به کامپایل مجدد برنامه وجود ندارد پشتیبانی از …
ادامه نوشته »ابزار
آموزش SpecFlow-قسمت هفتم و آخر: خودکارسازی روی Use Caseهای تحت وب
هدف SpecFlow پر کردن فاصله و ارتباط میان مشتریان و خبرگان دامنه با برنامهنویسان است. برای این منظور در SpecFlow سناریوهای متن آزاد به پیادهسازی مقید میشوند. در این قسمت از آموزش برای خودکارسازی تست روی Use Caseهای تحت وب صحبت خواهیم کرد. چارچوبهای متفاوتی برای این کار وجود دارند. ما در این آموزش به معرفی چارچوب WatiN میپردازیم. این چارچوب امکان تست …
ادامه نوشته »آموزش Robolectric-قسمت ششم: پیکربندی دستگاه(Device)
Robolectric شبیهسازی انواع مختلف پیکربندی Device را ساده میکند. به طور خاص، Propertyهایی که کلاس ‘android.content.res.Configuration’ را تشکیل میدهند میتوانند همانطور که در اینجا توضیح داده شده است در متد تست، کلاس تست، بسته یا سطح Siute، مشخص شوند. تنظیم پیکربندی دستگاه پیکربندی دستگاه Android را میتوان با استفاده از Property ویژه Config به نام ‘qualifiers’ مشخص کرد: از نسخه ۳٫۶، …
ادامه نوشته »آموزش SpecFlow-قسمت ششم: اجرای سناریوهای تست در Specflow
در این قسمت از آموزش نحوه اجرای سناریوهای تست در SpecFlow را خواهیم آموخت. SpecFlow برای اجرای تستهای پذیرش، چارچوبهای Unit Test متفاوتی را پشتیبانی میکند. به عنوان نمونه Nunit، Xunit، MS Test و…. . بنابراین برای اجرای تست پذیرش لازم است ابتدا چارچوب Unit Test خود را انتخاب نمایید. در این آموزش Nunit به عنوان چارچوب Unit Test مورد …
ادامه نوشته »آموزش Robolectric-قسمت پنجم: پیکربندی Robolectric
با استفاده از فایلهای ‘robolectric.properties’ برای پیکربندی سطح بسته(Package-Level Configuration) یا Config’ Annotation@'(حاشیهنویسی ‘Config@’) برای پیکربندی سطح کلاس(Class-Level) یا سطح متد(Method-Level)، میتوان چندین جنبه از رفتار Robolectric را در زمان اجرا پیکربندی نمود. ‘@Config’ Annotation به منظور پیکربندی Robolectric برای یک Test Class یا Test Method منفرد، از حاشیهنویسی ‘Config@’ استفاده کنید. حاشیهنویسی میتواند به کلاسها و متدها اعمال شود. مقادیر …
ادامه نوشته »آموزش Appium برای تست اپلیکیشنهای موبایل Android و iOS-قسمت پنجم: Appium و Maven
Apache Maven یک ابزار مدیریت پروژه مبتنی بر جاواست. این ابزار قادر است یک چارچوب چندوظیفهای(Multitasking Framework) برای توسعهدهندگان فراهم نماید. این قابلیت، چرخه حیات کامل Build را تسهیل میکند. Maven از قبل تعریف شده و در فرمت XML به اسم POM-Project Object Model نامگذاری شده است و به ‘pom.xml’ ارجاع میشود. با استفاده از چارچوب Maven میتوانیم به راحتی …
ادامه نوشته »آموزش SpecFlow-قسمت پنجم: مقیدسازی Method names-underscores و Method names- pascal case
در ادامه آموزش، در این بخش مدلهای مقیدسازی Method name- underscores و Method name- pascal case تشریح میگردند. تعاریف بسیاری از گامها بدون استفاده از عبارات منظم امکان پذیر است. در مدل Method name- underscores، در نامگذاری متد از علامت (_) underscore استفاده میشود و برخلاف حالت عبارات منظم،[Given][When][Then] خالی بوده و شامل هیچ عبارتی نیستند. برای مشخصسازی پارامترها در …
ادامه نوشته »آموزش Robolectric-قسمت چهارم: اولین تست خود را بنویسید
فرض کنیم شما یک Activity Layout دارید که صفحه Welcome را به شما نشان میدهد: ما قصد داریم تستی بنویسیم که نشان میدهد هنگامی که یک کاربر بر روی یک دکمه کلیک میکند، برنامه LoginActivity راهاندازی میشود. برای تست کردن چنین چیزی، میتوانیم چک کنیم زمانی که یک کاربر بر روی دکمه “Login” کلیک میکند، کار درستی را آغاز کنیم. …
ادامه نوشته »آموزش SpecFlow-قسمت چهارم: مقیدسازی Regular expressions
در این قسمت در ارتباط با مقید سازی گامها در SpecFlow با مدل Regular expressions صحبت خواهیم کرد. همان طور که پیشتر عنوان شد با استفاده از مقیدسازی(Binding) گامها، بین سناریوها به زبان آزاد و متدهای .NET به عنوان گامهای تست ارتباط برقرار میشود. برای این منظور در SpecFlow سه مدل Regular expressions in attributes ، Method names-underscores و Method names- …
ادامه نوشته »آموزش Robolectric-قسمت سوم: استفاده از Robolectric با دیگر محیطهای Build
Android Studio + Gradle – AGP < 3.0 در نسخههای قبلی شما باید فیلد ‘constants’ که به ‘BuildConfig.class’ تولید شده توسط Gradle اشاره میکند را مشخص کنید. Robolectric از constants در کلاس برای محاسبه مسیرهای خروجی مورد استفاده Gradle هنگام ساختن پروژه، بهره میگیرید. بدون این مقادیر، Robolectric قادر نخواهد بود Manifest، Resourceها و Assetهای Merg شده را پیدا کند. این کار …
ادامه نوشته »