مرورگر شما از این ویدیو پشتیبانی نمی کند.
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
(صرفا برای مشاهده نمونه ویدیو، ممکن هست نیاز به شکن داشته باشید.)
بارگزاری مجدد
توضیحات دوره:
یک فریم ورک مقیاس پذیر 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 تست و اتوماسیون سریع، قابل اعتماد و با قابلیت را در همه مرورگرهای مدرن فعال میکند.
پشتیبانی از همه مرورگرها
اجرای سریع و قابل اعتماد
منظورم از سریع، واقعاً سریع است!
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
نمایش نظرات