دوره آموزشی اتوماسیون تست وب با Playwright، Python و Pytest: تسلط بر تست مدرن وب با Playwright و Pytest در پایتون
9 ساعت 34 دقیقهمتوسط2026-02-27
مدرسین

Packt Publishing
جزئیات دوره
اگر میخواهی وارد دنیای حرفهای تست نرمافزار، اتوماسیون تست و تضمین کیفیت (QA Automation) شوی، یادگیری Playwright و Pytest یکی از بهترین انتخابهاست. این دوره به صورت کامل و عملی به شما آموزش میدهد چگونه فرآیند تست اپلیکیشنهای وب را با استفاده از Python، Playwright و Pytest خودکارسازی کنید و تستهایی پایدار، مقیاسپذیر و آماده استفاده در محیطهای واقعی توسعه نرمافزار بسازید.
در ابتدای دوره با نصب و راهاندازی Playwright در پایتون آشنا میشوی و یاد میگیری چگونه مرورگرها را کنترل کرده و تعاملات کاربران را شبیهسازی کنی. سپس با انواع Locatorها و روشهای انتخاب عناصر صفحات وب آشنا میشوی تا بتوانی عناصر مختلف را بهصورت دقیق و قابل اعتماد پیدا کنی.
در ادامه یاد میگیری چگونه عملیاتهای واقعی کاربران مانند کلیک کردن، ورود اطلاعات، آپلود فایل، فشردن کلیدهای صفحهکلید و تعامل با فرمها را شبیهسازی کنی. همچنین مدیریت رویدادهای ناهمزمان (Asynchronous Events) و بررسی رفتارهای داینامیک برنامه نیز آموزش داده میشود.
یکی از بخشهای مهم این دوره، آموزش کامل Pytest است. با Fixtureها، Scopeها و ساختاردهی حرفهای پروژههای تست آشنا میشوی تا بتوانی تستهای بزرگ و پیچیده را به شکل سازمانیافته مدیریت کنی.
در بخشهای پیشرفتهتر، معماری Page Object Model یا POM را یاد میگیری که یکی از استانداردهای مهم طراحی فریمورکهای تست خودکار است. همچنین نحوه تست سیستمهای احراز هویت، مدیریت Sessionها، بررسی درخواستهای API و تست ارتباطات شبکه نیز آموزش داده میشود.
برای افزایش سرعت اجرای تستها، مباحثی مانند اجرای موازی (Parallel Execution)، رهگیری درخواستها (Request Interception) و بهینهسازی عملکرد تستها بررسی میشوند. همچنین یاد میگیری چطور تستهای خود را به GitHub Actions متصل کنی تا در فرآیند CI/CD بهصورت خودکار اجرا شوند.
در پایان نیز با تکنیکهای Data-Driven Testing و ابزار Behave برای پیادهسازی BDD (Behavior Driven Development) آشنا میشوی تا بتوانی تستهایی نزدیک به نیازهای واقعی کسبوکار ایجاد کنی.
این دوره برای تسترهای نرمافزار، توسعهدهندگان، مهندسان QA، متخصصان DevOps و هر کسی که میخواهد در حوزه تست اتوماسیون حرفهای شود، بسیار ارزشمند است.
اهداف یادگیری
نصب و پیکربندی Playwright برای تستنویسی در پایتون
شناسایی و مدیریت عناصر صفحات وب با Locatorهای مختلف
خودکارسازی تعاملات کاربران در مرورگر
مدیریت رویدادهای ناهمزمان در تستهای وب
ساخت و نگهداری فریمورکهای تست با Pytest
استفاده از Fixtureها و Scopeها در پروژههای تست
پیادهسازی Page Object Model برای تستهای مقیاسپذیر
تست رابط کاربری و API به صورت End-to-End
ادغام تستها با GitHub Actions و CI/CD
استفاده از BDD و تستهای دادهمحور در پروژههای حرفهای
در ابتدای دوره با نصب و راهاندازی Playwright در پایتون آشنا میشوی و یاد میگیری چگونه مرورگرها را کنترل کرده و تعاملات کاربران را شبیهسازی کنی. سپس با انواع Locatorها و روشهای انتخاب عناصر صفحات وب آشنا میشوی تا بتوانی عناصر مختلف را بهصورت دقیق و قابل اعتماد پیدا کنی.
در ادامه یاد میگیری چگونه عملیاتهای واقعی کاربران مانند کلیک کردن، ورود اطلاعات، آپلود فایل، فشردن کلیدهای صفحهکلید و تعامل با فرمها را شبیهسازی کنی. همچنین مدیریت رویدادهای ناهمزمان (Asynchronous Events) و بررسی رفتارهای داینامیک برنامه نیز آموزش داده میشود.
یکی از بخشهای مهم این دوره، آموزش کامل Pytest است. با Fixtureها، Scopeها و ساختاردهی حرفهای پروژههای تست آشنا میشوی تا بتوانی تستهای بزرگ و پیچیده را به شکل سازمانیافته مدیریت کنی.
در بخشهای پیشرفتهتر، معماری Page Object Model یا POM را یاد میگیری که یکی از استانداردهای مهم طراحی فریمورکهای تست خودکار است. همچنین نحوه تست سیستمهای احراز هویت، مدیریت Sessionها، بررسی درخواستهای API و تست ارتباطات شبکه نیز آموزش داده میشود.
برای افزایش سرعت اجرای تستها، مباحثی مانند اجرای موازی (Parallel Execution)، رهگیری درخواستها (Request Interception) و بهینهسازی عملکرد تستها بررسی میشوند. همچنین یاد میگیری چطور تستهای خود را به GitHub Actions متصل کنی تا در فرآیند CI/CD بهصورت خودکار اجرا شوند.
در پایان نیز با تکنیکهای Data-Driven Testing و ابزار Behave برای پیادهسازی BDD (Behavior Driven Development) آشنا میشوی تا بتوانی تستهایی نزدیک به نیازهای واقعی کسبوکار ایجاد کنی.
این دوره برای تسترهای نرمافزار، توسعهدهندگان، مهندسان QA، متخصصان DevOps و هر کسی که میخواهد در حوزه تست اتوماسیون حرفهای شود، بسیار ارزشمند است.
اهداف یادگیری
نصب و پیکربندی Playwright برای تستنویسی در پایتون
شناسایی و مدیریت عناصر صفحات وب با Locatorهای مختلف
خودکارسازی تعاملات کاربران در مرورگر
مدیریت رویدادهای ناهمزمان در تستهای وب
ساخت و نگهداری فریمورکهای تست با Pytest
استفاده از Fixtureها و Scopeها در پروژههای تست
پیادهسازی Page Object Model برای تستهای مقیاسپذیر
تست رابط کاربری و API به صورت End-to-End
ادغام تستها با GitHub Actions و CI/CD
استفاده از BDD و تستهای دادهمحور در پروژههای حرفهای
سرفصل ها
شروع کار
- چیدمان نمایشنامهنویس
- اسناد نمایشنامهنویس
- راه اندازی مرورگر
- کلیک روی عنصر لینک
- مرور کلی اسکریپت
مکانیابها
- نمایشنامه نویس پایتون REPL
- نقش مکانیاب
- فیلد ورودی مکانیابها
- متن مکان یاب
- متن جایگزین مکاننما
- عنوان مکانیاب
- مکانیابی با انتخابگرهای CSS
- سلسله مراتب انتخابگرهای CSS
- شبه کلاسهای انتخابگر CSS
- مکانیابها XPath
- توابع XPath
- سایر مکانیابها
اقدامات
- اقدامات ماوس
- ورودی متن عملیات
- رادیوها، چکباکسها و سوئیچها
- گزینه را انتخاب کنید
- منوی کشویی
- آپلود فایلها
- میانبرهای صفحه کلید
رویدادها
- انتظار خودکار نمایشنامهنویس
- ناوبری خودکار در انتظار
- انتظار سفارشی
- شنوندگان رویداد
- مدیریت دیالوگها
- دانلود فایلها
- همگامسازی و ناهمگامسازی چیست؟
- نمایشنامهنویس ناهمزمان
احراز هویت
- ورود به سیستم گوگل
- ذخیره وضعیت احراز هویت
- استفاده مجدد از وضعیت احراز هویت
- مشکل ورود به سیستم گوگل
بررسی خودکار ایمیل
- بررسی خودکار ایمیل
- تنظیمات پروژه
- پیدا کردن ایمیلهای جدید
- یافتن دادههای ایمیل
- مکانیابها را ترکیب کنید
- بررسی ایمیل از طریق ترمینال
پایتست
- تست Pytest
- آزمون نوشتاری
- آزمون دویدن
- اشاره به نوع
- حالت تست
- فیکسچر تست پایتست
- استفاده از فیکسچر
- محدوده ثابت
افزونهی pytest-playwright
- نصب افزونه pytest-playwright
- آزمون نمایشنامهنویسی
- آزمون دویدن
- پیکربندی Pytest
- قلاب تست
ابزارهای نمایشنامهنویسی
- گرفتن اسکرین شات
- ضبط ویدیو
- تولیدکننده و نمایشگر ردیابی
- کدگن نمایشنامهنویس
ادعاهای وب-اول
- صفحه ادعاها
- حالت عنصر ادعاها
- متن عنصر ادعاها
- ویژگی ادعاها
- فیلد ورودی ادعاها
- کادر تأیید ادعاها
- منوی گزینههای Assertions
زمین بازی تست رابط کاربری
- تست رابط کاربری با شناسه پویا
- ویژگی کلاس تست رابط کاربری
- لایه پنهان تست رابط کاربری
- تأخیر در بارگذاری تست رابط کاربری
- تست رابط کاربری درخواست AJAX
- تست رابط کاربری (UI) و کلیک (click action)
- فیلد ورودی تست رابط کاربری
- نوارهای پیمایش تست رابط کاربری
- جدول پویای تست رابط کاربری
- تست رابط کاربری، متن را تأیید کنید
- نوار پیشرفت تست رابط کاربری
- قابلیت مشاهده تست رابط کاربری
- ورود به برنامه تست رابط کاربری
- تست رابط کاربری با موس
- تست رابط کاربری (UI) با استفاده از کاراکترهای nbsp
- تست رابط کاربری همپوشانی داشت
برنامههای ویژه نمایشنامهنویسان
- فیکسچرهای محدوده عملکرد
- وسایل محدوده جلسه
- انتخاب مرورگر
- آرگومانهای راهاندازی مرورگر و زمینه
مدل شیء صفحه (POM)
- مدل شیء صفحه چیست؟
- پیادهسازی مدل شیء صفحه
- کاربرد مدل شیء صفحه
- صفحه اصلی نمایشنامهنویس POM
- کاربرد POM
رویدادهای شبکه
- رویدادهای شبکه
- رسیدگی به درخواستها
- اصلاح پاسخ
تست API
- برقراری یک فراخوانی API
- زمینه درخواست API
- رشته پرسوجوی API
- عملیات CRUD
- API آزمایشی
بهینهسازی
- درخواستهای رهگیری
- غیرفعال کردن جاوا اسکریپت
- اجرای تستها به صورت موازی
نکات و ترفندها
- آرگومانهای رابط خط فرمان Pytest
- اشکالزدای پایتون
- شبیهسازی دستگاه
- ارزیابی جاوا اسکریپت
- ایجاد گزارشها
رابط برنامهنویسی کاربردی گیتهاب
- معرفی API گیتهاب
- راهاندازی پروژه
- توکن گیتهاب
- زمینه API مجاز
- آزمونهای نوشتاری
- اجرای تستها
ادغام مداوم (CI)
- مقدمهای بر GitHub CI
- مخزن تنظیمات
- آزمونهای نوشتاری
- اقدام گیتهاب
- اجرای تستهای خودکار
تست دادهمحور
- آزمایش داده محور چیست؟
- پارامتربندی Pytest
- آزمون دویدن
توسعه مبتنی بر رفتار (BDD)
- مراحل اجرا
- اجرای تستها
- توسعه مبتنی بر رفتار چیست؟
- راهاندازی پروژه
- تعریف ویژگی
دوره های مرتبط
- دوره آموزشی نوشتن اسکریپت برای تستکنندهها
- دوره آموزشی Playwright
- دوره آموزشی Playwright: الگوهای طراحی
- دوره آموزشی تکنیکهای پیشرفته Playwright: بهینهسازی سرعت، پایداری و تست ابری
- دوره آموزشی یادگیری جامع Playwright: انتزاعها، ابزارهای کمکی و سناریوهای پیچیده
- دوره آموزشی ساخت ایجنتهای مرورگر مبتنی بر هوش مصنوعی با Playwright و مدلهای زبانی بزرگ
- دوره آموزشی یادگیری Selenium: ساختاردهی، مقیاسبندی، اجرا و بهینهسازی تستهای خودکار
- دوره آموزشی MCP عملی: گسترش حالت Agent با VS Code