آموزش نمایشنامه نویس با پایتون برای تست اتوماسیون وب + ویژوال

Playwright with Python for Web Automation Testing + Visual

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یک فریم ورک مقیاس پذیر Pytest از ابتدا با تست ویژوال (رایگان)، اجرای موازی، گزارش ها، CI/CD و موارد دیگر ایجاد کنید. با Python چارچوب Pytest فوق العاده بصری با اجرای موازی، گزارش دهی و دستورات CLI اجرای CI/CD با رمز عبور مناسب در Playwright متخصص شوید. مدیریت و تست بصری مقابله با احراز هویت مختلف و انواع دیگر مشکلات پیش نیاز: بدون نیاز به دانش قبلی دستگاه ویندوز/مک/لینوکس

چارچوب اتوماسیون خود را در عرض چند روز از ابتدا بچرخانید! با Python و pytest بسیار سریع است.

سپس Playwright با اجرای آزمایشی مرورگر سریع نیتروژن خود می آید! ما قصد داریم قابلیت‌های Playwright را با استفاده از نشانگرها، فیکسچرها، دستورات CLI در چارچوب pytest ترکیب کنیم.

در این دوره به موارد زیر می پردازیم:

  • اصول پایتون

  • نمایشنامه نویس

  • Pytest

  • ساختار پروژه

  • مدل شی صفحه

  • گزارش

  • اجرای موازی

  • تجهیزات pytest خودمان را برای روش های set_up و tear_down ایجاد کنیم

  • از وسایل موجود نمایشنامه نویس استفاده کنید

  • تست ما را با استفاده از GitHub Actions روی CI/CD مستقر کنید

  • سیستکس yml را بیاموزید

  • گذرواژه‌های ورود به سیستم را به صورت امن به‌عنوان GitHub Secrets ذخیره کنید

  • تست بصری را مانند یک حرفه ای انجام دهید


چرا نمایشنامه نویس؟

Playwright تست و اتوماسیون سریع، قابل اعتماد و با قابلیت را در همه مرورگرهای مدرن فعال می‌کند.


پشتیبانی از همه مرورگرها

  • روی Chromium، Firefox و WebKit تست کنید. Playwright دارای پوشش API کامل برای همه مرورگرهای مدرن، از جمله Google Chrome و Microsoft Edge (با Chromium)، Apple Safari (با WebKit) و Mozilla Firefox است. تست می تواند در حالت های headful و headless اجرا شود

اجرای سریع و قابل اعتماد

  • منظورم از سریع، واقعاً سریع است!

  • APIهای انتظار خودکار. تعاملات نمایشنامه نویس به طور خودکار منتظر می شوند تا عناصر آماده شوند. این قابلیت اطمینان را بهبود می بخشد و نوشتن تست را ساده می کند.

  • جداسازی سریع با زمینه های مرورگر. استفاده مجدد از یک نمونه مرورگر برای چندین محیط اجرای ایزوله با زمینه مرورگر.

  • انتخابگرهای عنصر ارتجاعی . نمایشنامه‌نویس می‌تواند برای انتخاب عناصر به رشته‌های رو به رو کاربر، مانند محتوای نوشتاری و برچسب‌های دسترسی تکیه کند.

  • چندین دامنه، صفحات و فریم. Playwright یک درایور اتوماسیون خارج از فرآیند است که با اجرای جاوا اسکریپت درون صفحه محدود نمی شود و می تواند سناریوهایی را با چندین صفحه خودکار کند.


سرفصل ها و درس ها

مقدمه Intro

  • مهم - لطفا تماشا کنید! محتوا و ساختار دوره Important - Please watch! Course content and structure

مقدمه Intro

  • مهم - لطفا تماشا کنید! محتوا و ساختار دوره Important - Please watch! Course content and structure

راه اندازی محیط Environment Setup

  • پایتون را نصب کنید Install Python

  • پایتون را نصب کنید Install Python

  • PyCharm IDE را نصب کنید Install PyCharm IDE

  • PyCharm IDE را نصب کنید Install PyCharm IDE

  • ایجاد پروژه در PyCharm Create Project in PyCharm

راه اندازی محیط Environment Setup

  • ایجاد پروژه در PyCharm Create Project in PyCharm

