یکشنبه , ۹ اردیبهشت ۱۴۰۳

آموزش Selenium-قسمت دوم: آشنایی بیشتر با Selenium Test Suite و مقایسه آن با QTP

Selenium
Selenium

ذکر نکاتی پیرامون پشتیبانی محیطی و مرورگر

به دلیل تفاوت‌های معماری، Selenium IDE، Selenium RC و WebDriver از مجموعه‌های مختلفی از مرورگرها و محیط‌های عامل پشتیبانی می‌کنند.

 Selenium IDEWebDriver

پشتیبانی مرورگر

Mozilla Firefox

* Internet Explorer versions 6 تا 11 برای 32 و 64 بیت
* Microsoft Edge version 12.10240 و بالاتر(پشتیبانی جزئی از برخی از Functionalityهای در حال توسعه)
* Firefox 3.0 و بالاتر
* Google Chrome 12.0 و بالاتر
* Opera 11.5 و بالاتر
* Android - 2.3 و بالاتر برای گوشی‌ها و تبلت‌ها (دستگاه‌ها و Emulatorها)
* +iOS 3 برای گوشی‌ها(دستگاه‌ها و Emulatorها) و +3.2 برای تبلت‌ها(دستگاه‌ها و Emulatorها)
* HtmlUnit 2.9 و بالاتر

سیستم عامل

Windows, Mac OS X, Linux

تمام سیستم عامل‌هایی که می‌توانند مرورگرهای بالا را اجرا کنند


نکته: Selenium WebDriver به عنوان جانشین Selenium RC شناخته شده است که این موضوع به طور رسمی توسط SeleniumHQ اعلام شده است.

نحوه انتخاب ابزار مناسب از مجموعه Selenium برای نیاز شما

ابزارچرا این ابزار را انتخاب کنیم
Selenium IDE

* برای یادگیریِ مفاهیم تست اتوماتیک و سلنیوم، از جمله:
- دستورات سلنیوم مانند type، open، clickAndWait، assert، verify و غیره
- Locatorها مانند id، name، xpath، css selector، و غیره
- اجرای کد جاوا اسکریپت Customize شده با استفاده از runScript
- Export کردن Test Caseها در فرمت‌های مختلف
* برای ایجاد تست‌هایی با یا بدون دانش قبلی در مورد برنامه‌نویسی
* برای ایجاد Test Caseهای ساده و Test Suiteهایی که بعدا می‌توانید به RC یا WebDriver منتقل کنید
* صرفا برای تست یک وب اپلیکیشن در فایرفاکس

Selenium RC

* برای طراحی یک آزمون با استفاده از یک زبان بیانگرانه‌تر از Selenese(مجموعه‌ای از Selenium Commandها)
* برای اجرای تست در مرورگرهای مختلف(به جز HtmlUnit) در سیستم عامل‌های مختلف
* برای استقرار تست‌ها در محیط‌های مختلف با استفاده از Selenium Grid
* برای تست اپلیکیشن در یک مرورگر جدید که از جاوا اسکریپت پشتیبانی می‌کند
* برای تست وب اپلیکیشن‌ها با سناریوهای پیچیده مبتنی بر AJAX

WebDriver

* برای استفاده از یک زبان برنامه‌نویسی معین در طراحی Test Case
* برای تست اپلیکیشنی که دارای Functionalityهای مبتنی بر AJAX است
* برای اجرای تست در مرورگر HtmlUnit
* برای ایجاد نTest Resultهای Customize شده

Selenium Grid

* برای اجرای همزمان اسکریپت‌های Selenium RC در چندین مرورگر و سیستم عامل
* برای اجرای یک Test Suite بزرگ، که نیازمند تکمیل در سریعترین زمان ممکن است

مقایسه Selenium و QTP (که در حال حاضر UFT نامیده می‌شود)
Quick Test Professional-QTP یک ابزار اتوماسیون تست است که قبلا به شرکت Mercury Interactive تعلق داشت، تا اینکه در سال ۲۰۰۶ توسط Hewlett Packard-HP خریداری شد. Selenium Tool Suite دارای مزایای فراوانی نسبت به QTP است، که مهمترین موارد آنرا را در زیر می‌بینیم:

SeleniumQTP

Open Source و رایگان

برای فروش

بسیار تعمیم‌پذیر

Add-onهای محدود

می‌تواند تست‌ها را در مرورگرهای مختلف اجرا کند

فقط می‌توانید تست‌ها را در فایرفاکس، IE و کروم انجام دهید

از سیستم عامل‌های مختلف پشتیبانی می‌کند

فقط قابلیت استفاده در ویندوز را داراست

پشتیبانی از دستگاه‌های موبایلی

