ساخت اولین تست دسکتاپ نسبتا طولانیست، لذا طی سه یا چهار قسمت تقدیم خوانندگان خواهد شد
تحلیل نتایج تست
TestComplete تمام یک Log کامل از تمام عملکردهای انجام شده در حین تست را نگهداری میکند. این لینکها به Test Resultها در پنل Project Explorer ذیل Node(گره) Project Suite Logs > Orders Log نمایش داده میشود. این فضای کاری(Workspace) اصلی برای جستجوی سابقه(History) پروژه و Project Suite است. هر گره مربوط به یک Test Run است. یک تصویر در سمت چپ گره مشخص میکند که آیا اجرای تست(Test Run) متناظر با موفقیت Pass شده است یا خیر:
توجه داشته باشید که TestComplete پس از اتمام تست به طور خودکار گرهها را برای آخرین نتایج اضافه میکند. به این معنی که نتایج در هنگام اجرای تست نمایش داده نمیشود(اگر شما میتوانید اجرای تست را متوقف کنید، میتوانید حدودی از نتایج تست را مشاهده کنید).
از آنجایی که ما تا کنون تنها یک تست را اجرا کردهایم، تنها یک Log Node در Project Explorer داریم. به طور پیشفرض، TestComplete به طور خودکار مطالب این گره را در پانل Workspace باز میکند. شما همچنین میتوانید هر زمان که میخواهید این Log را ببینید. برای انجام این کار، بر روی نتیجه مورد نظر در پنل Project Expelorer راست کلیک کرده و Select را از منوی Context انتخاب کنید.
نکته: به طور پیش فرض، TestComplete تمام نتایج تست را در فایلهای Log ذخیره میکند. تعداد Log Fileها با هر تست تکرار میشوند و این باعث افزایش مصرف حافظه خواهد شد. برای کاهش استفاده از حافظه، میتوانید فایلها را به صورت دستی از Log حذف کنید یا تعداد فایلهای Log که باید نگهداری شوند را محدود کنید.
در مثال ما، Log به شرح زیر است:
پنجره Log، نتایج یک Test Run را در یک زمان نشان میدهد. در سمت چپ پنجره، یک ساختار شبه درختی از تستهایی که در طی Run اجرا شدهاند، وجود دارد؛ Node هر یک از این تستها میتواند برای نمایش نتایج آنها انتخاب شود. برای مثال ما فقط یک تست را اجرا کردیم، بنابراین در مورد ما این درخت تنها حاوی یک گره است. نماد گره نشان میدهد که آیا تست با موفقیت انجام شد یا شکست خورد.
این Test Log حاوی Error(خطا)، Warning(هشدار)، Informative(اطلاع رسانی) و انواع دیگر پیامهاست. آیکون سمت چپ، نوع پیام را نشان میدهد. با استفاده از چکباکسها در بالای لیست پیامها میتوانید پیامها را بر اساس نوع آنها مخفی کرده یا نمایش دهید.
برای هر پیام، Log نیز زمانی را نشان میدهد که هر Action انجام شده است. شما میتوانید آن را در ستون Time مشاهده کنید.
TestComplete ممکن است متن و تصاویر اضافی را همراه با پیام ارسال کند. برای مشاهده آنها، به سادگی پیام مورد نظر را در Log انتخاب کرده و به قسمت Details و Pictures در زیر لیست پیامها نگاه کنید. به عنوان مثال، تصویر بالای کادر Picture اسکرینشات مرتبط با پیام “The menu item ‘Orders|Edit order…’ was clicked” را نمایش میدهد.
کادر Picture، تصاویری را نشان میدهد که وضعیت برنامه مورد انتظار(Expected) و واقعی(Actual) را قبل از اجرای Test Command انتخابی نشان میدهد(“Expected” تصویری است که در طول Test Recording برای Command گرفته شده است، و “Actual” نیز به معنی تصویریست که در طول Test Run گرفته شد). برای دیدن تفاوت بین تصاویر، میتوانید روی View Comparison Result کلیک کنید. این امکان، جستجو را برای Errorهایی که ممکن است در تست شما رخ دهد ساده میکند. این قسمت بعدا در بخش Test Visualizer در آینده توضیح داده خواهد شد.
کادر Call Stack سلسله مراتب از Test Callها را نشان میدهد که منجر به ارسال پیام انتخابی به Log میشود.
کادر Performance Counters تعداد Performance Counterهای مانیتور شده در طول Test Run را نشان میدهد. این مقادیر به شکل نمودار نمایش داده میشوند.
برای مشاهده عملیات تست(Test Operation) که پیام را به Log ارسال کرده، روی پیام دلخواه در Log دوبار کلیک کنید. TestComplete با این کار Keyword Test را در ویرایشگر باز کرده و عملیات مناسب را هایلایت میکند. به عنوان مثال، اگر شما بر روی پیام “.Toolbar button 5 was clicked” در Log دو بار کلیک کنید، TestComplete عملیات Keyword Testای که این Action را انجام داده هایلایت میکند:
برای اطلاعات دقیق در مورد Log Panelها، در ارسال پیامها به Log، و در رابطه کار با نتایج(Result) در آینده و در بخش Test Result توضیحات کاملی را ارائه خواهیم کرد.
نکته: Logای که ما تشریح کردیم برای اسکریپتها و Keyword Testهای TestComplete یک حالت معمول است. تستهای دیگر ممکن است ساختار متفاوتی داشته باشند. در این رابطه بعدا توضیحات بیشتری ارائه خواهد شد.
رفع کردن Errorها
ممکن است تست شما خراب شود. برای چنین اتفاقی ممکن است چند دلیل وجود داشته باشد. به عنوان مثال، توسعهدهندگان میتوانند رفتار برنامه(Application Behavior)، ویژگیهای(Attribute) رسمی پنجرهها و کنترل را تغییر دهند و به همین دلیل موتور تست(Test Engine) نتواند اشیاء مورد نیاز را پیدا کند. علاوه بر این ممکن است یک برنامه ثالث، پنجرههای برنامه شما را با خود دچار همپوشانی کند و موتور تست را برای شبیهسازی اقدامات متوقف کند. البته همانطور که ذکر شد دلایل چنین مشکلی میتواند مختلف باشد، که در اینجا به دو نمونه اشاره شد.
یکی از دلایل معمول که کاربران تازه کار با آن مواجه هستند، اختلاف در حالت برنامه(Application State) در طول ایجاد(Recording) و پخش(Playback) تست است. برای جلوگیری از این مشکل، اطمینان حاصل کنید که Initial Conditionهای(شرایط اولیه) مربوط به Test Run با چیزهایی که در هنگام ایجاد تست داشتید مطابقت دارند. به عنوان مثال، اگر اپلیکیشن تحت تست قبل از اینکه شما تست را رکورد کنید، اجرا شده است، باید آنرا قبل از اجرای تست، Run کنید.
بعدا در مورد جستجوی علت خطاها و حل مشکلات معمول، توضیحاتی ارائه خواهد شد.
این یک آموزش طولانی مدت است. بنابراین قسمتهای بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دستهبندی شده از اینجا نیز در دسترس است.