رتبه بندی و بهبود دوره Course rating and improvement

  • رتبه بندی و بهبود دوره Course rating and improvement

  • رتبه بندی و بهبود دوره Course rating and improvement

رتبه بندی و بهبود دوره Course rating and improvement

اصول پایتون Python Fundamentals

  • فایل های پروژه Project files

  • اولین برنامه پایتون First Python program

  • اولین برنامه پایتون First Python program

  • کار با نظرات کد Working with code comments

  • رشته ها، اعداد صحیح و شناورها Strings, Integers and Floats

  • رشته ها، اعداد صحیح و شناورها Strings, Integers and Floats

  • عملیات ساده ریاضی Simple math operations

  • عملیات ساده ریاضی Simple math operations

  • متغیرها Variables

  • قراردادهای نامگذاری متغیرها Variable naming conventions

  • کار با متغیرها Working with Variables

  • رشته های f f-strings

  • رشته های f f-strings

  • ورودی کاربر User Input

  • ورودی کاربر User Input

  • تبدیل نوع داده Data type conversion

  • بولی ها و مقایسه ها Booleans and Comparisons

  • بولی ها و مقایسه ها Booleans and Comparisons

  • اظهارات مشروط Conditional Statements

  • اظهارات elif elif statements

  • اظهارات elif elif statements

  • منطق بولی Boolean logic

  • منطق بولی Boolean logic

  • لیست ها Lists

  • لیست ها Lists

  • تاپل ها Tuples

  • تاپل ها Tuples

  • لغت نامه ها Dictionaries

  • لغت نامه ها Dictionaries

  • برای حلقه ها for loops

  • برای حلقه ها for loops

  • در حالی که حلقه ها while loops

  • در حالی که حلقه ها while loops

  • کارکرد functions

  • توابع با آرگومان ها functions with arguments

  • بازگشت از تابع return from function

  • حاشیه نویسی عملکرد function annotations

  • حاشیه نویسی عملکرد function annotations

اصول پایتون Python Fundamentals

  • فایل های پروژه Project files

  • کار با نظرات کد Working with code comments

  • متغیرها Variables

  • قراردادهای نامگذاری متغیرها Variable naming conventions

  • کار با متغیرها Working with Variables

  • تبدیل نوع داده Data type conversion

  • اظهارات مشروط Conditional Statements

  • کارکرد functions

  • توابع با آرگومان ها functions with arguments

  • بازگشت از تابع return from function

اصول اولیه Python OOP Python OOP Basics

  • معرفی کلاس ها Intro to classes

  • معرفی کلاس ها Intro to classes

  • نمونه های کلاس class examples

  • نمونه های کلاس class examples

اصول اولیه Python OOP Python OOP Basics

پایتون - ماژول ها، کتابخانه استاندارد و پیپ Python - Modules, Standard Library and pip

  • ماژول ها Modules

  • بسته ها Packages

  • بسته ها Packages

  • کتابخانه استاندارد پایتون Standard Python Library

  • کتابخانه استاندارد پایتون Standard Python Library

  • pip - کتابخانه شخص ثالث pip - third-party library

پایتون - ماژول ها، کتابخانه استاندارد و پیپ Python - Modules, Standard Library and pip

  • ماژول ها Modules

  • pip - کتابخانه شخص ثالث pip - third-party library

مبانی نمایشنامه نویس Playwright Basics

  • چرا نمایشنامه نویس؟ Why Playwright?

  • پیوند به صفحه GitHub آموزش نمایشنامه نویس Link to Playwright Tutorial GitHub page

  • پیوند به صفحه GitHub آموزش نمایشنامه نویس Link to Playwright Tutorial GitHub page

  • git را نصب کنید Install git

  • یک مخزن جدید ایجاد کنید و به PyCharm شبیه سازی کنید Create a new repo and clone to PyCharm

  • Playwright و مرورگرهای بتا را نصب کنید Install Playwright and beta-browsers

  • Playwright و مرورگرهای بتا را نصب کنید Install Playwright and beta-browsers

  • با انتشارات نمایشنامه نویس همراه باشید Keep up with Playwright Releases

  • با انتشارات نمایشنامه نویس همراه باشید Keep up with Playwright Releases

  • به روز شد - اولین تست را با نمایشنامه نویس ضبط و پخش کنید Updated - Record and play a first test with Playwright

  • نمایشنامه نویس تست ژنراتور Playwright Test Generator

  • اشکال زدایی و ایجاد با pause() Debug and create with pause()

  • تست ما را با ادعا کامل کنید Complete our test with assertion

  • تست ما را با ادعا کامل کنید Complete our test with assertion

  • فهرستی از تمام ادعاهای expect(). List of all expect() assertions

  • فهرستی از تمام ادعاهای expect(). List of all expect() assertions

  • تست ها خیلی سریع هستند؟ - از slow_mo استفاده کنید! Tests are too fast? - Use slow_mo!

  • تنظیم وقفه های زمانی Setting timeouts

  • تنظیم وقفه های زمانی Setting timeouts

