نحوه تنظیم تست های 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/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
- اجرای کاربر پسند و استاندارد گزارش