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

Automated Software Testing with Python

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: در مورد تست نرم افزار خودکار با Python، BDD، Selenium WebDriver و Postman، تمرکز بر برنامه های کاربردی وب اطلاعات کسب کنید. تست‌های خودکار نوشتن تست‌های سیستم کامل با استفاده از پایتون و ابزارهایی مانند Postman با راه‌اندازی یک خط لوله یکپارچه‌سازی مداوم با استفاده از تست پذیرش مبتنی بر مرورگر Travis CI با استفاده از Behave و Selenium WebDriver پیش نیازها: ما به شما یک بازنگری کامل پایتون می‌دهیم، اما برخی از دانش قبلی در مورد برنامه نویسی مفید خواهد بود برخی از دانش های مربوط به نحوه عملکرد برنامه های کاربردی وب. درک API های REST مفید خواهد بود، اما لازم نیست.

به جامع ترین دوره تست نرم افزار خودکار با پایتون در Udemy خوش آمدید.

آزمایش اتوماسیون نباید دردناک باشد. تست نرم‌افزار یک مهارت ضروری برای هر توسعه‌دهنده‌ای است، و من اینجا هستم تا به شما کمک کنم واقعاً همه انواع اتوماسیون تست با پایتون را درک کنید.

من خوزه، مهندس نرم افزار و بنیانگذار Teclado هستم. تمرکز این دوره بر روی آزمایش برای وب است—ما با REST APIها و برنامه های کاربردی وب و فناوری هایی مانند unittest، Postman، و Selenium WebDriver کار خواهیم کرد.

هر چند نترسید، پس از گذراندن این دوره، می‌توانید دانش آزمایشی جدید خود را بگیرید و آن را در هر پروژه، حتی پروژه‌های غیر وب، به کار ببرید!

با چه چیزی کار خواهید کرد؟

این دوره مملو از آخرین فناوری‌ها است که می‌توانید به صورت حرفه‌ای و در پروژه‌های شخصی از آن استفاده کنید:

  • کتابخانه واحد تست، کتابخانه استاندارد تست نرم افزار خودکار پایتون؛

  • مسخره کردن و وصله کردن، دو ابزار ضروری برای کاهش وابستگی هنگام آزمایش؛

  • واحد، ادغام، سیستم و تست پذیرش — همه انواع آزمایش برای تحت پوشش قرار دادن کامل شما؛

  • پستچی برای همکاری و آزمایش آسان در حین توسعه؛

  • Selenium WebDriver برای تست های خودکار مرورگر ;

  • Git و Travis برای ادغام مداوم پروژه شما.

مهارت های اساسی تست نرم افزار

ما هر مهارت اساسی تست نرم‌افزاری را که باید بدانید تا بتوانید یک تست شغلی بگیرید یا این مهارت‌ها را در پروژه‌های موجود خود به کار ببرید، پوشش خواهیم داد.

از مواردی مانند مسخره کردن و وصله کردن با استفاده از کتابخانه unittest که وابستگی ها را کاهش می دهد و تست های پیچیده را به تست های ساده تبدیل می کند. برای بررسی انواع تست: تست های واحد ساده تا تست های سیستم بزرگ و حتی تست های پذیرش مشتری.

هرم تست

هرم تست می‌گوید که باید تعداد زیادی تست واحد، تست‌های ادغام کمی کمتر، حتی تست‌های سیستمی کمتر، و تا حد امکان کمتر تست‌های پذیرش داشته باشید.

در طول دوره ما روی این مفهوم کار می‌کنیم و مطمئن می‌شویم که همه اجزای سیستم خود را با تست‌های واحد پوشش کامل داریم. سپس وابستگی ها را با استفاده از تست های ادغام آزمایش می کنیم. در نهایت، کل سیستم و مفروضات آن را با استفاده از تست های سیستم پوشش می دهیم. البته، ما همچنین بررسی خواهیم کرد که تست پذیرش چیست، چگونه به آزمون‌های پذیرش می‌رسیم، و برخی از بهترین راه‌ها برای نوشتن آزمون‌های پذیرش برای یک برنامه وب با استفاده از توسعه رفتار محور و سلنیوم WebDriver.