QTP بواسطه راهکار HP که HP Mobile Center نامیده می‌شود، از اتوماسیون تست موبایل اپلیکیشن پشتیبانی می‌کند

در حالی که مرورگر Minimize شده است می‌توانید تست‌ها را انجام دهید

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

می‌توانید تست‌ها را به صورت موازی اجرا کنید

اجرا را صرفا به صورت موازی انجام می‌دهد، مگر با استفاده از Quality Center که باید برای آن پرداخت مجدد انجام دهید

مزایای QTP به Selenium

البته QTP هم خیلی دست و پا بسته نیست، و این ابزار هم مزایایی به نسبت Selenium دارد، که در جدول ذیل مهمترین موارد را مشاهده می‌کنیم:

QTPSelenium

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

فقط می‌توان اپلیکیشن‌های وب را تست نماید

با یک Object Repository  توکار همراه است

فاقد Object Repository  توکار

به دلیل اینکه یک IDE با امکانات کامل است، خودکارسازی را سریعتر از Selenium انجام می‌دهد

به دلیل اینکه فاقد یک IDE بومیست و فقط IDE ثالث می‌تواند برای توسعه استفاده شود، سرعت خودکارسازی پایینتری دارد

به دلیل داشتن جدول داده‌های Local و Global به صورت توکار، تست داده محور(Data-Driven Testing) آسانتر انجام می‌شود

تست داده محور(Data-Driven Testing) سنگین‌تر است زیرا شما باید بر روی قابلیت‌های برنامه‌نویسی برای تنظیم مقادیر داده‌های تست خود تکیه کنید

می‌توانید کنترل‌های موجود در مرورگر(مانند Favorites bar، Address bar، دکمه‌های Back و Forward و غیره) را مشاهده کنید

نمی‌توانید به عناصر خارج از وب اپلیکیشن تحت تست دسترسی پیدا کنید

ارائه پشتیبانی حرفه‌ای از مشتری

هیچ پشتیبانی رسمی برای کاربران ارائه نشده است

دارای قابلیت بومی برای Export داده‌های تست به فرمت‌های External

هیچ قابلیت Localای برای Export داده‌های Runtime به فرمت‌های خارجی(External) ندارد

پشتیبانی پارامتریک ساخته شده است

پارامتریک کردن می‌تواند از طریق برنامه‌نویسی انجام شود، اما اجرای آن دشوار است

گزارش‌های تست به طور خودکار تولید می‌شوند

فاقد پشتیبانی بومی برای تولید گزارش‌های تست و گزارش‌های باگ‌

اگر چه به وضوح، QTP دارای قابلیت‌های پیشرفته‌تری به نسبت Selenium است، اما QTP در سه زمینه اصلی از Selenium عقب افتاده است:

  • هزینه(چون Selenium کاملا رایگان است)
  • انعطاف‌پذیری(به دلیل تعدد زبان‌های برنامه‌نویسی، مرورگرها و سیستم عامل‌هایی که توسط Selenium پشتیبانی می‌شوند)
  • تست موازی(چیزی که QTP هم قادر به انجام آن است اما فقط بواسطه Quality Center و پرداخت هزینه اضافی این قابلیت را به شما اعطا می‌کند)

نتیجه‌گیری

  • کل مجموعه ابزار Selenium شامل چهار جزء است:
    • Selenium IDE، یک افزونه فایرفاکس است که می‌توانید آن را در ایجاد Test Suiteها و Test Caseهای نسبتا ساده استفاده کنید.
    • Selenium RC، هم که به نام Selenium 1 شناخته می‌شود، اولین ابزار سلنیوم است که به کاربران اجازه می‌دهد از زبان‌های برنامه‌نویسی در ایجاد تست‌های پیچیده استفاده کنند.
    • WebDriver، پیشرفت جدیدتریست که اسکریپت‌های تست شما را قادر می‌سازد تا به طور مستقیم با مرورگر ارتباط برقرار کنند؛ در نتیجه آنرا از سطح سیستم عامل کنترل می‌کند.
    • Selenium Grid نیز یکی ابزارهای مجموعه Selenium است، که با Selenium RC برای تست موازی در مرورگرها و سیستم عامل‌های مختلف مورد استفاده قرار می‌گیرد
  • Selenium RC و WebDriver برای تشکیل Selenium 2 ادغام شدند.
  • Selenium از لحاظ هزینه و انعطاف‌پذیری از QTP سبقت گرفته است. علاوه بر این Selenium به شما اجازه می‌دهد تا به طور موازی، تست‌های مختلف را انجام دهید، برخلاف QTP که در آن شما مجاز به انجام تست‌ها سری هستید، و برای انجام تست موازی نیاز به پرداخت دوباره هزینه دارید.

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

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

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

Selenium

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

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

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

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