جمعه , ۳۱ فروردین ۱۴۰۳

آموزش TestComplete-قسمت دهم: ساخت اولین تست وب اپلیکیشن(بخش اول)/مقدمه، Plan کردن تست و رکورد کردن تست‌ها

Testcomplate
Testcomplate

ساخت اولین تست وب اپلیکیشن نسبتا طولانیست، لذا طی چند قسمت تقدیم خوانندگان خواهد شد

تست کردن اپلیکیشن‌های وب

TestComplete از Functional Testing برای وی اپلیکیشن‌هایی که در IE، Edge، Chrome، Firefox و یا در Web Browser توکار(Built in) یا Chromium کار می‌کنند، پشتیبانی می‌کند. TestComplete از تست هر برنامه وب پشتیبانی کرده و پشتیبانی پیشرفته‌ای برای فن آوری‌های HTML5، AJAX، ASP.NET، فلش، فلکس، AIR و Silverlight ارائه می‌دهد.

این آموزش توضیح می‌دهد که چگونه برای ایجاد یک پروژه تست در ابزار TestComplete، عملیات Record & Playback را برای یک تستِ وبِ ساده انجام داده و نتایج را تجزیه و تحلیل کنید. فرض بر این است که شما با اصول کلی تست خودکار آشنا هستید و یک دانش حداقلی از TestComplete IDE دارید.

اگر شما یک کاربر تازه‌کار هستید، ابتدا توصیه می‌کنیم مقدمه‌ای بر تست اتوماتیک را مطالعه نمایید.

تست اقدامات کاربر را بر روی یک صفحه وب تقلید کرده و بعضی از داده‌ها را ممیزی می‌کند. دستورات(Command) ممیزی در طول رکورد کردن تست ایجاد خواهند شد.

درباره تست صفحه وب

در این توضیحات ما، از نمونه وب اپلیکیشن به نام SmartStore استفاده خواهیم کرد که در وب سایت شرکت SmartBear(سازنده TestComplete) از اینجا در دسترس است.

این نرم‌افزار یک فروشگاه آنلاین مثالیست است که در آن شما می‌توانید آیتم‌ها را فهرست کرده، آنها را به لیست دلخواه(Wish List) و یک سبد خرید اضافه نموده، و این آیتم‌ها را مقایسه کنید. شما می‌توانید یک حساب کاربری ایجاد کنید، Login کنید و سفارشات را به صورت Mock-Up ایجاد کنید:

TestComplete Figure 10-1
TestComplete Figure 10-1

نکته: در این آموزش، از مرورگر وب گوگل کروم استفاده خواهیم کرد. همه تصاویر در آموزش با اپلیکیشن تحت تست و تست شده ما در Chrome باز شده است. شما می‌توانید از هر مرورگر وب پشتیبانی شده‌ای که دوست دارید استفاده کنید.

مرورگر وب خود را آماده کنید

برای رکورد کردن و Play back تست‌های وب در TestComplete، شما نیاز به پیکربندی مرورگر وب به روش خاصی دارید. همچنین، توصیه می‌شود رفتار خاص مرورگر(Browser-Specific) را از بین ببرید تا Cross-Browser Testing راحت‌تر انجام شود. برای پیکربندی مرورگرهای مختلف بعدا صحبت خواهیم کرد، اما اگر نیاز دارید هم اکنون آنها را پیکربندی نمایید، می‌توانید به لینک‌های ذیل مراجعه فرمایید:

بعد از اینکه تنظیمات مرورگر را هانجام دادید، می‌توانید تست را آغاز کرده و انجام دهید.

Plan کردن تست

نمونه SmartStore، یک فروشگاه آنلاین است. فرض کنید شما باید تست کنید که آیا آیتم‌ها به طور صحیح به سبد خرید اضافه می‌شوند یا خیر. در این مورد، شما باید موارد زیر را تعریف کنید:

  • Test Purpose(هدف تست): تست باید بررسی کند که آیا آیتم انتخاب شده به سبد خرید به درستی اضافه شده است یا خیر. یعنی، سبد خرید نشان بدهد که آیتم اضافه شده است.
  • Testing Steps(مراحل تست): تست باید یک آیتم را به سبد خرید اضافه کند، و سپس ممیزی نماید که آیا سبد خرید حاوی این آیتم است یا خیر. ما یک شبیه‌سازی تستی از اقدامات کاربر را روی اپلیکیشن رکورد خواهیم داد.
  • بررسی و ثبت نتایج تست: اگر آیتم به درستی اضافه شده باشد، باید در سبد خرید قرار گیرد. برای بررسی این مورد، تست باید داده‌های نشان داده شده توسط سبد خرید را با مقادیر مورد انتظار مقایسه نماید. برای این منظور یک دستور(Command) مقایسه ویژه برای تست اضافه خواهیم کرد. این دستور نتایج مقایسه را به ورودی تست ارسال می‌کند. بنابراین ما خواهیم دید که آیا این ممیزی با موفقیت(Pass) انجام شده یا شکست(Fail) خورد است.