مبانی نمایشنامه نویس Playwright Basics

  • چرا نمایشنامه نویس؟ Why Playwright?

  • git را نصب کنید Install git

  • یک مخزن جدید ایجاد کنید و به PyCharm شبیه سازی کنید Create a new repo and clone to PyCharm

  • به روز شد - اولین تست را با نمایشنامه نویس ضبط و پخش کنید Updated - Record and play a first test with Playwright

  • نمایشنامه نویس تست ژنراتور Playwright Test Generator

  • اشکال زدایی و ایجاد با pause() Debug and create with pause()

  • تست ها خیلی سریع هستند؟ - از slow_mo استفاده کنید! Tests are too fast? - Use slow_mo!

منتخبان نمایشنامه نویس Playwright Selectors

  • جدید و مهم! - page.locator() NEW and IMPORTANT! - page.locator()

  • جدید و مهم! - page.locator() NEW and IMPORTANT! - page.locator()

  • راهنمای مکان یاب نمایشنامه نویس Playwright locators guide

  • راهنمای مکان یاب نمایشنامه نویس Playwright locators guide

  • بازرس نمایشنامه نویس در ابزارهای توسعه دهنده مرورگر Playwright inspector in Browser Dev Tools

  • بازرس نمایشنامه نویس در ابزارهای توسعه دهنده مرورگر Playwright inspector in Browser Dev Tools

  • انتخابگرهای متن Text selectors

  • انتخابگرهای متن Text selectors

  • انتخابگرهای CSS CSS selectors

  • انتخابگرهای CSS CSS selectors

  • :nth-match و :has-text :nth-match and :has-text

  • انتخابگرهای چیدمان Layout selectors

  • انتخابگرهای چیدمان Layout selectors

  • انتخابگرهای XPath XPath selectors

  • زنجیرزنی انتخابگرها>> Chaining selectors >>

  • زنجیرزنی انتخابگرها>> Chaining selectors >>

  • خلاصه منتخبان نمایشنامه نویس Playwright selectors summary

منتخبان نمایشنامه نویس Playwright Selectors

  • :nth-match و :has-text :nth-match and :has-text

  • انتخابگرهای XPath XPath selectors

  • خلاصه منتخبان نمایشنامه نویس Playwright selectors summary

جدید! - ادعاها NEW! - Assertions

  • جدید! - متد expect(). NEW! - expect() method

  • اظهارات اسناد نمایشنامه نویس Assertions Playwright docs

  • اظهارات اسناد نمایشنامه نویس Assertions Playwright docs

جدید! - ادعاها NEW! - Assertions

  • جدید! - متد expect(). NEW! - expect() method

منتظر می ماند Waits

  • منتظر بارگذاری انتخابگر و صفحه باشید Wait for selector and page loads

  • یک انتظار سفارشی بسازید Build a custom wait

منتظر می ماند Waits

  • منتظر بارگذاری انتخابگر و صفحه باشید Wait for selector and page loads

  • یک انتظار سفارشی بسازید Build a custom wait

به روز شد! - مدل شیء صفحه و ساختار پروژه UPDATED! - Page Object Model and Project Structure

  • به روز شد! - مدل شیء صفحه UPDATED! - Page Object Model

  • جدید! - اسناد POM NEW! - POM documentation

  • جدید! - فایل های POM قدیمی خود را با ()page.locator بازسازی کنید NEW! - Refactor your old POM files with page.locator()

  • جدید! - فایل های POM قدیمی خود را با ()page.locator بازسازی کنید NEW! - Refactor your old POM files with page.locator()

  • ساختار پروژه Project structure

  • روش های کمکی POM POM helper methods

