کتاب Typescript: استفاده از Cypress با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
Typescript: Cypress - تست خودکار و قدرتمند برنامههای تحت وب با تایپاسکریپت Typescript: Cypress - تسلط بر تست خودکار وب با قدرت تایپاسکریپت آیا میخواهید کیفیت برنامههای تحت وب خود را به سطح جدیدی ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Typescript: استفاده از Cypress
موضوع کلی: برنامه نویسی
موضوع میانی: تایپ اسکریپت (TypeScript)
📋 سرفصلهای دوره
- 1. مقدمهای بر تست End-to-End (E2E)
- 2. چرا Cypress؟ مزایا و ویژگیهای کلیدی
- 3. چرا تایپاسکریپت را با Cypress ترکیب کنیم؟
- 4. پیشنیازهای دوره: نصب Node.js و npm/yarn
- 5. راهاندازی یک پروژه جدید و مقداردهی اولیه
- 6. نصب Cypress به عنوان یک وابستگی توسعه
- 7. نصب تایپاسکریپت و وابستگیهای مربوطه
- 8. اجرای اولیه Cypress و آشنایی با ساختار پوشهها
- 9. معرفی و بررسی Cypress Test Runner
- 10. پیکربندی اولیه Cypress با فایل cypress.config.ts
- 11. نوشتن و اجرای اولین تست E2E با تایپاسکریپت
- 12. پیکربندی فایل tsconfig.json برای Cypress
- 13. ساختار یک فایل تست: `describe` و `it`
- 14. انتخاب المانهای DOM با `cy.get` و سلکتورهای CSS
- 15. یافتن المانها بر اساس متن با `cy.contains`
- 16. تعامل با المانها: کلیک کردن با `.click()`
- 17. ورود متن به فیلدهای ورودی با `.type()`
- 18. پاک کردن محتوای یک فیلد با `.clear()`
- 19. مفهوم Chaining در دستورات Cypress
- 20. مبانی Assertions: آشنایی با دستور `should`
- 21. استفاده از `and` برای زنجیره کردن چندین Assertion
- 22. انواع Assertion های رایج: `exist`, `be.visible`, `have.text`, `have.class`
- 23. کار با Checkbox و Radio button ها
- 24. انتخاب گزینهها از منوهای Dropdown با `.select()`
- 25. مفهوم Timeouts و Retry-ability در Cypress
- 26. تنظیم Timeout های پیشفرض و سفارشی
- 27. استفاده هوشمندانه از `cy.wait` (و چرا باید از آن اجتناب کرد)
- 28. ناوبری بین صفحات با `cy.visit`
- 29. دریافت URL فعلی و تایید آن
- 30. کار با تاریخچه مرورگر: `cy.go('back')` و `cy.go('forward')`
- 31. استفاده از Hooks: `beforeEach`, `afterEach`, `before`, `after`
- 32. گروهبندی تستها با `describe` های تودرتو
- 33. اجرای تنها یک مجموعه تست یا یک تست خاص با `.only()`
- 34. نادیده گرفتن تستها با `.skip()`
- 35. استفاده از انواع داده پایه تایپاسکریپت (string, number, boolean) در تستها
- 36. تعریف Interface و Type برای دادههای تست
- 37. مقدمهای بر Fixtures برای مدیریت دادههای تست
- 38. بارگذاری داده از فایلهای JSON با `cy.fixture`
- 39. استفاده از دادههای Fixture در تستها با `then`
- 40. ایجاد انواع (Types) برای دادههای Fixture با تایپاسکریپت
- 41. استفاده از Alias ها برای ذخیره مقادیر با `.as()`
- 42. فراخوانی Alias ها در مراحل بعدی تست با `cy.get('@aliasName')`
- 43. ایجاد دستورات سفارشی (Custom Commands) با `Cypress.Commands.add`
- 44. افزودن Type Definitions برای دستورات سفارشی
- 45. ساختاردهی دستورات سفارشی در فایل commands.ts
- 46. مدیریت متغیرهای محیطی (Environment Variables)
- 47. استفاده از متغیرهای محیطی در فایل `cypress.config.ts`
- 48. دسترسی به متغیرهای محیطی در تستها با `Cypress.env()`
- 49. کار با Local Storage مرورگر
- 50. خواندن، تنظیم و پاک کردن کوکیها
- 51. گرفتن اسکرینشات به صورت خودکار در زمان شکست تست
- 52. گرفتن اسکرینشات به صورت دستی با `cy.screenshot()`
- 53. ضبط ویدیو از اجرای تستها
- 54. پیکربندی کیفیت و تنظیمات ویدیو و اسکرینشات
- 55. کار با آرایهای از المانها و استفاده از `.each()`
- 56. پیمایش در درخت DOM: `find`, `parent`, `children`, `next`, `prev`
- 57. کنترل Viewport و اندازه صفحه نمایش با `cy.viewport`
- 58. تست واکنشگرایی (Responsive) در اندازههای مختلف صفحه
- 59. مقدمهای بر جاسوسی و Mock کردن درخواستهای شبکه
- 60. معرفی دستور قدرتمند `cy.intercept`
- 61. جاسوسی (Spying) بر درخواستهای API و تایید آنها
- 62. تایید (Assert) هدرها، بدنه درخواست و پاسخ
- 63. شبیهسازی (Stubbing) پاسخهای موفق API
- 64. استفاده از Fixture ها برای ارائه پاسخهای Mock شده
- 65. شبیهسازی خطاهای شبکه (مانند کدهای 4xx و 5xx)
- 66. استراتژیهای مختلف برای احراز هویت (Authentication) در تستها
- 67. لاگین کردن از طریق رابط کاربری (UI) و معایب آن
- 68. لاگین به صورت برنامهنویسی شده با `cy.request`
- 69. مدیریت توکنهای احراز هویت (JWT)
- 70. ذخیره توکن در Local Storage یا کوکیها
- 71. ایجاد یک دستور سفارشی برای لاگین (`cy.login`)
- 72. معرفی الگوی طراحی Page Object Model (POM)
- 73. ایجاد اولین Page Object با استفاده از کلاسهای تایپاسکریپت
- 74. انتقال سلکتورها و اکشنها به Page Objects
- 75. استفاده از Page Objects در فایلهای تست
- 76. مزایای POM برای نگهداری و خوانایی کد
- 77. معرفی الگوی App Actions به عنوان جایگزین POM
- 78. ایجاد فایلهای کمکی (Utility Functions)
- 79. تایپدهی (Typing) به توابع کمکی
- 80. ساختاردهی یک پروژه Cypress بزرگ و مقیاسپذیر
- 81. استفاده از تگها برای اجرای گروههای خاصی از تستها (با پلاگین)
- 82. اجرای تستها از طریق خط فرمان (Headless Mode)
- 83. اجرای تستها در مرورگرهای مختلف از طریق CLI
- 84. تست API با استفاده از `cy.request`
- 85. ارسال درخواستهای GET, POST, PUT, DELETE
- 86. تایید وضعیت (Status Code) و بدنه پاسخ API
- 87. مقدمهای بر تست کامپوننت با Cypress
- 88. راهاندازی Cypress برای تست کامپوننت (مثال با React یا Vue)
- 89. نوشتن اولین تست کامپوننت و ایزوله کردن آن
- 90. تست ویژوال (Visual Regression Testing) با پلاگینها
- 91. مفهوم Snapshot Testing و مدیریت تغییرات بصری
- 92. تست دسترسپذیری (Accessibility - a11y) با پلاگین `cypress-axe`
- 93. یکپارچهسازی Cypress با CI/CD
- 94. اجرای تستهای Cypress در یک پایپلاین GitHub Actions
- 95. اجرای موازی (Parallelization) تستها برای افزایش سرعت
- 96. آشنایی با Cypress Dashboard
- 97. ثبت نتایج تست و مشاهده تحلیلها در Dashboard
- 98. تکنیکهای دیباگ کردن تستهای Cypress
- 99. استفاده از `cy.log` برای ثبت پیام در Test Runner
- 100. استفاده از دستورات `.debug()` و `.pause()`
تگها:
Back-End Development
Cypress
E2E testing
Front-End Development
JavaScript
TypeScript
Web Development
آموزش Cypress
آموزش TypeScript
برنامه نویسی
تست خودکار
تست نویسی
توسعه وب
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.