آموزش تست خودکار نرم افزار با Cypress

Automated Software Testing with Cypress

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: [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

نمایش نظرات

آموزش تست خودکار نرم افزار با Cypress
جزییات دوره
16 hours
196
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
12,114
4.4 از 5
دارد
دارد
دارد
Kaniel Outis
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kaniel Outis Kaniel Outis

کارشناس و مشاور تست نرم افزار