بعدها در مورد Plan کردن تست توسط TestComplete، بیشتر توضیح خواهیم داد.

درباره رکورد کردن تست

در TestComplete، شما می‌توانید تست‌ها را با دو روش ایجاد کنید:

تست ها را به صورت دستی ایجاد کنید: تمام دستورات(Command) و اقدامات(Action) مورد نیاز را از طریق Script Objectها یا Keyword Test Commandها وارد کنید. این رویکرد وقتی مفید است که شما نیاز به ایجاد تست‌های بسیار قدرتمند و انعطاف‌پذیر داشته باشید یا اینکه تجربه‌ مناسبی در زمینه ایجاد تست داشته باشید. با این حال، ایجاد تست دستی نیاز به زمان زیادی دارد و شما را از برخورد مشکلات مختلف دور نمی‌کند. به عنوان مثال، شما باید کلاس‌ها و اسامی Application Objectهای خود را که می‌خواهید با آن کار کنید را بدانید.

تست‌ها را رکورد نمایید: به شما امکان می‌دهد که به راحتی تست کنید. شما می‌توانید برخی اقدامات را در برابر یک برنامه تحت تست انجام دهید و TestComplete به طور خودکار این اقدامات را تشخیص می‌دهد و سپس آنها را به خطوط اسکریپت یا Keyword Test Operation تبدیل می‌کند. شما یک تست را به صورت بصری ایجاد می‌کنید و به یک معنا، شما اقدامات(Action) انجام شده را به صورت یک اسکریپت یا Keyword Test رکورد می‌کنید. این رویکرد نیازمند تجربه زیادی در ایجاد تست ندارد، و افراد کم تجربه نیز از عهده آن بر می‌آیند.

در این آموزش، ما به شما نحوه رکورد کردن تست با TestComplete را نشان خواهیم داد.

رکورد کردن شامل سه مرحله است:

۱- شروع به رکورد کنید. شما می‌توانید این کار را با انتخاب Test> Record> Record Keyword Test یا Test> Record> Record Script از منوی اصلی TestComplete یا از طریق نوار ابزار Test Engine انجام دهید. شما همچنین می‌توانید با کلیک روی Record Test  در Start Page، رکورد کردن را شروع کنید.

شما می توانید تست‌های مختلفی را رکورد کنید: Keyword Testها، اسکریپت‌ها و Low-Level Procedureها. این Menu Item که شما زا آن برای شروع رکورد کردن استفاده می‌کنید، تست رکورد شده اصلی را تعیین می‌کند: Keyword Test یا Script Code. سایر تست‌ها پس از آغاز رکورد، رکورد خواهند شد. تست رکورد شده اصلی حاوی دستورات ویژه‌ای است که این تست‌ها را اجرا خواهند کرد.

TestComplete به حالت رکورد سوئیچ کرده و نوار ابزار Recording را روی صفحه، نمایش می‌دهد. به طور پیش فرض، نوار ابزار جمع شده و بسته می‌شود، و تنها دستورالعمل‌هایی که معمولا در طول رکورد کردن، مورد نیاز شما خواهد شد نشان داده خواهد شد:

TestComplete Figure 10-2
TestComplete Figure 10-2

شما می‌توانید با کلیک بر روی دکمه فلش  برای باز کردن نوار ابزار Recording و مشاهده تمام دکمه‌های آن، اقدام نمایید:

TestComplete Figure 10-3
TestComplete Figure 10-3

شما از نوار ابزار برای انجام اقدامات اضافی در هنگام رکورد کردن، مانند مکث(Pause) یا توقف(Stop) رکورد کردن استفاده نموده و نوع تست رکورد شده(Keyword Test، Script Code یا Low-Level Procedure) را تغییر دهید.

۲- پس از شروع رکورد کردن، اقدامات(Action) تست مورد نظر را انجام دهید: اپلیکیشن تحت تست را اجرا کنید(در صورت نیاز)، و سپس کار خود را انجام دهید، مانند: کلیک بر روی دکمه‌های Commandای، انتخاب آیتم‌های منو، تایپ کردن متن و غیره.

۳- پس از اتمام تمام اقدامات تست، ضبط را با انتخاب Stop  از نوار ابزار Recording متوقف کنید.

این یک آموزش طولانی مدت است. بنابراین قسمت‌های بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دسته‌بندی شده از اینجا نیز در دسترس است.

ابوالفضل خواجه دیزجی

همچنین ببینید

Selenium

آموزش Selenium-قسمت هفدهم: Mouse Click Event و Keyboard Event و موضوع Action Class در Selenium WebDriver

در این بخش، ما رویداد کیبورد(Keyboard Event) و ماوس(Mouse Event) را در Selenium Webdriver آموزش …

یک دیدگاه

  1. سلام مطلب خیلی عالی بود ادامشو می زارین؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *