چهارشنبه , ۱۲ اردیبهشت ۱۴۰۳

آموزش TestComplete-قسمت اول: آشنایی

Testcomplate
Testcomplate

درباره TestComplete 12.60

TestComplete یک محیط تست اتوماتیک برای طیف گسترده‌ای از انواع اپلیکیشن‌ها و تکنولوژی‌ها مشتمل بر Windows، .Net، WPF، Visual C++، Visual Basic، Delphi، C++Builder، Java، وب اپلیکیشن‌ها و سرویس‌هاست؛ که البته TestComplete صرفا محدود به این مجموعه نمی‌باشد. TestComplete به Functional Testing و Unit Testing گرایش دارد. این ابزار پشتیبانی مناسبی برای تست‌های رگرسیون روزانه فراهم نموده و از سایر انواع تست نیز پشتیبانی می‌کند: Data-Driven Testing، تست توزیع شده(Distributed Testing)، و …

در این ابزار شما تست‌های خود را بوسیله Record کردن آنها یا ویرایش کردن دستورات تست(Test Commandها) در ویرایشگرها و پَنل‌های TestSomplete ایجاد می‌کنید. تست‌ها می‌توانند از داخل TestComplete اجرا شده و یا به یک برنامه خارجی Export شده و در آنجا اجرا شوند.

TestComplete کنترل‌ها(Control) و Objectها را در اپلیکیشن‌های تحت تست به رسمیت شناخته و دستورات ویژه‌ای را برای شبیه‌سازی اقدامات کاربری(User Action) با آنها ارائه می‌دهد. به علاوه این ابزار Checkpointهای ویژه‌ای ارائه می‌دهد که با استفاده از آنها شما می‌توانید به سادگی وضعیت اپلیکیشن را در خلال اجرای تست ممیزی نمایید.

اگر ابزارهای توکار(Built-in) برای شبیه‌سازی اقدامات کاربری(User Action) در اپلیکیشن تحت تست و یا برای بررسی وضعیت برنامه کافی نیست، می‌توانید از دسترسی به اشیاء داخلی(Internal Object)، متدها و ویژگی‌های(Attribute) اپلیکیشن، برای انجام وظایف مورد نیاز استفاده کنید.

فن‌آوری‌ها و اپلیکیشن‌های تحت پشتیبانی

در زیر لیستی از ابزارهای کلیدیِ توسعه، پلتفرم‌های نرم‌افزاری و انواع اپلیکیشن‌های پشتیبانی شده توسط TestComplete ارائه شده‌اند. این ابزارها به سه قسمت عمده وب، دسکتاپ و موبایل تقسیم‌بندی شده‌اند:

دسکتاپ

  • تمام کامپایلرهای Net.
  • Microsoft Visual C++ 6.0 و Visual C++ (unmanaged code) ver. 7.0 – 15.0
  • Intel C++ Compiler 11.0.066
  • ۶۴bit .NET, Java, Delphi, C++Builder, Windows و Qt Applicationها
  • Microsoft Visual Basic 6.0
  • Borland Delphi 7.0، Delphi 2005، Delphi 2006، CodeGear Delphi 2007، CodeGear Delphi 2009، Embarcadero Delphi 2010، XE – XE8، XE – XE8, 10, 10.1 Update 1 and Update 2
  • Borland C++Builder 6.0، C++Builder 2006، CodeGear C++Builder 2007، CodeGear C++Builder 2009، Embarcadero C++Builder 2010، XE – XE8, 10, 10.1 Update 1 and Update 2
  • اپلیکیشن‌های جاوا ۵ الی ۱۰ که از awt استفاده می‌کنند
  • JavaFX SDK ver. 2.2.7 – 2.2.45, 8, 9, 10
  • Qt ver. 5.0 – 5.9 by Digia, Qt 32-bit and 64-bit Qt applications are supported
  • Oracle Forms Builder 11g and 12c
  • Sybase PowerBuilder 12.0, 12.5, 12.5.2 and 12.6
  • Microsoft Visual FoxPro 7.0 and later
  • Microsoft Office Access 2003 and 2007
  • Microsoft Office InfoPath 2003 and 2007

وب

  • Microsoft Edge both 32-bit and 64-bit
  • Microsoft Internet Explorer 10 – 11 both 32-bit and 64-bit
  • Google Chrome 69 both 32- and 64-bit
  • Mozilla Firefox 52, 60 – 62 both 32-bit and 64-bit
  • Embedded Web Browserها
    • Applications with an embedded Microsoft WebBrowser control
    • NET, Java and native applications (C++, Delphi and others) that use Chromium Embedded Framework (CEF) version 3.3282.1741 and earlier.
    • Applications created with Electron version 1.8.2, 2.0.2
  • Web Application Frameworkها
    • AngularJS
    • ASP.NET (including Web Forms, Web Pages, and MVC)
    • Backbone.js
    • Bootstrap 3.3.4 and 3.3.5
    • Google Web Toolkit (GWT) 2.0 – 2.4, 2.5.1, 2.6.0, 2.6.1, 2.7.0
    • jQuery UI 1.8.13 – 1.8.20, 1.9.2, 1.10.2 – 1.10.4, 1.11.1, 1.11.2, and 1.11.4
    • jQuery Mobile 1.4.2, 1.4.3, 1.4.4, 1.4.5
    • MooTools 1.4.0.1, 1.5.1, 1.5.2, 1.6.0
    • React
    • Ruby on Rails
    • Sencha Ext JS 4.1.1a, 4.2.x, 5.0.x, 5.1.x, 6.0.0, 6.0.1, 6.0.2
    • Yahoo! UI 2.9.0, 3.4.1 – 3.18.1
  • Internet Application Frameworkهای مشهور
    • Adobe Flash 9.0 – 17.0
    • Adobe Flex 3.3 – 4.6 SDK
    • Apache Flex 4.9 – 4.14 SDK
    • Adobe AIR 2, 3 and 17 SDK
    • Microsoft Silverlight 4 and 5
  • دیگر موارد
    • وب‌سرویس‌هایی که با مشخصات زیر مطابقت دارد:
      • WS-I Basic Profile 1.1
      • SOAP 1.1 and 1.2 SOAP over HTTP
      • WSDL 1.1
    • وب‌سرویس‌های WCF که از یکی از انواع Binding زیر استفاده می‌کنند:
      • BasicHttpBinding
      • WSHttpBinding

موبایل

  • Android 4.0.1-4.4.x, 5.0-5.1.1, 6.0, 7.0-7.1.1, 8.0-8.1 API Level 15-19, 21-27
  • iOS 9.x, 10.0 – 10.3.2, 11.0 – 11.4, 12.0 – 12.1 running on the following devices:
    • iPhone 5, 5S, 6, 6 plus, 6S, 6S plus, SE, 7, 7 plus, 8, 8 plus, X
    • iPad 4
    • iPad Air, Air 2
    • iPad mini 1 – ۴
    • ۱۲٫۹-inch iPad Pro
    • iPod touch 5

کنترل‌های تحت پشتیبانی

تست GUI اتوماتیک پایدار(Robust Automated GUI Testing) به شناسایی هر UI Object و ویژگی‌های(Property) آن تکیه دارد. با استفاده از TestComplete، شما قادر خواهید بود GUI Testing را به جای کلیک روی مختصات صفحه نمایش، بواسطه تعامل با هر GUI Object انجام دهید.

TestComplete بسیاری از کنترل‌ها از جمله ویندوز، دات نت، جاوا، وب و کنترل‌های RIA و همچنین محبوب‌ترین Third-Party UI Control Libraryها را به رسمیت می‌شناسد. در تست‌ها، TestComplete هر کنترل برنامه را به صورت یک Object به همراه Propertyها و متدهایی برای خودکارسازی Object و ممیزی(Vrifing) وضعیت آن نشان می‌دهد.

با استفاده از این متدها و Propertyها، TestComplete می‌تواند Actionهای ویژه شی(Object-Specific) را رکورد کرده و مجددا Play نماید. به عنوان مثال:

  • انتخاب و خروج از انتخاب چکباکس‌ها، و رادیوباتن‌ها.
  • انتخاب آیتم از کومبوباکس‌ها، List Viewها، و منوها.
  • تغییر و ممیزی مقادیر در جدول گرید سل(Grid Cell).
  • و خیلی بیشتر.

چنین عملکردی که مبتنی بر Object است، باعث می‌شود تست‌ها به سادگی خوانده شده و قابل فهم باشند.

در جدول پایین لیستی از کنترل‌های پشتیبانی شده توسط TestComplete که مربوط به تکنولوژی‌های مختلف هستند ارائه شده است:

دسکتاپ

وب

موبایل

Standard Windows Controls
CodeJock Controls
ComponentOne Controls
Developer Express Controls
Infragistics Controls
Janus Systems Controls
Java Controls
JavaFX Controls
Microsoft Controls
Oracle Forms Controls
Qt Controls
Rogue Wave Controls
Syncfusion Controls
Telerik Controls
TMS Software Controls
VCL and CLX Controls
WPF Controls
Xceed Controls

AngularUI Controls
Bootstrap Controls
Developer Express Controls
Flash Controls
Flex Controls
Google Web Toolkit (GWT) Controls
Infragistics Controls
jQuery Mobile Controls
jQuery UI Controls
MooTools Controls
Sencha Ext JS Controls
Telerik Controls
Web Controls
XUL Controls
Yahoo! User Interface Library Controls

Android Controls
iOS Controls
Xamarin.Forms Controls

اگر کنترل من پشتیبانی نشد چه؟
اگر TestComplete کنترل سفارشی شما را پشتیبانی نمی‌کند، می‌توانید یکی از موارد زیر را انجام دهید:

  • کلاسِ کنترل سفارشی خود را به یک کلاس پشتیبانی شده نگاشت(Map) کنید. موضوع Object Mapping در آینده ارائه خواهد شد.
  • از اطلاعات دسترسی(Accessibility) برای شناسایی و تعامل با کنترل استفاده کنید. در این مورد بعدا توضیحاتی ارائه خواهد شد.
  • کنترل‌های سفارشی خود را با Text Cobntent آن مشخص کنید. در این زمینه باید از تکنولوژی تشخیص متن و تشخیص نوری کاراکتر استفاده نمایید که در آینده ارائه خواهد شد.
  • با کنترل سفارشی خود با استفاده از Propertyها و متدهای بومی آن تعامل داشته باشید.

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

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

« قسمت بعدی

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

Selenium

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

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

یک دیدگاه

  1. سلام
    وقت بخیر
    اگر شما از ابتدا بخواهید آموزش را شروع کنید،
    Appium را ترجیح میدهید یا TestComplete را؟

    بنده هم با دات نت برای دستکتاپ برنامه مینویسم هم برای اندروید با اندروید استودیو
    میخواستم ببینم ایا این نرم افزار به جامعیت Appium هست یا خیر..

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

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