مرورگر شما از این ویدیو پشتیبانی نمی کند.
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
(صرفا برای مشاهده نمونه ویدیو، ممکن هست نیاز به شکن داشته باشید.)
بارگزاری مجدد
توضیحات دوره:
[2023 به روز رسانی] کمپ کامل Cypress با 3 فریم ورک (App Actions، Page Objects، Cucumber) + Typescript، Docker Latest Cypress v12.0+ از اصول کامل تا مفاهیم اتوماسیون پیشرفته آموزش تعامل کامل عناصر وب (انتخاب، انتخابگر تاریخ، چک باکس و غیره) Cypress با سبک BDD و گزارش خیار + Mochawesome ایجاد چارچوب اتوماسیون با صفحه اشیاء مدل و اقدامات برنامه CI/CD یکپارچه با سرویس داشبورد و جنکینز تمرین بسیاری از نمونهها و چالشها در دنیای واقعی آزمایشهای End-to-End و چالشها نکات و ترفندهای حرفهای و بهترین روشها برای تبدیل شدن به real Cypress Expert تست رگرسیون بصری با Cypress، Image-Snapshots و Percy نحوه استفاده از Cypress برای تست API REST نحوه استفاده از Cypress با Docker نیازها: دانش برنامه نویسی اولیه (جاوا اسکریپت مزیت بزرگی است) NodeJS ویرایشگر متن نصب شده (VS Code توصیه می شود) [ به روز رسانی در سال 2023 ] + محتوای جدید هر 2-3 هفته منتشر می شود !!! [ نسخه 12+ بهروزرسانی به زودی]
این دوره در مورد چیست؟
اتوماسیون و آزمایش وب را با استفاده از محبوب ترین چارچوب غیر سلنیومی جهان به نام Cypress بیاموزید. این دوره به گونه ای طراحی شده است که تا حد امکان کاربردی باشد. ما مستقیماً از ابتدا برنامه نویسی خواهیم کرد! تنها کاری که باید انجام دهید این است که NodeJS و ویرایشگر کد مورد علاقه خود را نصب کنید و کمی دانش برنامه نویسی ایده آل در جاوا اسکریپت داشته باشید.
در این دوره چه چیزی یاد خواهید گرفت؟
نحوه نصب، ایجاد و راه اندازی چندین پروژه آزمایش سرو
اتوماسیون وب و تعامل عناصر با Cypress API
نمونههای مختلف آزمایش E2E دنیای واقعی را تمرین کنید
ویژگی ها و الگوهای پیشرفته سرو را بیاموزید
آزمون REST API با Cypress را بیاموزید
Cypress + Docker Container
را بیاموزیدافزونه ها و افزونه های Cypress را بیاموزید
گزارش دادن را با Mochawesome بیاموزید
نحوه پیاده سازی App Actions Design Pattern
نحوه پیاده سازی الگوی طراحی اشیاء صفحه
توسعه محرک رفتار با استفاده از سرو + خیار
آزمایش رگرسیون بصری با استفاده از کتابخانه پرسی
ادغام مداوم با استفاده از جنکینز و نحوه راه اندازی خط لوله آزمایشی
نحوه کار با XPaths
تست ابری با استفاده از BrowserStack
نکات و ترفندهای متخصصان در زمینه اتوماسیون
برای مصاحبه آماده و تمرین کنید
چگونه می توان کمک گرفت؟
یادگیری یک فرآیند بی پایان است و همه ما گاهی اوقات اشتباه می کنیم و گیر می کنیم، اما نگران نباشید همیشه می توانید یک پیام خصوصی برای من ارسال کنید یا یک پست در بخش Q بنویسید که در آن بسیاری از سوالات و مشکلات حل شده است. من یا دانش آموزان دیگری که به یکدیگر کمک می کنند :)
پس بیایید شروع کنیم :)
سرفصل ها و درس ها
شروع شدن
Getting Started
معرفی
Introduction
چرا سرو؟
Why Cypress?
ویراستاران
Editors
کمک گرفتن
Getting Help
Cypress را نصب و راه اندازی کنید
Install and Setup Cypress
راه اندازی زیباتر
Prettier Setup
تکمیل کد هوشمند
Intelligent Code Completion
کد منبع پیکربندی زیباتر و TS
Prettier & TS config source code
توجه: Cypress 9.7 در مقابل 12+ (مهم!)
NOTE: Cypress 9.7 vs 12+ (Important!)
مبانی سرو - مبانی
Cypress Fundamentals - Basics
اسکریپت های تست
Test Scripts
بررسی ساختار سرو
Cypress Structure walkthrough
اولین تست سرو
First Cypress Test
اجرای تست ها در حالت بدون سر
Running Tests in Headless Mode
بارگذاری URL
Load URL
ادعاها
Assertions
انتظار ضمنی، مکث، اشکال زدایی
Implicit Waits, Pause, Debug
تعامل با دکمه ها
Interacting with Buttons
اعتبارسنجی تعداد عناصر در صفحه
Validating Count of Elements on the Page
زمان چالش! سناریوهای آزمایشی بیشتری ایجاد کنید
Challenge Time! Create more Test Scenarios
درختان سرو
Cypress Logs
بازخوانی/بارگذاری مجدد مرورگر
Browser Refresh / Reload
متن را در ورودی ها پاک کنید و تایپ کنید
Clear & Type text into Inputs
تعامل با چک باکس
Interacting with Checkbox
متغیرها و نام مستعار
Variables and Aliases
ادعاهای زنجیره ای
Chaining Assertions
پاک کردن کوکیها و فضای ذخیرهسازی محلی
Clear Cookies & Local Storage
تغییر زمان و تاریخ
Time & Date Modification
Viewport & Devices Emulation
Viewport & Devices Emulation
دریافت و اظهار عناوین صفحه
Get & Assert page titles
Cypress Fundamentals - پیشرفته
Cypress Fundamentals - Advanced
فایل Cypress JSON را کاوش کنید
Explore Cypress JSON file
تجهیزات و داده های تست استاتیک
Fixtures & Static Test Data
شبیه سازی فشار صفحه کلید
Keyboard Press Simulation
همه مشخصات را با هم اجرا کنید
Run All Specs Together
دستورات سفارشی
Custom Commands
کار با Select Box
Working with Select Box
اسکرین شات ها
Screenshots
پیمایش در صفحه
Scrolling on the Page
داده ها را در JSON/Local Data Files بنویسید
Write Data into JSON / Local Data Files
خواندن دادهها از JSON/فایلهای داده محلی
Read Data from JSON / Local Data Files
نوع محتوا را مشخص کنید
Assert Content Type
انتزاع با کلاس ها
Abstraction with Classes
قبل و بعد از قلاب
Before & After Hooks
فقط و پرش از قلاب
Only & Skip Hooks
پلاگین XPATH را نصب و استفاده کنید
Install & Use XPATH Plugin
تابع Cypress.$
Cypress.$ Function
خط فرمان - یک فایل آزمایشی را در حالت هدلس اجرا کنید
Command Line - Run single test file in headless mode
Cypress Fundamentals - تست E2E
Cypress Fundamentals - E2E Testing
بخش معرفی و راه اندازی پروژه
Section Intro & Project Setup
تست E2E: جعبه جستجو
E2E Test: Searchbox
تست E2E: رمز عبور فراموش شده را ارسال کنید
E2E Test: Send Forgotten Passwod
تست E2E: پیوندهای نوار ناوبری
E2E Test: Navbar Links
تست E2E: فرم های بازخورد
E2E Test: Feedback Forms
تست E2E: ورود و خروج جریان
E2E Test: Login & Logout Flow
تست E2E: دریافت کننده جدید ایجاد کنید
E2E Test: Create New Payee
تست E2E: پرداخت
E2E Test: Payment
تست E2E: تبادل ارز
E2E Test: Currency Exchange
تست E2E: انتقال وجه
E2E Test: Transfer Funds
تست E2E: تراکنش ها را فیلتر کنید
E2E Test: Filter Transactions
کد منبع
Source Code
پروژه چارچوب - اقدامات برنامه با تایپ اسکریپت
Framework Project - App Actions with Typescript
راه اندازی پروژه + تایپ اسکریپت
Project + Typsecript Setup
Mochawesome Reporter ادغام
Mochawesome Reporter Integration
نمونه گزارش
Reporting Example
دستورات سفارشی تکمیل خودکار
Custom Commands Autocomplete
پیاده سازی JSDocs
JSDocs Implementation
الگوی طراحی اقدامات برنامه - ورود به سیستم
App Actions Design Pattern - Login
الگوی طراحی اقدامات برنامه - ارسال فرم ها
App Actions Design Pattern - Submit Forms
الگوی طراحی اقدامات برنامه - وسایل
App Actions Design Pattern - Fixtures
Helpers & Utility
Helpers & Utility
کد منبع
Source Code
پروژه چارچوب - مدل اشیاء صفحه
Framework Project - Page Objects Model
راه اندازی پروژه
Project Setup
وابستگی های چارچوب
Framework Dependencies
راه اندازی زیباتر
Prettier Setup
راه اندازی زیباتر
Prettier Setup
تکمیل کد هوشمند
Intelligent Code Completion
اسکریپت های چارچوب
Framework Scripts
Cypress JSON & Framework File Config
Cypress JSON & Framework Config File
به سرویس داشبورد Cypress متصل شوید
Connect to Cypress Dashboard Service
اتصال Snapshots Plugin
Connect Snapshots Plugin
توابع مفید و کمکی
Utility & Helper Functions
الگوی اشیاء صفحه - صفحه پایه
Page Objects Pattern - Base Page
Page Objects Pattern - Device Emulation Utility
Page Objects Pattern - Device Emulation Utility
الگوی اشیاء صفحه - اجزاء
Page Objects Pattern - Components
الگوی اشیاء صفحه - صفحات
Page Objects Pattern - Pages
الگوی اشیاء صفحه - اولین تست E2E
Page Objects Pattern - First E2E Test
کامپوننت حساب و پایان تست ورود به سیستم
Account Component & Finish Login Test
چارچوب و داده ها
Framework Fixtures & Data
الگوی اشیاء صفحه - تست بازخورد با وسایل
Page Objects Pattern - Feedback Test with Fixtures
اسکریپت های تست مرورگر متقابل
Cross Browser Testing Scripts
کد منبع
Source Code
پروژه چارچوب - BDD با خیار
Framework Project - BDD with Cucumber
راه اندازی پروژه
Project setup
راه اندازی پرده
Linting setup
راه اندازی Cypress JSON
Cypress JSON setup
پیش پردازشگر خیار
Cucumber preprocessor
ویژگی های خیار
Cucumber Features
تعاریف مرحله خیار
Cucumber Step Definitions
تست ها را در حالت headful اجرا کنید
Run tests in headful mode
خیار با الگوی اشیاء صفحه
Cucumber with Page Objects Pattern
تعاریف مرحله با پارامترهای دینامیک
Step Definitions with Dynamic Parameters
سناریوهای متعدد در هر فایل ویژگی
Multiple Scenarios per Feature files
برچسب های هوشمند
Smart Tags
Utility + تعاریف مرحله مشترک
Utility + Shared Step Definitions
تست BDD End-to-End را کامل کنید
Complete BDD End-To-End Test
کد منبع
Source Code
تست رگرسیون بصری + پرسی
Visual Regression Testing + Percy
راه اندازی پروژه
Project setup
راه اندازی پرده
Linting setup
Cypress JSON
Cypress JSON
افزونه Cypress-image-Snapshot
Cypress-image-snapshot plugin
توابع سفارشی - SetResolution، MatchSnapshots
Custom functions - SetResolution, MatchSnapshots
اسکریپت های تست
Test Scripts
اسکریپت های تست
Test Scripts
پیکربندی افزونه را برطرف کنید
Fix plugin configuration
اجرای آزمون رگرسیون بصری
Implement visual regression test
به روز رسانی عکس های فوری پایه
Update base snapshots
اجرای آزمون رگرسیون بصری پاسخگو
Implement responsive visual regression test
لغو تاریخ و زمان
Date& Time override
عکس های تک عنصری
Single Element Snapshots
iTerm 2 - خبرنگار زمان واقعی
iTerm 2 - Real time reporter
پرچم تست های شکست خورده را غیرفعال کنید
Disable failing tests flag
گزینه های matchImageSnapshot را به صورت محلی لغو کنید
Locally Override matchImageSnapshot options
تست ویژوال E2E: صفحه ورود پاسخگو
E2E Visual Test: Responsive Login Page
تست تصویری E2E: جداول داده
E2E Visual Test: Data Tables
پرسی - مقدمه
Percy - Introduction
پرسی - ادغام با Cypress
Percy - Integration with Cypress
مشکلات را با نصب حل کنید
Solve troubles with installation
پرسی - نمونه تست بصری
Percy - Visual Test Example
کد منبع
Source Code
یکپارچه سازی مداوم + سرویس داشبورد
Continuous Integration + Dashboard Service
CI/CD چیست؟
What is CI / CD
راه اندازی پروژه
Project Setup
جنکینز در مقابل دایره در مقابل تراویس
Jenkins vs Circle vs Travis
راه اندازی پروژه
Project Setup
تنظیم JSON زیباتر و سرو
Prettier & Cypress JSON Setup
ایجاد تست های نمایشی
Create Demo Tests
پروژه را به داشبورد متصل کنید
Connect Project to Dashboard
نمای کلی داشبورد
Dashboard Overview
آپلود خودکار ویدیو در داشبورد
Automatic Video Upload to Dashboard
راه اندازی Cypress Builds با جنکینز
Setup Cypress Builds with Jenkins
ساختمان های پارامتری شده با جنکینز
Parameterized Builds with Jenkins
ادغام داشبورد در جنکینز بیلد
Dashboard Integration Into Jenkins Build
بررسی اجمالی جنکینز
Jenkins Overview
جایزه: اسکریپت سرور جنکینز
BONUS: Jenkins Server Script
تست REST API
REST API Testing
تست API چیست؟
What is API Testing
راه اندازی پروژه
Project Setup
تست های API: اعتبار سنجی هدر
API Tests : Validate Header
تست های API: اعتبار کد وضعیت
API Tests: Validate Status Code
تست های API: اعتبارسنجی محتوا
API Tests: Validate Content
تست های API: پاسخ منفی
API Tests: Negative Response
زمان چالش!
Challenge Time!
کد منبع
Source Code
سرو + بارانداز
Cypress + Docker
راه اندازی پروژه Cypress + Docker
Cypress + Docker Project Setup
ایجاد تست برای Docker
Create Tests for Docker
Dockerfile ایجاد کنید
Create Dockerfile
فایل Docker Ignore ایجاد کنید
Create Docker Ignore File
Cypress Tests را با Docker Container اجرا کنید
Run Cypress Tests with Docker Container
کد منبع
Source Code
کد منبع
Source Code
Cypress + BrowserStack (در آینده)
Cypress + BrowserStack (coming next)
مطالب در حال پیشرفت..
Content in progress..
HTML + جاوا اسکریپت برای آزمایش کنندگان
HTML + JavaScript for Testers
HTML چیست؟
What is HTML?
سرفصل ها و پاراگراف ها
Headings & Paragraphs
پیوندها
Links
تصاویر
Images
قالب بندی عناصر
Formatting Elements
نظرات
Comments
جداول
Tables
لیست ها
Lists
تشکیل می دهد
Forms
کلاس، شناسه، ویژگی های آزمون داده
Class, ID, data-test attributes
دکمه ها
Buttons
نمادها
Symbols
محتوای پویا
Dynamic Content
تگ های سر و متا
Head & Meta tags
مروری بر پشته فناوری جاوا اسکریپت
Javascript tech-stack overview
Var، Let & Const
Var, Let & Const
گزارش کنسول، اطلاعات، هشدار، خطا
Console log, info, warn, error
توابع و توابع پیکان
Functions & Arrow Functions
تاریخ و زمان
Dates & Time
آرایه ها
Arrays
کلاس ها
Classes
وب سایت را بررسی کنید
Inspect Website
توصیف، تست، آن، انتظار
Describe, Test, It, Expect
Async/منتظر
Async / Await
Async/منتظر
Async / Await
Async/منتظر
Async / Await
بهترین تمرین ها و سوالات مصاحبه
Best Practices & Interview Questions
تم های تیره را برای اجرای آزمایشی نصب و راه اندازی کنید
Install and Setup Dark themes for test runner
ادعاهای پر استفاده
Most Used Assertions
گزارشگر JSON Logs ناموفق
Failed Logs JSON Reporter
بهترین شیوه ها
Best Practices
بهترین شیوه ها 2
Best Practices 2
سوالات مصاحبه
Interview Questions
چارچوب تست (محتوای قدیمی)
Test Framework (Old Content)
الگوی اشیاء صفحه چیست؟
What is Page Objects Pattern?
ایجاد صفحه پایه
Create Base Page
Hands on Page Objects الگوی قسمت 1: ایجاد صفحه اصلی
Hands on Page Objects Pattern part 1: Create HomePage
Hands on Page Objects Pattern Part 2: Refactor Feedback test
Hands on Page Objects Pattern part 2: Refactor Feedback test
Hands on Page Objects Pattern Part 3: Components
Hands on Page Objects Pattern part 3: Components
Hands on Page Objects Pattern Part 4: Forgotten Password Page
Hands on Page Objects Pattern part 4: Forgotten Password Page
Hands on Page Objects Pattern Part 5: Refactoring Login/Logout
Hands on Page Objects Pattern part 5: Refactoring Login / Logout
Hands on Page Pattern Objects Part 6: Finish Tests Refactoring
Hands on Page Objects Pattern part 6: Finish Tests Refactoring
فایل کانفیگ ایجاد کنید
Create config file
فایل داده تست ایجاد کنید
Create test data file
پیکربندی URL پایه
Base Url configuration
وسایل: مولدهای داده تصادفی
Fixtures: Random data generators
مرورگرهای متقابل
Cross Browsers
کمک
Help
نمایش نظرات