لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش Cypress End-to-End Testing – شروع به کار
Cypress End-to-End Testing - Getting Started
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
یاد بگیرید که چگونه از Cypress برای طراحی، ساخت و اجرای تست های قدرتمند و واقعی (E2E) به راحتی استفاده کنید. افزودن گردشهای کاری تست سرتاسر به پروژهها تعریف و استفاده از مفاهیم و تکنیکهای اصلی Cypress طراحی و اجرای تستهای خودکار انتها به انتها با Cypress پیادهسازی گردشهای کاری واقعی وبسایت کاربر با Cypress پیش نیازها: دانش پایه جاوا اسکریپت مورد نیاز است دانش پایه توسعه وب مورد نیاز (بدون چارچوب خاصی) هیچ دانش قبلی Cypress مورد نیاز نیست
تست خودکار بخش مهمی از توسعه برنامه های کاربردی مدرن است. البته، توسعه وب سایت نیز از این قاعده مستثنی نیست - شما باید بتوانید تست های خودکار را برای شناسایی موثر باگ ها و رگرسیون ها اجرا کنید.
این دوره به شما می آموزد که چگونه تست های پایان به انتها (E2E) را با Cypress بنویسید و اجرا کنید - یکی از محبوب ترین ابزارهای تست توسعه وب E2E که این روزها می توانید از آن استفاده کنید!
یاد خواهید گرفت:
Cypress دقیقا چیست و چرا تست E2E اهمیت دارد
نحوه نصب و استفاده از Cypress
نحوه نوشتن و اجرای تست های E2E با Cypress
نحوه شبیه سازی جریان های واقعی کاربر وب سایت با انتخاب عناصر و شبیه سازی تعامل کاربر (کلیک روی دکمه، تایپ صفحه کلید بیشتر)
چگونه اظهارات خوب بنویسیم (و چه ادعاهایی هستند)
چه ویژگیها و مفاهیم اصلی Cypress ارائه میدهد
نحوه استفاده از مفاهیم اولیه و پیشرفته تر Cypress
نحوه تست موثر کد شخص ثالث
نحوه برخورد با درخواست ها و پایگاه داده های شبکه (HTTP)
نحوه تست جریانهای احراز هویت کاربر
و خیلی بیشتر!
همه این مباحث از پایه آموزش داده می شود، بدون نیاز به دانش قبلی Cypress! با این حال، شما به دانش اولیه توسعه وب و جاوا اسکریپت نیاز دارید.
این دوره بر مفاهیم اصلی Cypress تمرکز دارد و تمام ویژگیهای اولیه و پیشرفتهتر Cypress را بررسی میکند.
در پایان این دوره، شما مجموعهای از اصول اولیه Cypress را خواهید داشت و آماده خواهید بود تا عمیقتر در Cypress و آزمایش انتها به انتها شیرجه بزنید!
سرفصل ها و درس ها
معرفی
Introduction
به دوره خوش آمدید!
Welcome To The Course!
Cypress & End-to-End Testing چیست؟ و چرا باید مراقب باشید؟
What is Cypress & End-to-End Testing? And Why Should You Care?
نصب و استفاده از Cypress
Installing & Using Cypress
چگونه تست های سرو سازماندهی و ذخیره می شوند
How Cypress Tests Are Organized & Stored
تنظیم اولین آزمون ما
Adjusting Our First Test
نوشتن یک تست واقعی تر
Writing A More Realistic Test
درباره دوره
About The Course
منابع دوره (اسلایدها، کد، دیسکورد)
Course Resources (Slides, Code, Discord)
مبانی Cypress - ویژگی های اصلی و نحو
Cypress Basics - Core Features & Syntax
معرفی ماژول
Module Introduction
راه اندازی پروژه
Project Setup
ایجاد مجموعه ها و تست ها
Creating Suites & Tests
بازدید از صفحات داخل تست های E2E
Visiting Pages inside of E2E Tests
اجازه دهید IDE (VS Code) به شما کمک کند
Let the IDE (VS Code) Help You
انتخاب عناصر و ارزیابی نتایج آزمون
Selecting Elements & Evaluating Test Results
انتخاب بر اساس متن
Selecting By Text
اظهارات ضمنی و صریح
Implicit and Explicit Assertions
get() در مقابل find()
get() vs find()
چرا باید تعامل کاربر را شبیه سازی کنید
Why You Need To Simulate User Interaction
شبیه سازی تعامل کاربر
Simulating User Interaction
ادعاهای درست کلیدی هستند!
Proper Assertions Are Key!
زمان برای تمرین!
Time To Practice!
شبیه سازی تایپ صفحه کلید و نوشتن ادعاهای خوب
Simulating Keyboard Typing & Writing Good Assertions
بررسی متن جزئی
Checking For Partial Text
انتخاب مقادیر کشویی
Selecting Dropdown Values
تست سرو به صورت مجزا اجرا می شود
Cypress Tests Run In Isolation
زمان برای سوالات بیشتر
Time For More Queries
خلاصه
Summary
غواصی عمیق تر: انتخاب عنصر، ادعاها و موارد دیگر
Diving Deeper: Element Selection, Assertions & More
معرفی ماژول
Module Introduction
راه اندازی پروژه
Project Setup
انتخاب عناصر - بهترین روش تمرین
Selecting Elements - The Best Practice Way
تست ناوبری صفحه
Testing Page Navigation
اطلاعات بیشتر در مورد انتخاب عناصر
More on Selecting Elements
تکرار و ادعاهای بیشتر
Repetition and More Assertions
فرمان های زنجیره ای
Chaining Commands
کار با ارزش ها و نام های مستعار
Working with Values & Aliases
دسترسی بیشتر به عنصر مستقیم از طریق then()
Getting More Direct Element Access via then()
سپس نگاهی دقیق تر به آن ()
A Closer Look At then()
شبیه سازی کلیدهای ویژه
Simulating Special Key Presses
مثالی دیگر
Another Example
از دست دادن و به دست آوردن تمرکز
Losing & Gaining Focus
نام مستعار در عمل
Aliases In Action
استفاده از Cypress Studio برای ارزیابی آزمون
Using Cypress Studio For Test Evaluation
اجرای تست ها بدون استودیو Cypress و کار با اسکرین شات + فیلم
Running Tests Without Cypress Studio & Working with Screenshots + Videos
تغییر موضوعات
Changing Subjects
گرفتن اسکرین شات
Taking Screenshots
باید() به جای then()
should() instead of then()
خلاصه
Summary
پیکربندی و سفارشی سازی
Configuration & Customization
معرفی ماژول
Module Introduction
راه اندازی پروژه
Project Setup
فایل پیکربندی جهانی
The Global Config File
درک بازه های زمانی
Understanding Timeouts
پیکربندی جهانی در مقابل محلی
Global vs Local Config
تنظیم مرورگر آزمایشی
Setting the Test Browser
پیکربندی baseURL
Configuring the baseURL
به اشتراک گذاری منطق با تست هوک
Sharing Logic with Test Hooks
معرفی دستورات و پرس و جوهای سفارشی
Introducing Custom Commands & Queries
ایجاد یک فرمان سفارشی
Creating a Custom Command
ایجاد یک پرس و جو سفارشی
Creating a Custom Query
درک وظایف
Understanding Tasks
خلاصه
Summary
کار با Stubs، جاسوس ها، وسایل و دستکاری ساعت
Working with Stubs, Spies, Fixtures & Manipulating the Clock
معرفی ماژول
Module Introduction
شروع پروژه
Starting Project
درک مسئله
Understanding the Problem
درک خرد
Understanding Stubs
ایجاد و استفاده از یک خرد
Creating & Using a Stub
وقتی خرده های خالی کافی نیستند
When Empty Stubs Are Not Enough
اضافه کردن یک پیادهسازی Fake Stub
Adding a Fake Stub Implementation
استفاده از Stubs در سراسر آزمون ها
Using Stubs Across Tests
مقالات خرد با مقادیر بازگشتی
Stubs with Return Values
ارزیابی استدلال های خرد
Evaluating Stub Arguments
استفاده از فیکسچرها
Using Fixtures
درک جاسوس ها
Understanding Spies
ایجاد و استفاده از جاسوس
Creating & Using Spies
مشکل با تایمر
The Problem With Timers
دستکاری ساعت
Manipulating the Clock
خلاصه
Summary
درخواست شبکه (HTTP)، پایگاه داده و احراز هویت
Network (HTTP) Requests, Databases & Authentication
معرفی ماژول
Module Introduction
شروع پروژه
Starting Project
نوشتن اولین آزمون (مسئله ای).
Writing a First (Problematic) Test
مشکل تست ها و پایگاه های داده
The Problem with Tests & Databases
ایجاد پایگاه داده تست
Creating a Test Database
قبل از هر آزمون، پایگاه داده آزمون را بشناسید
Seeding the Test Database Before Every Test
یکی دیگر از تست های وابسته به پایگاه داده
Another Database-dependent Test
درک و استفاده از رهگیرها
Understanding & Using Interceptors
همیشه نمی توانید از رهگیرها استفاده کنید
You Can't Always Use Interceptors
رهگیری بیشتر!
More Intercepting!
تست API ها با درخواست های تست
Testing APIs with Test Requests
خلاصه: استراتژی های مختلف درخواست شبکه
Summary: Different Network Request Strategies
آزمایش جریان های احراز هویت و اظهار مقادیر کوکی ها
Testing Authentication Flows & Asserting Cookie Values
اضافه کردن یک تست "ورود"
Adding a "Login" Test
ایجاد یک فرمان ورود مجدد با قابلیت استفاده مجدد
Creating a Reusable Login Command
دسترسی به داده های درخواست و پاسخ رهگیر
Accessing Interceptor Request & Response Data
نمایش نظرات