برنامه نویسی

نحوه تنظیم تست های BDD کاربر محور E2E

در این مقاله، نحوه تنظیم تست‌های پایانی مرتبط و بدون دردسر برای برنامه وب خود را خواهیم دید

مشکل ؟

تست End-to-End (E2E) برای برنامه های کاربردی وب، یک رویکرد تست جامع است که هدف آن اعتبارسنجی عملکرد، عملکرد و قابلیت اطمینان یک سیستم نرم افزاری به عنوان یک کل، شبیه سازی سناریوهای کاربر در دنیای واقعی است.

اما اگر رویکرد کلی توصیه شده تلاش برای بازتولید سناریوهای کاربر معتبر است، اکثر ابزارهای محبوب (مانند Cypress و Playwright) دعوت می کنند تا این سناریوها را به عنوان فایل های توسعه (js، java و غیره) بیان کنند.

استفاده از زبان توسعه اجازه می دهد تا تست غنی و پیشرفته e2e بنویسید، اما نیاز به ترجمه سناریوهای کاربر به کد منبع با خطر فساد دارد.

بنابراین، بهتر است از BDD برای بیان سناریوهای خود استفاده کنید. با Bdd، تست‌های End-to-End را به زبان طبیعی می‌نویسید، که مخاطبانی را که می‌توانند آن‌ها را بخوانند و استفاده کنند، گسترده می‌کنند. این بدان معناست که تیم‌های مدیریت محصول و موفقیت مشتری شما می‌توانند تست‌های شما را بدون دانستن هیچ زبان برنامه‌نویسی بخوانند و نظر بدهند.

در اینجا نمونه ای از تست BDD نوشته شده در Gherkin آمده است:

Feature: Login functionality
  As a usevbr
  I want to be able to log into the system
  So that I can access my account

  Scenario: Successful login
    Given I am on the login page
    When I enter valid credentials
    And I click the "Login" button
    Then I should be redirected to the home page
    And I should see a welcome message
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Cucumber محبوب ترین چارچوب تست برای نوشتن تست BDD در Gherkin است. Cucumber ویژگی Gherkin را می خواند (معمولاً در فایل های .feature ذخیره می شود) و هر مرحله از آزمایش را اجرا می کند.

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

اگر ایجاد تعاریف مرحله‌ای که مختص برنامه وب شما هستند، اولیه باقی می‌ماند، نوشتن تعاریف مرحله برای اقدامات عمومی مانند بررسی وجود یک محتوا در dom، تایپ یک متن در یک فیلد یا کلیک کردن روی یک دکمه می‌تواند به عنوان کد دیگ در نظر گرفته شود. همان طور که گیر و تنظیم کننده در جاوا 8 بودند.

فقط این کار را نکنید، از @uuv استفاده کنید


یک راه حل

لوگوی UUV
@uuv راه حلی است که به شما کمک می کند با تکیه بر مجموعه ای از ابزارهای شناخته شده مانند خیار، هسته تبر، سرو یا نمایشنامه نویس، تست های سرتاسر کاربر محور را بدون زحمت بنویسید.

چگونه از آن استفاده کنیم؟

  • کافی است بین @uuv/cypress یا @uuv/playwright انتخاب کنید و سپس آن را با npm نصب کنید.

  • اولین تست خود را بنویسید، فایل را ایجاد کنید uuv/e2e/first-test.feature در ریشه پروژه با محتوای زیر:

Feature: Hello World
Scenario: Search - Successful case
  When I visit path "https://dev.to/"
  Then I should see an element with role "heading" and name "My app title"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

می‌توانید نمونه‌های آزمایشی را در اینجا پیدا کنید: google.feature

# browser mode
npx uuv open
# or for headless mode
npx uuv e2e
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مزایای استفاده از uuv

  • رویکرد کاربر محور : تست های شما شبیه روش استفاده از نرم افزار شما است
  • در صورت استفاده صحیح، **دسترسی** را از مرحله توسعه یکپارچه می کند
  • آ اسناد زندگی امکان پذیر است زیرا ما یک زبان یکپارچه برای توسعه دهندگان و غیر توسعه دهندگان با فرهنگ لغت غنی از جملات آماده برای استفاده پیشنهاد می کنیم.
    مقایسه نحوی
  • آ جادوگر(@uuv/assistant) که نوشتن تست ها را با پیشنهاد در دسترس ترین جملات تسهیل می کند.
  • چندین را ادغام می کند موتورهای زمان اجرا : @uuv/cypress یا @uuv/playwright
  • اجرای کاربر پسند و استاندارد گزارش
    نمونه گزارش Html

نوشته های مشابه

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

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

دکمه بازگشت به بالا