مرورگر شما از این ویدیو پشتیبانی نمی کند.
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
(صرفا برای مشاهده نمونه ویدیو، ممکن هست نیاز به شکن داشته باشید.)
بارگزاری مجدد
توضیحات دوره:
بهروزرسانی شده در می ۲۰۲۵.
این دوره اکنون دارای Coursera Coach است!
روشی هوشمندتر برای یادگیری با گفتگوهای تعاملی و در لحظه که به شما کمک میکند دانش خود را آزمایش کنید، فرضیات را به چالش بکشید و در طول مسیر یادگیری، درک خود را عمیقتر کنید.
در این دوره پیشرفته، شما سفری را در دنیای چارچوبهای اتوماسیون و یکپارچهسازی مداوم آغاز خواهید کرد؛ شروع با زیرساختهای Logging در پایتون، تسلط بر ثبت پیامها، فرمتهای سفارشی لاگ و ابزارهای Logger. سپس به بررسی عمیق چارچوب unittest، نوشتن تستکیسها، پیادهسازی متدهای setup و teardown و اجرای تستها از طریق ترمینال خواهید پرداخت.
در ادامه، با Pytest آشنا شده و مفاهیمی چون fixtures، ترتیب اجرای تستها و گزارشهای تست HTML را خواهید آموخت. ماژولهای سهبخشی این دوره بر ساخت چارچوبهای قدرتمند با استفاده از Selenium WebDriver و پایتون تمرکز دارند و مواردی نظیر logging، تایید نتایج تست و مدیریت عناصر پویا را پوشش میدهند. تمرینات عملی این مفاهیم را تثبیت میکنند. علاوه بر این، تستهای دادهمحور (Data-Driven Testing)، اجرای کامل مجموعه تستها (Test Suite) و کنترل نسخه با Git و GitHub را یاد میگیرید. همچنین، نحوه راهاندازی و ایمنسازی Jenkins، مدیریت پلاگینها و ساخت پروژههای ریموت را برای بهینهسازی خط لولههای CI/CD خواهید آموخت.
در پایان، شما در زمینه چارچوبهای اتوماسیون و یکپارچهسازی مداوم مهارت یافته و آماده خواهید بود تا پروژههای پیچیده را با اعتماد به نفس مدیریت کنید. این دوره برای توسعهدهندگان نرمافزار، مهندسان QA و تسترهای اتوماسیون با دانش پایه پایتون طراحی شده است. آشنایی با Selenium WebDriver و مفاهیم پایه تست توصیه میشود.
سرفصل ها و درس ها
زیرساختهای لاگینگ (Logging)
Logging Infrastructure
مقدمهای بر زیرساختهای لاگینگ
Introduction to Logging Infrastructure
تغییر فرمت لاگها
Changing the Format of Logs
مثال Logger در کنسول
Logger - Console Example
مثال Logger با فایل پیکربندی
Logger - Configuration File Example
نوشتن یک ابزار لاگ سفارشی و عمومی
Writing a Generic Custom Logger Utility
زیرساختهای Unittest
Unittest Infrastructure
مقدمهای بر Unittest
Unittest Introduction
نوشتن اولین تستکیس
Writing Your First Test Case
پیادهسازی متدهای Setup و TearDown در سطح کلاس
Implementing Class Level Setup and TearDown Methods
استفاده از Assert در متدهای تست
Asserting a Test Method
نحوه اکسپورت PYTHONPATH -tوصیه به تماشا
How to Export PYTHONPATH – Must Watch
نحوه اجرای کد از طریق ترمینال
How to Run Code from Terminal
نحوه ایجاد یک Test Suite
How to Create a Test Suite
چارچوب پیشرفته تست Pytest
Pytest - Advanced Testing Framework
نصب Pytest و نوشتن اولین اسکریپت
Pytest Installation and Writing Your First Script
کار با Fixtures در Pytest
Working with Pytest Fixtures
روشهای مختلف اجرای تستکیسها
Multiple Ways to Run Test Cases
استفاده از Conftest برای Fixtureهای مشترک
Conftest - Common Fixtures to Multiple Modules
مدیریت ترتیب اجرای تستها
Maintaining Run Order of Tests
اجرای تستها بر اساس آرگومانهای خط فرمان
Running Tests Based on Command-Line Arguments
ساختاربندی تستها در یک کلاس تست
Structure Tests in a Test Class
بازگرداندن مقدار از Fixtures
Returning a Value from Fixtures
تولید گزارش تست HTML
Generating HTML Test Report
چارچوب اتوماسیون - بخش اول
Automation Framework - Part 1
مقدمهای بر چارچوب اتوماسیون
Automation Framework Introduction
درک ساختار چارچوب (Framework)
Understanding Framework Structure
محیط مناسب برای تمرین چارچوب
Where to Practice the Framework?
سناریوی تست بدون استفاده از چارچوب
Test Scenario without Framework
تبدیل تستکیس به مدل Page Object Model (POM)
Converting Test Case to the Page Object Model (POM) Framework
بازسازی (Refactoring) کلاس Page Object - بخش اول
Refactoring Your Page Object Class - Part 1
ساخت کلاس سفارشی Selenium Driver
Building Your Custom Selenium Driver Class
بازسازی (Refactoring) کلاس Page Object - بخش دوم
Refactoring Your Page Object Class - Part 2
چارچوب اتوماسیون - بخش دوم
Automation Framework - Part 2
افزودن لاگینگ به چارچوب اتوماسیون
Adding Logging to Automation Framework
تایید نتایج تستکیس
Verifying Test Case Result
تکمیل تستکیسهای صفحه ورود
Completing Login Page Test Cases
ایجاد Conftest برای پیادهسازی متدهای Setup مشترک
Creating Conftest to Implement Common Setup Methods
بازسازی Conftest برای خوانایی بیشتر چارچوب
Refactoring Conftest to Make the Framework More Readable
چارچوب اتوماسیون - بخش سوم
Automation Framework - Part 3
استفاده از Assert بدون توقف اجرای تست
Asserting without Stopping Test Execution
مثال عملی Assert بدون توقف اجرا - بخش اول
Asserting without Stopping Test Execution - Practical Example - Part – 1
مثال عملی Assert بدون توقف اجرا - بخش دوم
Asserting without Stopping Test Execution - Practical Example - Part – 2
پیادهسازی اسکرینشات در چارچوب
Implementing Screenshots in a Framework
گرفتن اسکرینشات هنگام شکست تست
Taking Screenshots on Test Failure
مقدمهای بر مفاهیم BasePage و Util
BasePage and Util Concept Introduction
ارثبری از کلاس BasePage
Inheriting the BasePage Class
تمرینات عملی چارچوب اتوماسیون
Automation Framework - Practice Exercise
متدهای تکمیلی Driver سفارشی پیش از تمرین
Custom Driver - Additional Methods before Exercise
سوالات تمرین عملی
Practice Exercise Question
یافتن لوکیتورهای عناصر - راه حل - بخش اول
Finding Element Locators - Solution - Part 1
ساخت کلاس صفحه ثبت دورهها - راه حل - بخش دوم
Creating Register Courses Page Class - Solution - Part 2
ساخت کلاس تست ثبت دورهها - راه حل - بخش سوم
Creating Register Courses Test Class - Solution Part 3
بهروزرسانی راه حل تمرین عملی - بخش اول
Practice Exercise Solution Update - Part 1
بهروزرسانی راه حل تمرین عملی - بخش دوم
Practice Exercise Solution Update - Part 2
مدیریت iframeهای پویا در چارچوب اتوماسیون
Handling Dynamic iframes in the Automation Framework
تستهای دادهمحور (Data Driven)
Data-Driven Testing
راهاندازی و پیکربندی
Setup and Configuration
پیادهسازی عملی تستهای دادهمحور
Data-Driven Testing - Practical Implementation
ابزاری برای خواندن دادههای CSV
Utility to Read Comma-Separated Values (CSV) Data
مثال عملی تستکیس با مجموعهدادههای متعدد
Multiple Datasets - Test Case Practical Example
اجرای کامل مجموعه تستها
Running Complete Test Suite
مدیریت ناوبری (Navigation) در چارچوب اتوماسیون
Managing Navigation in an Automation Framework
بازسازی تستهای ورود
Refactoring Login Tests
اجرای یک Test Suite
Running a Test Suite
اجرای Test Suite روی مرورگر Chrome
Running Test Suite on Chrome
سیستم کنترل نسخه Git و GitHub
Git and GitHub - Version Control System
مقدمهای بر Git و GitHub
Git and GitHub Introduction
نصب Git روی ویندوز
Git Installation on Windows
نصب Git روی مک
Git Installation on Mac
ایجاد مخزن محلی Git، Staging و Commit
Creating Local Git Repository - Staging and Commit
ارسال فایلها به مخزن ریموت GitHub
File Check In - GitHub Remote Repository
مزایا و اهمیت شاخههای (Branches) گیت
Advantages and Importance of Git Branches
ارسال فایل و حل تداخلات Merge - مثال واقعی
File Check in and Resolving Merge Conflicts – Real-Time Example
فایلهای کد دوره در GitHub
Course Code Files on GitHub
ارسال پروژه به GitHub و کلون کردن (Clone)
GitHub Project Check-In and Clone
یکپارچهسازی مداوم با Jenkins
Continuous Integration with Jenkins
ویژگیها و مزایای Jenkins
Jenkins Features and Advantages
پیشنیازهای Jenkins
Jenkins Prerequisites
نصب و راهاندازی Jenkins با فایل WAR
Jenkins Setup and Installation - Generic WAR File
نصب و راهاندازی Jenkins در ویندوز
Jenkins Setup and Installation – Windows
نصب و راهاندازی Jenkins در مک
Jenkins Setup and Installation – Mac
ایمنسازی Jenkins
Securing Jenkins
مدیریت پلاگینهای Jenkins
Jenkins Plug-Ins Management
ساخت یک پروژه ریموت با استفاده از Git و Jenkins
Building a Remote Project Using Git and Jenkins
جمعبندی
Conclusion
جمعبندی نهایی تخصص
Conclusion to the Specialization
نمایش نظرات