به روز شد! - مدل شیء صفحه و ساختار پروژه UPDATED! - Page Object Model and Project Structure

  • به روز شد! - مدل شیء صفحه UPDATED! - Page Object Model

  • جدید! - اسناد POM NEW! - POM documentation

  • ساختار پروژه Project structure

  • روش های کمکی POM POM helper methods

مبانی چارچوب پایتست Pytest Framework Basics

  • pytest را معرفی و نصب کنید Intro and install pytest

  • قراردادهای نامگذاری pytest pytest naming conventions

  • قراردادهای نامگذاری pytest pytest naming conventions

  • اولین تست pytest را با Playwright اجرا کنید Run first pytest test with Playwright

  • pytest را از ناودان PyCharm اجرا کنید Run pytest from PyCharm gutter

  • چندین تست را اجرا کنید Run several tests

  • چندین تست را اجرا کنید Run several tests

  • نشانگرها - رد شوید Markers - skip

  • نشانگرها - رد شوید Markers - skip

  • نشانگرها - xfail Markers - xfail

  • نشانگرها - xfail Markers - xfail

  • نشانگرهای سفارشی Custom markers

  • دستورات مفید pytest CLI Useful pytest CLI commands

  • دستورات مفید pytest CLI Useful pytest CLI commands

  • مستندات دستورات pytest CLI pytest CLI commands documentation

  • مستندات دستورات pytest CLI pytest CLI commands documentation

مبانی چارچوب پایتست Pytest Framework Basics

  • pytest را معرفی و نصب کنید Intro and install pytest

  • اولین تست pytest را با Playwright اجرا کنید Run first pytest test with Playwright

  • pytest را از ناودان PyCharm اجرا کنید Run pytest from PyCharm gutter

  • نشانگرهای سفارشی Custom markers

گزارش دهی و اجرای موازی از طریق CLI Reporting and Parallel Execution via CLI

  • گزارش را نصب و اجرا کنید Install and run report

  • گزارش را نصب و اجرا کنید Install and run report

  • اجرای موازی با pytest Parallel run with pytest

  • دستورات pytest، گزارش و موازی را ترکیب کنید Combine pytest, reporting and parallel commands

  • دستورات pytest، گزارش و موازی را ترکیب کنید Combine pytest, reporting and parallel commands

گزارش دهی و اجرای موازی از طریق CLI Reporting and Parallel Execution via CLI

  • اجرای موازی با pytest Parallel run with pytest

فیکسچرهای Pytest-Playwright و دستورات CLI Pytest-Playwright fixtures and CLI commands

  • معرفی وسایل Intro to fixtures

  • معرفی وسایل Intro to fixtures

  • فایل contest.py conftest.py file

  • فایل contest.py conftest.py file

  • یک فیکسچر set_up ایجاد کنید Create a set_up fixture

  • ثابت صفحه page fixture

  • headed، مرورگرها، slowmo و دستورات CLI شبیه سازی دستگاه headed, browsers, slowmo and device emulation CLI commands

  • headed، مرورگرها، slowmo و دستورات CLI شبیه سازی دستگاه headed, browsers, slowmo and device emulation CLI commands

  • گرفتن اسکرین شات و فیلم های ضبط شده Capturing screenshots and video recordings

  • گرفتن اسکرین شات و فیلم های ضبط شده Capturing screenshots and video recordings

  • دستور --base-url CLI --base-url CLI command

  • بهینه سازی وسایل راه اندازی Optimize set_up fixtures

  • محدوده فیکسچر Fixture scopes

  • ثابت صفحه در مقابل ثابت مرورگر page fixture vs. browser fixture

  • ثابت صفحه در مقابل ثابت مرورگر page fixture vs. browser fixture

  • مرحله tear_down را اضافه کنید Add tear_down step

فیکسچرهای Pytest-Playwright و دستورات CLI Pytest-Playwright fixtures and CLI commands

  • یک فیکسچر set_up ایجاد کنید Create a set_up fixture

  • ثابت صفحه page fixture

  • دستور --base-url CLI --base-url CLI command

  • بهینه سازی وسایل راه اندازی Optimize set_up fixtures

  • محدوده فیکسچر Fixture scopes

  • مرحله tear_down را اضافه کنید Add tear_down step

