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

آموزش SpecFlow-قسمت هفتم و آخر: خودکارسازی روی Use Caseهای تحت وب

Specflow
Specflow

هدف SpecFlow پر کردن فاصله و ارتباط میان مشتریان و خبرگان دامنه1 با برنامه‌نویسان است. برای این منظور در SpecFlow سناریوهای متن آزاد به پیاده‌سازی مقید می‌شوند. در این قسمت از آموزش برای خودکارسازی2 تست روی Use Caseهای تحت وب3 صحبت خواهیم کرد. چارچوب‌های متفاوتی برای این کار وجود دارند. ما در این آموزش به معرفی چارچوب WatiN4 می‌پردازیم. این چارچوب امکان تست روی Web Use Case را در مرورگر IE فراهم می‌کند. نحوه کار بسیار ساده است. به این ترتیب که در مرورگر وب، Use Csae باز شده و سپس با اِلِمان‌های صفحه، تعامل صورت می‌گیرد.

برای این منظور، WatiN را با استفاده از کنسول مدیریت پکیج Nuget، با دستور زیر به پروژه خود اضافه نمایید.

PM> install-package watin

به این ترتیب همان طور که در تصویر ۲۵ مشاهده می‌نمایید، WatiN به رفرنس‌های پروژه اضافه می‌شود.

Figure 25
Figure 25

تنظیماتی باید روی پروژه خود انجام دهید تا امکان خودکارسازی Web Use Case با WatiN برای شما میسر گردد. برای این منظور در بخش referenceهای پروژه، خاصیت Embed Interop types  را در Interop.SHDocVw برابر با مقدار False قرار دهید. مانند تصویر ۲۶٫

Figure 26
Figure 26

هم چنین تنظیمات تصویر ۲۷ را به بخش AssemblyInfo.cs پروزه اضافه نمایید. به این ترتیب آماده استفاده از WatiN هستیم.

Figure 27
Figure 27

به عنوان نمونه یک Feature را برای جستجو در گوگل توصیف کرده‌ایم. این Feature یک سناریو دارد. در این سناریو گفته می‌شود که اگر عبارت “Watin” نوشته شد و کلید جستجو زده شد، صفحات وبی که نمایش داده می‌شوند باید شامل کلمه “WatiN” باشند. این Feature و سناریو در تصویر ۲۸ نمایش داده شده است. شما می‌توانید به جای گوگل، برای Web Use Case خود سناریو تعریف کرده و خودکارسازی گام‌ها را بر اساس WatiN انجام دهید.

Figure 28
Figure 28

مراحل سناریو را با مدل مقیدسازی عبارات منظم، همانند تصویر ۲۹ تولید کردیم. حالا وقت آن است که با استفاده از کتابخانه‌های موجود در WatiN گام‌های سناریو را پیاده‌سازی نماییم. به این ترتیب با توجه به کتابخانه‌های WatiN، در خط اول سناریو یک مرورگر IE باز شده و به آدرس www.google.com می‌رود. در این صفحه مرورگر، اگر المان‌ها را شناسایی کنید، متوجه خواهید شد که فیلد متنی5 که روی آن جستجو انجام می‌دهید، دارای شناسه6 q است. بنابراین المان فیلد متنی در صفحه پیدا شده و سپس متن “Watin” در آن نوشته می‌شود. بعد از آن کلید جستجو در صفحه باید پیدا شود. در مرحله بعدی آن تعامل با این کنترل انجام شده و کلیک روی آن صورت می‌گیرد. در مرحله آخر بررسی می‌گردد که صفحه حتما شامل کلمه “Watin” باشد. اگر صفحه شامل کلمه مورد نظر ما باشد، تست با موفقیت طی شده است. در غیر این صورت اجرای تست منجر به شکست خواهد شد.

به این ترتیب با استفاده از چارچوب خودکارسازی تست، اجرای تست خود را در گام‌های سناریوی SpecFlow مکانیزه می‌نماییم. امکان استفاده از چارچوب‌های دیگر همانند Selenium و … نیز برای خودکارسازی گام‌های تست امکان پذیر است.

در این هفت قسمت از آموزش SpecFlow سعی بر آن شد تا براساس مفاهیم اصلی BDD، چگونگی تعریف ویژگی و سناریوها تشریح گردد. در انتهای آموزش نحوه خودکارسازی تست برای Use Caseهای تحت وب تشریح شد. برای Use Caseهای دیگر نیز متقابلا چارچوب‌های دیگری معرفی شده است. امید است با استفاده از آموزش ارائه شده در اینجا، معیارهای پذیرش سیستم بهتر گردآوری شوند. با گردآوری بهتر سناریوهای مد نظر مشتری، رضایت او از محصول نهایی بیشتر خواهد بود. با خودکارسازی تست، زمان تست سیستم کاهش خواهد یافت و در نهایت سیستم با کیفیت بالا در زمان کوتاهتر روانه بازار خواهد شد.

Figure 29
Figure 29

از همراهی شما در آموزش مقدماتی SpecFlow سپاسگزاریم.

 

این آموزش به سفارش تیستن و به قلم سرکار خانم مهندس سیده مهسا میری آماده گردیده، و واحد آموزش تیستن نیز آنرا منتشر کرده است.

تمام قسمت‌های آموزش Specflow، به صورت دسته‌بندی شده از اینجا در دسترس است.

آموزش

پاورقی

  1. Domain Expert
  2. Automate
  3. Web Application
  4. Web Application Testing in .NET
  5. TextBox
  6. Id

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

Selenium

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

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

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

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