۱۰- نیازمندی اصلی برای نوشتن تست Appium چیست؟
برای نوشتن تست Appium شما به موارد ذیل نیاز دارید:
- Driver Client: ابزار Appium مانند یک کاربر میتواند موبایل اپلیکیشنها را اجرا کرده و آنها را راهاندازی(Drive) کند. شما با استفاده از یک Client Library، تستهای Appium خود را مینویسید، که مراحل تست شما را بستهبندی نموده و آنها را به Appium HTTP Server ارسال میکند.
- Appium Session: شما ابتدا باید یک Session را Initialize(ایجاد/مقداردهی اولیه) نمایید، آنچنانکه تست Appium در Session جای بگیرد. هنگامی که اتوماسیون برای یک Session انجام شد، برای آن Session پایان یافته و منتظر Session بعدی میماند.
- Desired Capability(قابلیتهای مورد نیاز): برای Initialize کردن یک Appium Session باید پارامترهای خاصی به نام “Desired Capability” را تعریف کنید. این پارامترها نوع اتوماسیونی که از Appium Server نیاز است را تعیین میکنند.
- Driver Command: شما میتوانید مراحل تست خود را با استفاده از یک مجموعه بزرگ از Commandها بنویسید.
۱۱- خطاهای محتملی که ممکن است با استفاده از Appium با آنها مواجه شوید؟
خطاهای محتملی که ممکن است در Appium با آنها مواجه شوید عبارتند از:
- خطا ۱: The following desired capabilities are needed but not provided: Device Name, platformName- ترجمه: Desired Capabilityهای ذیل مورد نیاز است اما فراهم نشده است: نام دستگاه، نام پلتفرم.
- خطا ۲: Could not find adb. Please set the ANDROID_HOME environment variable with the Android SDK root directory path- ترجمه: adb یافت نشد. لطفا متغیر محیطی ANDROID_HOME را با مسیر دایرکتوری root SDK تنظیم کنید.
- خطا ۳: openqa.selenium.SessionNotCreatedException: A new session could not be created – ترجمه: openqa.selenium.SessionNotCreatedException: یک Session جدید نمیتواند ایجاد شود.
- خطا ۴: ?How to find DOM element or XPath in a mobile application – ترجمه: چگونه می توان عنصر DOM یا XPath را در یک برنامه تلفن همراه پیدا کرد؟
۱۲- آیا شما برای اجرای تست در Appium به یک سرور نیاز دارید؟
خیر، شما برای اجرای تست در Appium نیازی به سرور ندارید. Appium یک معماری دو لایه را تسهیل میکند که در آن یک Test Machine به یک Test Server که Appium را اجرا نموده و همه چیز را خودکار میکند، متصل میگردد. شما میتوانید Appium را در همان ماشینی که تست شما در آن اجرا میشود داشته باشید.
۱۳- آیا میتوانم در حالیکه با Appium مشغول تست هستم با استفاده از JavaScript با اپلیکیشن خود تعامل داشته باشم؟
بله، این امکان وجود دارد. هنگامی که دستورات در Appium اجرا میشوند، سرور اسکریپت را جهت اجرا به اپلیکیشن بستهبندی شدۀ شما در یک Function ناشناس ارسال میکند.
۱۴- توضیح دهید که سختترین سناریوها برای تست با Appium چه سناریوهایی هستند؟
سختترین سناریو برای تست با Appium تبادل اطلاعات(Data Exchange) است.
۱۵- آیا میتوانیم در حالی که از Appium استفاده میکنیم، تستها را در یک محیط Multi-Thread شده اجرا کنیم؟
بله، شما میتوانید تست را در یک محیط Multi-Tread شده اجرا کنید، اما باید اطمینان حاصل کنید که بیش از یک تست به صورت همزمان روی یک Appium Server اجرا نمیشود.
۱۶- برای اتوماتیکسازی در Android با استفاده از Appium، شما به APK مربوط به اپلیکیشن نیاز دارید یا به یک اپلیکیشن در Workspace خود؟
در Android، شما فقط نیازمند فایل APK هستید تا با استفاده از Appium اتوماتیکسازی را انجام دهید.
۱۷- توضیح دهید که Appium Package Master چیست؟ چگونه Package ایجاد کنیم؟
Appium Package Master مجموعهای از ابزارهای مدیریت برای ایجاد Appium Packageهاست. به عنوان مثال برای ایجاد Package شما میتوانید از این کد استفاده کنید:
# using es7/babe1 Gulp create-package –n <package-name> #regular es5 Gulp create-package ---nobabe1 –n <package-name> The package will be generated in the out/<package-name>
۱۸- توضیح دهید که Test Frameworkها چگونه توسط Appium پشتیبانی میشوند؟
Appium از Test Frameworkها پشتیبانی نمیکند چون نیازی به پشتیبانی از آنها وجود ندارد. Appium را میتوان با هر Frameworkای که بخواهید استفاده نمایید.
تمام قسمتهای آموزش Appium، به صورت دستهبندی شده از اینجا در دسترس است.