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

آموزش SpecFlow-قسمت چهارم: مقیدسازی Regular expressions

Specflow
Specflow

در این قسمت در ارتباط با مقید سازی گام‌ها در SpecFlow  با مدل Regular expressions صحبت خواهیم کرد. همان طور که پیشتر عنوان شد با استفاده از مقیدسازی(Binding) گام‌ها، بین سناریوها به زبان آزاد و متدهای  .NET به عنوان گام‌های تست ارتباط برقرار می‌شود. برای این منظور در SpecFlow  سه مدل Regular expressions in attributes ، Method names-underscores و  Method names- pascal case تعریف شده است.

در اینجا برای سناریوی تعریف شده در قسمت سوم آموزش، مقیدسازی گام را انجام می‌دهیم. برای این منظور با کلیک راست بر روی سناریو، گزینه Generate Step Definition را انتخاب نمایید. همان طور که در تصویر ۱۰ مشاهده می‌شود، مراحل سناریو با نام Feature تولید می‌شوند که در انتهای نام Feature، عنوان Steps اضافه شده است. با مدل Regular expression مقیدسازی را تولید کنید.

Figure 10
Figure 10

برای تشخیص پارامترها از تعریف گام‌ها در سناریوها، مدل‌های مقیدسازی از روش‌های گوناگونی استفاده می‌کنند. مثلا در روش استفاده از عبارات منظم، پارامترها بین علامت ‘’ قرار می‌گیرند و یا اعداد تعریف شده در گام سناریو، به عنوان پارامتر در نظر گرفته می‌شوند. تصویر ۱۱، فایل تولید شده از مراحل سناریو را نمایش می‌دهد. همان طور که مشاهده می‌کنید در روش Regular expression، هر گام سناریو در ادامه عبارات [Given][When][Then] نوشته شده است. هم چنین تنها در گام آخر سناریو که عدد ۸ وجود دارد یک پارامتر ورودی برای متد در نظر گرفته شده است. چنانچه با تغییر نظر مشتری از اعتبارسنجی ۸ رقمی به ۹ رقمی مواجه شویم، با تغییر تعریف گام سناریو از ۸ به ۹، پارامتر موجود در متد به مقدار جدید بروز رسانی می‌گردد.

Figure 11
Figure 11

برای درک بهتر گام‌های تولید شده به این روش، بهتر است تا درک خوبی از Regular expression داشته باشید. بخش (.*) که در تصویر ۱۱ مشخص شده است، بیانگر آن است که هر عددی در تعریف گام سناریو می‌تواند جایگزین عدد ۸ بشود و محدودیتی برای این پارامتر وجود ندارد.

چنانچه در نظر داشته باشید تا ایمیل وارد شده در بخش نام کاربری را به صورت پارامتری درج کنید و مقادیر متفاوت دلخواه خود را هنگام اجرای سناریو در این بخش وارد نمایید(بدون نیاز به استفاده از جدول داده به طور دلخواه)، کافیست از علامت ‘’ استفاده نمایید. برای این منظور تصویر ۱۲ را مشاهده نمایید. همان طور که دیده می‌شود با تغییر تعریف گام سناریو، آن گام مجددا به رنگ بنفش در می‌آید. بدین معنی که مرحله معادلی در مقید‌سازی برای آن وجود ندارد.

Figure 12
Figure 12

فایل مراحل تولید شده را پاک نمایید  مجددا مقید‌سازی گام را انجام دهید. به این ترتیب همان طور که در تصویر ۱۳ مشاهده می‌نمایید، نام کاربری به شکل یک پارامتر درآمده و در ورودی متد به صورت پارامتر دریافت می‌گردد.

Figure 13
Figure 13

در قسمت بعد آموزش، دیگر مدل‌های مقید‌سازی گام را ارائه می‌دهیم.

 

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

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

آموزش

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

Selenium

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

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

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

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