تست مبتنی بر داده Data Driven Testing

  • نشانگر - پارامتریزه کردن Marker - parametrize

  • نشانگر - پارامتریزه کردن Marker - parametrize

  • داده های تست منفی Data for negative testing

  • برای نگهداری آسان تر و پوشش داده های تست بهتر، پارامتریزه کنید Stack parametrize for easier maintenance and better test data coverage

  • برای نگهداری آسان تر و پوشش داده های تست بهتر، پارامتریزه کنید Stack parametrize for easier maintenance and better test data coverage

تست مبتنی بر داده Data Driven Testing

  • داده های تست منفی Data for negative testing

ادغام CI/CD CI/CD integration

  • GitHub Actions را تنظیم کنید Set up GitHub Actions

  • فایل yml را ویرایش کنید و تست ها را در خط لوله CI/CD اجرا کنید Edit yml file and run tests in CI/CD pipeline

  • لینک مرجع فایل YML YML file reference link

  • لینک مرجع فایل YML YML file reference link

  • از رمز ورود از طریق GitHub Secrets استفاده کنید Use login password via GitHub Secrets

  • از رمز ورود از طریق GitHub Secrets استفاده کنید Use login password via GitHub Secrets

  • تغییر رمز عبور بین اجراهای محلی و راه دور Toggle password between local and remote runs

  • ذخیره رمزهای عبور در فایل env Store passwords in .env file

  • ذخیره رمزهای عبور در فایل env Store passwords in .env file

ادغام CI/CD CI/CD integration

  • GitHub Actions را تنظیم کنید Set up GitHub Actions

  • فایل yml را ویرایش کنید و تست ها را در خط لوله CI/CD اجرا کنید Edit yml file and run tests in CI/CD pipeline

  • تغییر رمز عبور بین اجراهای محلی و راه دور Toggle password between local and remote runs

سناریوهای احراز هویت Authentication scenarios

  • استفاده مجدد از وضعیت احراز هویت با زمینه مرورگر Reuse authenticated state with browser context

  • استفاده مجدد از وضعیت احراز هویت شده با فایل ذخیره سازی Reuse authenticated state with storage file

  • اهمیت page.wait_for_load_state Importance of page.wait_for_load_state

  • آزمایش یک برنامه چت با چندین کاربر Testing a chat application with multiple users

  • آزمایش یک برنامه چت با چندین کاربر Testing a chat application with multiple users

  • احراز هویت مرورگر Browser Authentication

  • احراز هویت مرورگر Browser Authentication

سناریوهای احراز هویت Authentication scenarios

  • استفاده مجدد از وضعیت احراز هویت با زمینه مرورگر Reuse authenticated state with browser context

  • استفاده مجدد از وضعیت احراز هویت شده با فایل ذخیره سازی Reuse authenticated state with storage file

  • اهمیت page.wait_for_load_state Importance of page.wait_for_load_state

تست بصری Visual testing

  • ایجاد عکس های فوری، گرفتن عدم تطابق، پشتیبانی مرورگرها Generating snapshots, capturing mismatches, browsers support

  • ایجاد عکس های فوری، گرفتن عدم تطابق، پشتیبانی مرورگرها Generating snapshots, capturing mismatches, browsers support

  • pytest-نمایشنامه نویس- مخزن و مستندات تصویری pytest-playwright-visual repo and documentation

  • pytest-نمایشنامه نویس- مخزن و مستندات تصویری pytest-playwright-visual repo and documentation

  • پوشاندن عناصر پویا صفحه Masking dynamic page elements

  • کاهش سختی مقایسه Lowering comparison strictness

  • عکس فوری صفحه کامل و گزینه fail_fast Full Page snapshot and fail_fast option

تست بصری Visual testing

  • پوشاندن عناصر پویا صفحه Masking dynamic page elements

  • کاهش سختی مقایسه Lowering comparison strictness

  • عکس فوری صفحه کامل و گزینه fail_fast Full Page snapshot and fail_fast option

نمایش نظرات

آموزش نمایشنامه نویس با پایتون برای تست اتوماسیون وب + ویژوال
جزییات دوره
7 hours
109
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,821
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Symon Storozhenko Symon Storozhenko

مهندس اتوماسیون QA/Pythonista