ساخت اولین تست دسکتاپ نسبتا طولانیست، لذا طی سه یا چهار قسمت تقدیم خوانندگان خواهد شد
تحلیل تست رکورد شده
پس از پایان رکورد کردن، TestComplete تست کلیدواژه رکورد شده را برای ویرایش باز میکند و محتویات تست را در Keyword Test Editor نمایش میدهد:
تست ثبت شده شبیه به تستی است که در تصویر بالا نشان داده شده است. تست واقعی شما ممکن است با مورد مندرج در بالا متفاوت باشد. برای مثال، اگر تست را روی یک اپلیکیشن C++ Builder یا دلفی(Delphi) رکورد کنید، ممکن است نام دیگر Objectها یا Window Indexها را شامل شود.
این تست حاوی دستوراتی(Command) است که مربوط به Actionهاییست که شما در اپلیکیشن Orders و در طول Recording انجام دادهاید. ما عملکردهای(Operation) صورت گرفته توسط Test Commandها را فراخوانی میکنیم.
در زیر Commandها، پنل Test Visualizer وجود دارد و تصاویری را که TestComplete برای عملکردهای انجام شده در حین Test Recording گرفته است را نمایش میدهد:
این تصاویر عملکردهای ضبط شده را نشان میدهند و به شما در درک بهتر اقداماتی(Action) که این عملکرد انجام داده است کمک میکند. TestComplete تصاویر را تنها برای آن عملکردهایی که مربوط به اقدامات کاربریست(کلیک ماوس، تایپ کردن متن و غیره)، رکورد میکند.
هنگامی که شما یک عملکرد(Operation) را در ویرایشگر انتخاب میکنید، Test Visualizer به طور خودکار تصویر مناسب را انتخاب میکند، بنابراین شما میتوانید به راحتی قبل از اجرای عملکرد برنامه را مورد اکتشاف(Exploring) قرار دهید. برای مشاهده تصویر مورد نظر از نزدیک، آن را در پنل Test Visualizer دوبار کلیک کنید.
در رابطه با کار با تصاویر در آینده و در بخش Test Visualizer بیشتر توضیح خواهیم داد.
اولین عملکرد در تست، Run TestedApp است. این عملکرد برای راه اندازی(Launch) برنامه تست شده(در مورد ما، اپلیکیشن Orders) از یک Keyword Test است. TestComplete این عملکرد را هنگامی که برنامه را به صورت خودکار راهاندازی میکند و یا راهاندازی نرمافزار را از طریق نوار ابزار ضبط یا جایی از UI سیستم عامل تشخیص میدهد، به طور خودکار رکورد میکند.
عملکرد بعدی مربوط به انتخاب گزینه File>Open است.
عملکرد بعدی باز کردن فایل را از طریق Open File Dialog شبیهسازی میکند:
در موارد معین، TestComplete میتواند هنگام کار با کنترلهای Open File Dialog، دنبالهای از عملکردها که اقدامات صورت گرفته توسط شما را شبیهسازی میکنند را رکورد نماید.
اگر تست شما حاوی دنبالهای از عملکردهای شبیهسازیِ Actionها و فراتر از Open File Dialogهاست، میتوانید تست را اصلاح کرده و این عملکردها را با فراخوانی متد OpenFile به صورت دستی جایگزین کنید.
پس از آن، عملکردهایی را دنبال میکنیم که Actionهای شما را با پنجره اصلی اپلیکیشن و فرم سفارش شبیهسازی میکنند:
بعدها در مورد شبیهسازی Eventهای ماوس، ورودی صفحه کلید و سایر Actionها از اسکریپتهای شما، در بخش “شبیهسازی User Actionها” توضیحات کاملی ارائه خواهیم کرد.
سپس عملکرد مقایسه(Comparison) است که ما در طول Test Recording اضافه کردیم:
در نهایت، عملکردیست که اپلیکیشن Orders را میبندد و این عملکردیست که فشردن دکمه “No” در این Message Box را شبیهسازی میکند.
همانطور که میبینید، TestComplete به طور خودکار این عملکرد را به گروههایی متصل میکند که مربوط به فرآیندها و پنجرههایی هستند که با آن کار کردهاید. گروهبندی، ساختار تست را برای درک سادهتر میکند و همچنین اطلاعاتی در مورد سلسله مراتب شی(Object Hierarchy) موجود در اپلیکیشن تحت تست نیز ارائه میدهد.
ما User Actionها را در یک Process به نام Orders ثبت کردیم. بنابراین، ما تنها یک Process” Group Node” داریم. این شامل تمام Actionهاییست که شما در Process Windowها و کنترلها شبیهسازی کردهاید. Actionهایی که ما بر روی پنجرهها و کنترلهای Orders Process انجام دادیم، به تعداد Window” Grouping Node”ها سازماندهی میشوند:
ممکن است شما متوجه شوید که اسامی پردازه(Process) تست شده و پنجرهها و کنترلهای آن متفاوت از نامهاییست که ما در پانل Object Browser در یکی از مراحل قبلی دیدیم. به عنوان مثال، در Object Browser، پردازه تست شده به نام (“Process(“Orders نامیده میشود، در حالی که در این تست، Orders نامیده میشود؛ پنجره اصلی (“WinFormsObject(“MainForm نامیده میشود، در حالی که در تست MainForm نامیده میشود و غیره.
یک دلیل منطقی برای این موضوع وجود دارد: به طور پیشفرض، TestComplete به صورت خودکار برای اشیائی که شما آنها را در خلال Test Recording به کار میگیرید، نامهای سفارشی تولید کرده و برای آنها استفاده میکند. تولید و اختصاص نامهای سفارشی، Name Mapping میشود. TestComplete اسامی را نگاشت(Map) میکند زیرا ممکن است نامهای پیشفرض برای درک دشوار باشند. ممکن است تعیین این موضوع که کدام پنجره یا کنترل مربوط به یک نام است سخت باشد. با استفاده از نامهای Map شده، درک تست آسانتر شده و پایدارتر میشود. در خلال Map کردن نامها، TestComplete تصاویری از اشیا Map شده را در مخزن Name Mapping ذخیره میکند. این امکان به شما کمک میکند تا ببینید کدام پنجره یا کنترل یا شی Map شده دیگر در تطابق هستند. بعدها در مورد Map کردن نامها بیشتر توضیح خواهیم داد.
این یک آموزش طولانی مدت است. بنابراین قسمتهای بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دستهبندی شده از اینجا نیز در دسترس است.