لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش Cypress: تست اتوماسیون وب از صفر تا قهرمان
Cypress: Web Automation Testing from Zero to Hero
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
اتوماسیون رابط کاربری وب E2E از ابتدا. به روز شده با Cypress v12 (01/2023) اصول جاوا اسکریپت برای مبتدیان در برنامه نویسی نحوه تنظیم و پیکربندی Cypress نحوه ساخت مکان یاب برای هر عنصر وب با استفاده از موتور قدرتمند انتخابگر جی کوئری داخلی Cypress (فراموش کردن X-Path) چگونه برای تعامل و خودکار کردن هر نوع مؤلفه وب API چیست. نحوه تعامل با API ها، تمسخر پاسخ API و اظهار نظر. همچنین نحوه ایجاد پیش شرط داده های آزمایشی با استفاده از فراخوانی های API نحوه سازماندهی و استفاده مجدد کد با الگوی طراحی شیء صفحه. نحوه پیکربندی چندین گزارشگر سفارشی، امتحان مجدد منطق برای تست های ناموفق و اجرای تست در کانتینر داکر اجرای تست موازی، داشبورد Cypress، مرورگر متقابل و تست ویژوال پیش نیازها: بدون نیاز به پیش نیاز است. این دوره از پایه حتی برای افراد مبتدی آموزش می دهد. خجالت نکشید وقتی چیزی واضح نیست یا کار نمی کند از مربی سوال بپرسید.
این کلاس به شما درک کاملی از چیستی فریمورک Cypress می دهد و یاد می گیرید که چگونه از تمام قابلیت های فریمورک کلیدی استفاده کنید. Cypress یک چارچوب بسیار مدرن مبتنی بر جاوا اسکریپت است. همه چیزهایی را که شما نیاز دارید در اختیار دارد: Test Runner، کتابخانههای Assertion، خبرنگاران و غیره. بسیار زیبا و به راحتی می تواند در برنامه front-end ادغام شود (این همان کاری است که ما در کلاس انجام خواهیم داد) و تست های شما در همان حلقه اجرای برنامه شما اجرا می شود. به همین دلیل است که این فریم ورک بسیار سریع است! و اگر قبلا از جاوا اسکریپت استفاده نکرده اید نگران نباشید. نوشتن تستهای اتوماسیون در Cypress بیشتر شبیه به دانستن دنبالهای از دستورات Cypress است که برای انجام برخی اقدامات در مرورگر باید فراخوانی کنید. واقعا برنامه نویسی نیست این نوعی اسکریپت نویسی است که از قوانین Cypress پیروی می کند. برای کسانی که تازه با برنامه نویسی آشنا هستند - بخشی در مورد اصول جاوا اسکریپت
وجود دارد
ما با مفاهیم بسیار ابتدایی Web UI Automation شروع خواهیم کرد، بنابراین شما از ابتدا پایه درستی خواهید داشت (از صفر). حتی اگر در آینده از فریمورک دیگری برای اتوماسیون وب استفاده کنید، اصول اولیه این کلاس برای همیشه با شما خواهد ماند و بسیار مفید خواهد بود. من قول می دهم که در ساخت مکان یاب برای هر عنصر وب در صفحه یک قهرمان خواهید بود. این یکی از مهم ترین بخش های اتوماسیون UI است و من دقایق زیادی را به توضیح دقیق آن اختصاص داده ام.
بر خلاف بسیاری از چارچوبهای اتوماسیون دیگر، Cypress میتواند با APIها نیز تعامل داشته باشد و شما میتوانید آزمایش API را در واقع با Cypress خودکار کنید. بنابراین، اگر نمی دانید API در مورد چیست، ما با Zero شروع می کنیم و هر آنچه را که باید در مورد قابلیت های Cypress برای تعامل با API بدانید، یاد می گیریم. من ساخت چارچوب اتوماسیون API بر اساس Cypess را توصیه نمی کنم، اما قابلیت API آن در تست E2E بسیار مفید است و موارد استفاده آن را در این کلاس پوشش خواهیم داد.
و ما قطعاً از طریق Page Objects می گذریم که استفاده از آن بسیار مهم است! هنگامی که 10 تا 20 تست دارید، می توانید کد خود را همانطور که هست حفظ کنید، اما زمانی که 200-300 تست دارید، قابلیت نگهداری چارچوب تست اولویت شماره یک است. ساختار صحیح اشیاء صفحه کلیدی برای قابلیت استفاده مجدد کد (بدون کپی/پیست کردن کد شما) و قابلیت نگهداری است.
همچنین موضوعات پیشرفته مختلفی مانند متغیرهای محیطی، راه اندازی چندین گزارشگر، امتحان مجدد cypress برای تست های ناموفق را مرور خواهیم کرد و در نهایت، تست ها را در Docker Container اجرا خواهیم کرد. اگر این اولین تجربه شما با Docker است، جای نگرانی نیست، در مورد مفاهیم اولیه Docker نیز صحبت خواهیم کرد.
تا پایان کلاس، به من اعتماد کنید، شما یک قهرمان سرو خواهید شد :)
سرفصل ها و درس ها
معرفی
Introduction
معرفی
Introduction
Cypress vs Selenuim
Cypress vs Selenuim
یادداشت سریع
Quick Note
آماده سازی محیط توسعه
Preparation of development environment
مبانی جاوا اسکریپت
JavaScript Fundamentals
نمای کلی ماژول
Module overview
سلام دنیا
Hello World
متغیرها، ثابت ها و انواع داده ها
Variables, Constants and Data Types
الحاق و درون یابی
Concatenation and Interpolation
اشیا و آرایه ها
Objects and Arrays
عملگرهای رابطه ای و برابری
Relational and Equality operators
عملگرهای منطقی
Logical operators
بیانیه مشروط
Conditional statement
حلقه ها
Loops
کارکرد
Functions
کلاس و روش ها
Class and methods
نصب و پیکربندی سرو
Cypress installation and configuration
برنامه کلون در حال آزمایش
Clone application under test
نصب سرو
Cypress Installation
پیکربندی سرو
Cypress Configuration
سرو 9 در مقابل سرو 10
Cypress 9 vs Cypress 10
تعامل با عناصر وب
Interaction with Web Elements
اصطلاحات DOM
DOM Terminology
ساختار تست ها
Tests Structure
انواع مکان یاب
Types of Locators
یافتن عناصر وب
Finding Web Elements
ذخیره موضوع فرمان
Saving Subject of the Command
فراخوانی فرمان
Invoke Command
چک باکس ها و دکمه های رادیویی
Checkboxes and Radio Buttons
تاریخ انتخاب های وب
Web Datepickers
لیست ها و کشویی ها
Lists and Dropdowns
جداول وب
Web Tables
پاپ آپ ها و نکات ابزار
PopUps and ToolTips
اظهارات سرو
Cypress Assertions
بررسی دانش
Knowledge Check
الگوی طراحی شی صفحه
Page Object Design Pattern
شیء صفحه اول
First Page Object
جریان انتها به انتها با اشیاء صفحه
End-to-End Flow With Page Objects
دستورات سفارشی
Custom Commands
کار با API ها
Working with APIs
API چیست؟
What is API?
اشیاء JSON
JSON Objects
نمای کلی پروژه جدید
New Project Overview
تأیید تماس های API مرورگر
Verification of the Browser API Calls
پاسخ تمسخر آمیز API
Mocking API Response
Cy.Intercept() در جزئیات
Cy.Intercept() in details
تماس های API با استفاده از Cypress
API Calls Using Cypress
مجوز بدون سر
Headless Authorization
خصوصیات پیشرفته
Advanced Features
NPM Scripts و Cypress CLI
NPM Scripts and Cypress CLI
متغیرهای محیطی
Environment Variables
امتحانات مجدد
Test Retries
چندین گزارش تست
Multiple Test Reports
سرو با ظرف داکر
Cypress With Docker Container
با OKTA وارد شوید
Login With OKTA
تست متقابل مرورگر
Cross Browser Testing
سایه DOM
Shadow DOM
داشبورد سرو و اجرای تست موازی
Cypress Dashboard and Parallel test execution
داشبورد رایگان برای Cypress
FREE Dashboard for Cypress
تست بصری
Visual Testing
از کجا اطلاعات بیشتری پیدا کنیم؟
Where to Find More Information?
نمایش نظرات