تست خودکار مرورگر با Selenium WebDriver

Selenium WebDriver بسیار قدرتمند است، به ویژه هنگامی که با رویکرد کارآمد و آزمایش شده توصیه شده در این دوره همراه باشد. ما تست های پذیرش خود را به صورت حرفه ای طراحی می کنیم - درست همانطور که شما در یک کار تست نرم افزار انجام می دهید. ما از مدل‌های صفحه، مکان یاب‌ها و تعاریف مرحله برای ساختار آزمایش‌های خودکار به روشی قابل استفاده مجدد استفاده می‌کنیم. مشتریان می‌توانند آزمون‌های پذیرش را ارائه دهند که می‌توانید به راحتی آن‌ها را به کد ترجمه کنید.

ما همچنین در مورد انتظارهای ضمنی و صریح با Selenium WebDriver و Python، یک مفهوم کلیدی برای سرعت بخشیدن به زمان اجرای تست های پذیرش شما، آشنا خواهیم شد.

ادغام پیوسته

ما همچنین نحوه انجام آزمایش خودکار را در پروژه‌های خود بسیار بیشتر توضیح می‌دهیم.

با پیاده‌سازی خط لوله یکپارچه‌سازی مداوم که آزمایش‌های شما را هر زمان که هر تغییری ایجاد می‌کنید اجرا می‌کند، کیفیت بسیار بالاتری در پروژه‌های خود خواهید داشت و اجازه نمی‌دهید هیچ اشکال مزاحم شما را از بین ببرد. ما به دنبال قرار دادن پروژه های خود در GitHub و دوست داشتن خط لوله CI با آنها خواهیم بود.

من واقعاً هیجان زده هستم که شما را در این دوره راهنمایی کنم!

به من در این سفر آزمایشی خودکار بپیوندید. من شما را در داخل می بینم!


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

خوش آمدی! Welcome!

  • نحوه گذراندن این دوره How to take this course

  • یک خود ارزیابی A self-assessment

  • نصب Python و PyCharm در ویندوز Installing Python and PyCharm on Windows

  • نصب Python و PyCharm در OS X Installing Python and PyCharm on OS X

خوش آمدی! Welcome!

  • نحوه گذراندن این دوره How to take this course

  • یک خود ارزیابی A self-assessment

  • نصب Python و PyCharm در ویندوز Installing Python and PyCharm on Windows

  • نصب Python و PyCharm در OS X Installing Python and PyCharm on OS X

یک تجدید کننده کامل پایتون A Full Python Refresher

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • متغیرها در پایتون Variables in Python

  • متغیرها (Python 3.10) Variables (Python 3.10)

  • راه حل تمرین کدنویسی: متغیرها Solution to coding exercise: Variables

  • قالب بندی رشته در پایتون String formatting in Python

  • دریافت ورودی کاربر Getting user input

  • نوشتن اولین برنامه پایتون Writing our first Python app

  • لیست ها، تاپل ها و مجموعه ها Lists, tuples, and sets

  • عملیات مجموعه پیشرفته Advanced set operations

  • لیست ها، تاپل ها و مجموعه ها (Python 3.10) Lists, tuples, and sets (Python 3.10)

  • راه حل تمرین کدنویسی: لیست ها، تاپل ها، مجموعه ها Solution to coding exercise: lists, tuples, sets

  • بولی ها در پایتون Booleans in Python

  • اگر اظهارات If statements

  • کلمه کلیدی "in" در پایتون The 'in' keyword in Python

  • اگر عباراتی با کلمه کلیدی "in" وجود دارد If statements with the 'in' keyword

  • حلقه ها در پایتون Loops in Python

  • کنترل جریان - حلقه‌ها و اگرها (Python 3.10) Flow control—loops and ifs (Python 3.10)

  • راه حل تمرین کدگذاری: کنترل جریان Solution to coding exercise: flow control

  • فهرست درک در پایتون List comprehensions in Python

  • لغت نامه ها Dictionaries

  • متغیرهای تخریب کننده Destructuring variables

  • توابع در پایتون Functions in Python

  • آرگومان ها و پارامترهای تابع Function arguments and parameters

  • مقادیر پارامترهای پیش فرض Default parameter values

  • توابع مقادیر را برمی گرداند Functions returning values

  • توابع (Python 3.10) Functions (Python 3.10)

  • راه حل تمرین کدنویسی: توابع Solution to coding exercise: Functions

  • توابع لامبدا در پایتون Lambda functions in Python

  • درک فرهنگ لغت Dictionary comprehensions

  • دیکشنری ها و دانش آموزان (Python 3.10) Dictionaries and students (Python 3.10)

  • راه حل تمرین کدنویسی: فرهنگ لغت Solution to coding exercise: dictionaries

  • باز کردن آرگومان ها Unpacking arguments

  • باز کردن آرگومان های کلمه کلیدی Unpacking keyword arguments

  • برنامه نویسی شی گرا در پایتون Object-Oriented Programming in Python

  • روش های جادویی: __str__ و __repr__ Magic methods: __str__ and __repr__

  • کلاس ها و اشیا (Python 3.10) Classes and objects (Python 3.10)

  • راه حل تمرین کدنویسی: کلاس ها و اشیا Solution to coding exercise: classes and objects

  • @classmethod و @staticmethod @classmethod and @staticmethod

  • @classmethod و @staticmethod (Python 3.10) @classmethod and @staticmethod (Python 3.10)

  • راه حل تمرین کدنویسی: @classmethod و @staticmethod Solution to coding exercise: @classmethod and @staticmethod

  • وراثت طبقاتی Class inheritance

  • ترکیب کلاس Class composition

  • hinting را در پایتون 3.5+ تایپ کنید Type hinting in Python 3.5+

  • واردات در پایتون Imports in Python

  • واردات نسبی در پایتون Relative imports in Python

  • خطاها در پایتون Errors in Python

  • کلاس های خطای سفارشی Custom error classes

  • توابع درجه یک First-class functions

  • دکوراتورهای ساده در پایتون Simple decorators in Python

  • نحو "at" برای دکوراتورها The 'at' syntax for decorators

  • تزئین توابع با پارامترها Decorating functions with parameters

  • دکوراتورها با پارامترها Decorators with parameters

  • تغییرپذیری در پایتون Mutability in Python

  • پارامترهای پیش فرض قابل تغییر (و چرا ایده بدی هستند) Mutable default parameters (and why they're a bad idea)

  • نتیجه گیری این بخش Conclusion of this section

یک تجدید کننده کامل پایتون A Full Python Refresher

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • متغیرها در پایتون Variables in Python

  • متغیرها (Python 3.10) Variables (Python 3.10)

  • راه حل تمرین کدنویسی: متغیرها Solution to coding exercise: Variables

  • قالب بندی رشته در پایتون String formatting in Python

  • دریافت ورودی کاربر Getting user input

  • نوشتن اولین برنامه پایتون Writing our first Python app

  • لیست ها، تاپل ها و مجموعه ها Lists, tuples, and sets

  • عملیات مجموعه پیشرفته Advanced set operations

  • لیست ها، تاپل ها و مجموعه ها (Python 3.10) Lists, tuples, and sets (Python 3.10)

  • راه حل تمرین کدنویسی: لیست ها، تاپل ها، مجموعه ها Solution to coding exercise: lists, tuples, sets

  • بولی ها در پایتون Booleans in Python

  • اگر اظهارات If statements

  • کلمه کلیدی "in" در پایتون The 'in' keyword in Python

  • اگر عباراتی با کلمه کلیدی "in" وجود دارد If statements with the 'in' keyword

  • حلقه ها در پایتون Loops in Python

  • کنترل جریان - حلقه‌ها و اگرها (Python 3.10) Flow control—loops and ifs (Python 3.10)

  • راه حل تمرین کدگذاری: کنترل جریان Solution to coding exercise: flow control

  • فهرست درک در پایتون List comprehensions in Python

  • لغت نامه ها Dictionaries

  • متغیرهای تخریب کننده Destructuring variables

  • توابع در پایتون Functions in Python

  • آرگومان ها و پارامترهای تابع Function arguments and parameters

  • مقادیر پارامترهای پیش فرض Default parameter values

  • توابع مقادیر را برمی گرداند Functions returning values

  • توابع (Python 3.10) Functions (Python 3.10)

  • راه حل تمرین کدنویسی: توابع Solution to coding exercise: Functions

  • توابع لامبدا در پایتون Lambda functions in Python

  • درک فرهنگ لغت Dictionary comprehensions

  • دیکشنری ها و دانش آموزان (Python 3.10) Dictionaries and students (Python 3.10)

  • راه حل تمرین کدنویسی: فرهنگ لغت Solution to coding exercise: dictionaries

  • باز کردن آرگومان ها Unpacking arguments

  • باز کردن آرگومان های کلمه کلیدی Unpacking keyword arguments

  • برنامه نویسی شی گرا در پایتون Object-Oriented Programming in Python

  • روش های جادویی: __str__ و __repr__ Magic methods: __str__ and __repr__

  • کلاس ها و اشیا (Python 3.10) Classes and objects (Python 3.10)

  • راه حل تمرین کدنویسی: کلاس ها و اشیا Solution to coding exercise: classes and objects

  • @classmethod و @staticmethod @classmethod and @staticmethod

  • @classmethod و @staticmethod (Python 3.10) @classmethod and @staticmethod (Python 3.10)

  • راه حل تمرین کدنویسی: @classmethod و @staticmethod Solution to coding exercise: @classmethod and @staticmethod

  • وراثت طبقاتی Class inheritance

  • ترکیب کلاس Class composition

  • hinting را در پایتون 3.5+ تایپ کنید Type hinting in Python 3.5+

  • واردات در پایتون Imports in Python

  • واردات نسبی در پایتون Relative imports in Python

  • خطاها در پایتون Errors in Python

  • کلاس های خطای سفارشی Custom error classes

  • توابع درجه یک First-class functions

  • دکوراتورهای ساده در پایتون Simple decorators in Python

  • نحو "at" برای دکوراتورها The 'at' syntax for decorators

  • تزئین توابع با پارامترها Decorating functions with parameters

  • دکوراتورها با پارامترها Decorators with parameters

  • تغییرپذیری در پایتون Mutability in Python

  • پارامترهای پیش فرض قابل تغییر (و چرا ایده بدی هستند) Mutable default parameters (and why they're a bad idea)

  • نتیجه گیری این بخش Conclusion of this section

اولین تست نرم افزار خودکار شما Your first automated software test

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه ما Setting up our project

  • مهم: نام گذاری فایل های تست Important: the naming of test files

  • نوشتن اولین آزمون ما Writing our first test

  • تست معادل سازی فرهنگ لغت Testing dictionary equivalence

  • نوشتن تست های وبلاگ و پیکربندی های اجرای PyCharm Writing blog tests and PyCharm run configurations

  • روش __repr__ و مقدمه ای برای TDD The __repr__ method, and intro to TDD

  • تست های ادغام و تکمیل وبلاگ Integration tests and finishing the blog

  • مسخره کردن، وصله کردن، و تست سیستم Mocking, patching, and system tests

  • اصلاح روش ورودی و برگرداندن مقادیر Patching the input method and returning values

  • انجام وصله ما بیشتر است Taking our patching further

  • چند وصله آخر! The last few patches!

  • روش TestCase setUp The TestCase setUp method

  • نتیجه گیری این بخش Conclusion of this section

اولین تست نرم افزار خودکار شما Your first automated software test

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه ما Setting up our project

  • مهم: نام گذاری فایل های تست Important: the naming of test files

  • نوشتن اولین آزمون ما Writing our first test

  • تست معادل سازی فرهنگ لغت Testing dictionary equivalence

  • نوشتن تست های وبلاگ و پیکربندی های اجرای PyCharm Writing blog tests and PyCharm run configurations

  • روش __repr__ و مقدمه ای برای TDD The __repr__ method, and intro to TDD

  • تست های ادغام و تکمیل وبلاگ Integration tests and finishing the blog

  • مسخره کردن، وصله کردن، و تست سیستم Mocking, patching, and system tests

  • اصلاح روش ورودی و برگرداندن مقادیر Patching the input method and returning values

  • انجام وصله ما بیشتر است Taking our patching further

  • چند وصله آخر! The last few patches!

  • روش TestCase setUp The TestCase setUp method

  • نتیجه گیری این بخش Conclusion of this section

تست نقطه پایانی فلاسک Testing a Flask Endpoint

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه ما Setting our project up

  • ایجاد برنامه Flask ما Creating our Flask app

  • اولین تست سیستم ما Our first System test

  • بازسازی آزمایشات سیستم ما Refactoring our System Tests

  • نتیجه گیری این بخش Conclusion of this section

تست نقطه پایانی فلاسک Testing a Flask Endpoint

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه ما Setting our project up

  • ایجاد برنامه Flask ما Creating our Flask app

  • اولین تست سیستم ما Our first System test

  • بازسازی آزمایشات سیستم ما Refactoring our System Tests

  • نتیجه گیری این بخش Conclusion of this section

تست REST API، بخش اول REST API Testing, Part I

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • نگاهی به یک REST API با Flask A look at a REST API with Flask

  • واحد در حال آزمایش یک REST API Unit testing a REST API

  • راه اندازی BaseTest عمومی ما Setting up our generic BaseTest

  • تست یکپارچه سازی REST API Integration testing a REST API

  • نتیجه گیری این بخش Conclusion of this section

تست REST API، بخش اول REST API Testing, Part I

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • نگاهی به یک REST API با Flask A look at a REST API with Flask

  • واحد در حال آزمایش یک REST API Unit testing a REST API

  • راه اندازی BaseTest عمومی ما Setting up our generic BaseTest

  • تست یکپارچه سازی REST API Integration testing a REST API

  • نتیجه گیری این بخش Conclusion of this section

تست REST API، قسمت دوم REST API Testing, Part II

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه ما Setting up our project

  • تست محدودیت های کلید خارجی با پایتون Testing foreign key constraints with Python

  • مدل‌های تست واحد و نقشه‌بردارهای SQLAlchemy Unit testing models and SQLAlchemy mappers

  • در حال اتمام تست های فروشگاه ما Finishing our Store tests

  • نتیجه گیری این بخش Conclusion of this section

تست REST API، قسمت دوم REST API Testing, Part II

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه ما Setting up our project

  • تست محدودیت های کلید خارجی با پایتون Testing foreign key constraints with Python

  • مدل‌های تست واحد و نقشه‌بردارهای SQLAlchemy Unit testing models and SQLAlchemy mappers

  • در حال اتمام تست های فروشگاه ما Finishing our Store tests

  • نتیجه گیری این بخش Conclusion of this section

تست سیستم REST API System testing a REST API

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه و ایجاد مدل کاربر Setting project up and creating User model

  • به کد سخنرانی بعدی تغییر دهید Change to the next lecture's code

  • امکان ورود کاربران به سیستم Allowing users to log in

  • نوشتن تست های کاربر ما Writing our User tests

  • متد setUpClass در BaseTest The setUpClass method in the BaseTest

  • تست ثبت نام کاربر Testing user registration

  • نهایی کردن تست های سیستم کاربر Finalising user System tests

  • نوشتن تست های سیستم فروشگاهی Writing Store System tests

  • نوشتن تست های سیستم آیتم ما و آزمایش احراز هویت Writing our Item System tests and testing authentication

  • نتیجه گیری این بخش Conclusion of this section

تست سیستم REST API System testing a REST API

  • معرفی این بخش Introduction to this section

  • از اینجا به کد این بخش دسترسی پیدا کنید Access the code for this section here

  • راه اندازی پروژه و ایجاد مدل کاربر Setting project up and creating User model

  • به کد سخنرانی بعدی تغییر دهید Change to the next lecture's code

  • امکان ورود کاربران به سیستم Allowing users to log in

  • نوشتن تست های کاربر ما Writing our User tests

  • متد setUpClass در BaseTest The setUpClass method in the BaseTest

  • تست ثبت نام کاربر Testing user registration

  • نهایی کردن تست های سیستم کاربر Finalising user System tests

  • نوشتن تست های سیستم فروشگاهی Writing Store System tests

  • نوشتن تست های سیستم آیتم ما و آزمایش احراز هویت Writing our Item System tests and testing authentication

  • نتیجه گیری این بخش Conclusion of this section

تست سیستم با پستمن و نیومن System testing with Postman and Newman

  • معرفی این بخش Introduction to this section

  • از اینجا به کد و فایل های Postman دسترسی داشته باشید Access the code and Postman files here

  • معرفی پستچی Introduction to Postman

  • اولین تست Posman ما Our first Posman tests

  • تنظیم و پاک کردن متغیرهای محیطی در Postman Setting and clearing environment variables in Postman

  • اجرای یک پوشه آزمایشی در Postman Running a test folder in Postman

  • تنظیمات پیشرفته اجرای PyCharm Advanced PyCharm run configurations

  • نصب Node و Newman Installing Node and Newman

  • Multirun در PyCharm - اجرای برنامه و آزمایش با هم Multirun in PyCharm—Running app and tests together

  • نتیجه گیری این بخش Conclusion of this section

تست سیستم با پستمن و نیومن System testing with Postman and Newman

  • معرفی این بخش Introduction to this section

  • از اینجا به کد و فایل های Postman دسترسی داشته باشید Access the code and Postman files here

  • معرفی پستچی Introduction to Postman

  • اولین تست Posman ما Our first Posman tests

  • تنظیم و پاک کردن متغیرهای محیطی در Postman Setting and clearing environment variables in Postman

  • اجرای یک پوشه آزمایشی در Postman Running a test folder in Postman

  • تنظیمات پیشرفته اجرای PyCharm Advanced PyCharm run configurations

  • نصب Node و Newman Installing Node and Newman

  • Multirun در PyCharm - اجرای برنامه و آزمایش با هم Multirun in PyCharm—Running app and tests together

  • نتیجه گیری این بخش Conclusion of this section

ادغام مداوم با Travis CI Continuous Integration with Travis CI

  • معرفی این بخش Introduction to this section

  • کد این بخش The code for this section

  • نصب Git Installing Git

  • مخزن Git چیست؟ What is a Git repository?

  • یک گردش کار محلی Git A local Git workflow

  • GitHub و مخازن راه دور GitHub and remote repositories

  • افزودن پروژه ما به GitHub Adding our project to GitHub

  • Travis CI چیست؟ What is Travis CI?

  • افزودن مخزن ما به تراویس Adding our repository to Travis

  • فایل پیکربندی تراویس و تست های در حال اجرا The Travis config file and running tests

  • اضافه کردن نشان تست ما به Readme Adding our test badge to the Readme

  • نتیجه گیری این بخش Conclusion of this section

ادغام مداوم با Travis CI Continuous Integration with Travis CI

  • معرفی این بخش Introduction to this section

  • کد این بخش The code for this section

  • نصب Git Installing Git

  • مخزن Git چیست؟ What is a Git repository?

  • یک گردش کار محلی Git A local Git workflow

  • GitHub و مخازن راه دور GitHub and remote repositories

  • افزودن پروژه ما به GitHub Adding our project to GitHub

  • Travis CI چیست؟ What is Travis CI?

  • افزودن مخزن ما به تراویس Adding our repository to Travis

  • فایل پیکربندی تراویس و تست های در حال اجرا The Travis config file and running tests

  • اضافه کردن نشان تست ما به Readme Adding our test badge to the Readme

  • نتیجه گیری این بخش Conclusion of this section

تست پذیرش و اتوماسیون مرورگر با سلنیوم Acceptance testing and browser automation with Selenium

  • معرفی این بخش Introduction to this section

  • آزمون پذیرش چیست؟ What is acceptance testing?

  • معرفی پروژه ما Introduction to our project

  • اولین مرحله آزمون قبولی ما Our first acceptance test step

  • دریافت درایور وب Chrome Getting the Chrome webdriver

  • تأیید همه چیز کار می کند Verifying everything works

  • در حال اتمام اولین آزمون ما Finishing our first test

  • استفاده مجدد از مراحل با تطبیق عبارات منظم Re-using steps with the regular expression matcher

  • اولین تست محتوای ما Our first content test

  • مکان یاب صفحه و مدل ها Page locators and models

  • صفحه وبلاگ The blog page

  • استفاده از صفحات در مسیریابی Using pages in navigation

  • تست ها را بیش از حد تعمیم ندهید! Don't over-generalise tests!

  • انتظار و تایم اوت با سلنیوم Waits and timeouts with Selenium

  • اشکال زدایی تست های پذیرش در PyCharm Debugging acceptance tests in PyCharm

  • سناریوی پیچیده نهایی ما Our final complex scenario

  • پر کردن فرم ها با سلنیوم Filling in forms with Selenium

  • به کد نهایی این بخش از اینجا دسترسی پیدا کنید Access the final code of this section here

  • نتیجه گیری این بخش Conclusion of this section

تست پذیرش و اتوماسیون مرورگر با سلنیوم Acceptance testing and browser automation with Selenium

  • معرفی این بخش Introduction to this section

  • آزمون پذیرش چیست؟ What is acceptance testing?

  • معرفی پروژه ما Introduction to our project

  • اولین مرحله آزمون قبولی ما Our first acceptance test step

  • دریافت درایور وب Chrome Getting the Chrome webdriver

  • تأیید همه چیز کار می کند Verifying everything works

  • در حال اتمام اولین آزمون ما Finishing our first test

  • استفاده مجدد از مراحل با تطبیق عبارات منظم Re-using steps with the regular expression matcher

  • اولین تست محتوای ما Our first content test

  • مکان یاب صفحه و مدل ها Page locators and models

  • صفحه وبلاگ The blog page

  • استفاده از صفحات در مسیریابی Using pages in navigation

  • تست ها را بیش از حد تعمیم ندهید! Don't over-generalise tests!

  • انتظار و تایم اوت با سلنیوم Waits and timeouts with Selenium

  • اشکال زدایی تست های پذیرش در PyCharm Debugging acceptance tests in PyCharm

  • سناریوی پیچیده نهایی ما Our final complex scenario

  • پر کردن فرم ها با سلنیوم Filling in forms with Selenium

  • به کد نهایی این بخش از اینجا دسترسی پیدا کنید Access the final code of this section here

  • نتیجه گیری این بخش Conclusion of this section

ماده جایزه Bonus Material

  • سخنرانی پاداش: دوره های دیگر و مراحل بعدی Bonus lecture: other courses and next steps

ماده جایزه Bonus Material

  • سخنرانی پاداش: دوره های دیگر و مراحل بعدی Bonus lecture: other courses and next steps

نمایش نظرات

آموزش تست خودکار نرم افزار با پایتون
جزییات دوره
13.5 hours
143
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
30,228
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Jose Salvatierra Jose Salvatierra

بنیانگذار Teclado و مهندس نرم افزار

Teclado by Jose Salvatierra Teclado by Jose Salvatierra

توسعه نرم افزار برای همه