دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Vitaly Skadorva
سری:
ISBN (شابک) : 9788196782696
ناشر: Orange Education Pvt Ltd, AVA™
سال نشر: 2023
تعداد صفحات: 263
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 3 Mb
در صورت تبدیل فایل کتاب Ultimate Web Automation Testing with Cypress: Master End-to-End Web Application Testing Automation to Accelerate Your QA Process with Cypress به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب تست اتوماسیون وب نهایی با Cypress: اتوماسیون تست نرم افزار وب از پایان به انتها برای تسریع فرآیند QA شما با Cypress نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
تست وب خود را با بینش های عملی و تکنیک های پیشرفته ارتقا دهید. ویژگی های کلیدی ● منحنی یادگیری گام به گام از اصول تا تکنیک های پیشرفته تست سرو. ● راه اندازی یک محیط توسعه و نوشتن تست های موثر سرو را با راهنمایی عملی بیاموزید. ● استاد آزمون E2E، تست مؤلفه، آزمایش API، و آزمایش مبتنی بر داده برای پوشش جامع برنامه. ● تکنیکهای پیشرفته Cypress را کاوش کنید، با سیستمهای کنترل نسخه محبوب یکپارچه شوید، و همکاری را با ابزارهایی مانند Cucumber افزایش دهید. ● Cypress را در خطوط لوله CI/CD پیاده سازی کنید، از آزمایش خودکار اطمینان حاصل کنید، و از طریق گزارش جامع و تجزیه و تحلیل نتایج، بینش هایی را در مورد نتایج آزمایش به دست آورید. شرح با \"آزمایش نهایی اتوماسیون وب با Cypress\" به دنیای تست وب خودکار شیرجه بزنید. از مفاهیم بنیادی گرفته تا تکنیکهای پیشرفته، این کتاب متخصصان را به مهارتهایی مجهز میکند تا Cypress را به طور یکپارچه در جریان کار خود ادغام کنند. با شروع راهاندازی و تستهای پایه، به سمت آزمایشهای سرتاسر، مؤلفه، API و دادهمحور با مثالهای عملی و بهترین شیوهها پیش میرود. علاوه بر این، موضوعات پیشرفته ای مانند دستورات سفارشی، پلاگین ها، Cypress Cloud، Smart Orchestration و Flaky Test Management را بررسی می کند. این کتاب همچنین ادغام با GitHub، GitLab و Cucumber را پردهبرداری میکند و با اجرای CI/CD با استفاده از Docker و Jenkins Pipelines، همراه با تکنیکهای گزارشدهی مؤثر به پایان میرسد. در پایان، شما درک عمیقی از Cypress خواهید داشت و به شما این امکان را می دهد که در تست برنامه های کاربردی وب برتری داشته باشید و شغل خود را در صنعت تست نرم افزار رقابتی پیش ببرید. چه چیزی یاد خواهید گرفت ● بیاموزید که چگونه Cypress را به طور یکپارچه در پروژه های آزمایش وب خود برای آزمایش قوی و کارآمد بگنجانید. ● برای پیمایش و آزمایش موفقیت آمیز سناریوهای پیچیده و چالش برانگیز در برنامه های وب، تخصص کسب کنید. ● تکنیک هایی را برای افزایش سرعت و قابلیت اطمینان تست های Cypress خود کشف کنید و از نتایج کارآمد و دقیق اطمینان حاصل کنید. ● دستورات سفارشی را در Cypress ایجاد کنید، رویکرد آزمایشی خود را با الزامات و پیچیدگی های پروژه خاص تنظیم کنید. این کتاب مال کیه؟ این کتاب با دقت برای آزمایش کنندگان نرم افزار، توسعه دهندگان، مهندسان DevOps، مدیران، دانش آموزان و مربیان طراحی شده است. این بینش عملی را هم برای مبتدیان و هم برای متخصصان با تجربه ارائه می دهد. چه به دنبال افزایش مهارت های آزمایشی خود باشید و چه به دنبال ساده سازی تست برنامه های وب باشید، این کتاب راهنمایی های ارزشمندی را برای تمام سطوح تخصص ارائه می دهد. فهرست مطالب 1. شروع به آزمایش Cypress 2. راه اندازی محیط توسعه 3. نوشتن اولین آزمون شما 4. تست پایان به انتها (E2E) 5. تست مؤلفه 6. تست API 7. آزمایش مبتنی بر داده 8. تکنیک های پیشرفته Cypress 9. Cypress Cloud، هماهنگ سازی هوشمند و مدیریت تست Flaky 10. ادغام با GitHub، GitLab و Cucumber 11. Continuous Integration and Continuous Deployment (CI/CD) 12. Reporting and Test Results 13. Index Conclusion
Elevate Your Web Testing with Practical Insights and Advanced Techniques. KEY FEATURES ● Step-by-step learning curve from the fundamentals to advanced Cypress testing techniques. ● Learn to set up a development environment and write effective Cypress tests with hands-on guidance. ● Master E2E testing, component testing, API testing, and data-driven testing for comprehensive application coverage. ● Explore advanced Cypress techniques, integrate with popular version control systems, and enhance collaboration with tools like Cucumber. ● Implement Cypress in CI/CD pipelines, ensuring automated testing, and gain insights into test outcomes through comprehensive reporting and result analysis. DESCRIPTION Dive into the world of automated web testing with “Ultimate Web Automation Testing with Cypress.” From foundational concepts to advanced techniques, the book equips professionals with the skills to seamlessly integrate Cypress into their workflow. Starting with setup and basic tests, it progresses to cover end-to-end, component, API, and data-driven testing with practical examples and best practices. Further, it explores advanced topics like custom commands, plugins, Cypress Cloud, Smart Orchestration and Flaky Test Management. The book also unveils the integration with GitHub, GitLab, and Cucumber, and concludes with CI/CD implementation using Docker and Jenkins Pipelines, along with effective reporting techniques. By the end, you will have a profound understanding of Cypress, empowering you to excel in web application testing and advance your careers in the competitive software testing industry. WHAT WILL YOU LEARN ● Learn how to seamlessly incorporate Cypress into your web testing projects for robust and efficient testing. ● Acquire the expertise to navigate and successfully test intricate and challenging scenarios in web applications. ● Discover techniques to enhance the speed and reliability of your Cypress tests, ensuring efficient and accurate results. ● Create custom commands in Cypress, tailoring your testing approach to specific project requirements and complexities. WHO IS THIS BOOK FOR? This book is meticulously designed for software testers, developers, DevOps engineers, managers, students, and educators. It offers practical insights for both beginners and experienced professionals. Whether you\'re looking to enhance your testing skills or streamline web application testing, this book provides valuable guidance for all levels of expertise. TABLE OF CONTENTS 1. Getting Started with Cypress Testing 2. Setting Up the Development Environment 3. Writing Your First Test 4. End-to-End (E2E) Testing 5. Component Testing 6. API Testing 7. Data-Driven Testing 8. Advanced Cypress Techniques 9. Cypress Cloud, Smart Orchestration, and Flaky Test Management 10. Integrating with GitHub, GitLab, and Cucumber 11. Continuous Integration and Continuous Deployment (CI/CD) 12. Reporting and Test Results 13. Conclusion Index
Cover Page Title Page Copyright Page Dedication Page About the Author About the Technical Reviewer Acknowledgements Preface Errata Table of Contents 1. Getting Started with Cypress Testing Introduction Structure Introduction to Cypress Overview of Cypress Advantages of Cypress Integration with Modern Web Technologies and Frameworks Benefits of using Cypress for automation testing Real-time reloading and time-travel debugging Automatic waiting and retries Simple and easy-to-understand API Built-in parallelization and dashboard features Integration with CI/CD tools Wide range of plugins and community support Difference between Cypress and Selenium Architecture: Cypress’s direct browser access versus Selenium’s WebDriver-based approach Language Support: JavaScript in Cypress versus multiple languages in Selenium Automatic waiting and command retries in Cypress Speed and performance comparison Ease of setup and learning curve Key features of Cypress 12 Multiple origins testing with ‘cy.origin()’ Browser context preservation with `cy.session()` Test isolation Fix for dreaded detached DOM errors Conclusion Further Reading 2. Setting Up the Development Environment Introduction Structure Installing Node.js NPM (Node Package Manager) Yarn Installing Cypress Configuring Cypress Project structure Creating your first Cypress project Conclusion Further Readings 3. Writing Your First Test Introduction Structure Introducing the Cypress Test Runner Writing a simple test case Using Cypress commands Navigating commands Querying DOM commands Action commands Assertion commands Network requests commands Cookies and local storage commands Using Cypress assertions BDD assertions TDD assertions Sinon-Chai assertions Complex assertions Assertion timeout Understanding hooks and aliases Introducing hooks Using aliases Scopes of hooks and aliases Hooks scope Aliases scope Best practices for using hooks and aliases Dealing with asynchronous operations Conclusion Further readings 4. End-to-End (E2E) Testing Introduction Structure Overview of E2E testing The crucial role of E2E testing E2E testing with Cypress: A new age in testing Testing user interactions Clicking and double clicking Typing into input fields Checking and unchecking boxes Selecting options in dropdowns Working with events Drag and Drop Hovering File uploads Keyboard interactions Scrolling Right clicking Form interactions Dealing with popups and alerts Working with iframes Working with different types of elements Text elements Input fields Buttons Links Images Lists Tables Scalable vector graphics (SVGs) Forms Dialog and pop-up windows Canvas Audio and video elements Shadow DOM Custom Elements Map Elements Handling timeouts and retries Timeouts Automatic retries Custom retries Best practices for handling timeouts and retries Conclusion Further readings 5. Component Testing Introduction Structure Introduction to component testing Types of component testing Timing of component testing execution Differentiating component testing and unit testing Component testing vs end-to-end testing Setting up component testing with Cypress Writing component tests Scaffold React Application Testing React components Crafting a component First component test Locating elements and assertions Incorporating props into components Testing interactions Testing React components with events Testing Angular components Building an Angular component Component inputs Interactions with the component Testing Angular component events Testing Vue.js components Building a Vue.js component Locating elements and assertions Incorporating props into components Testing interactions Testing Vue.js components with events Best practices for component testing Understand the component’s functionality Isolate the component Use descriptive test titles Favor integration over snapshot tests Test different states Test events and side effects Keep tests DRY, but not at all costs Incorporate accessibility checks Continuously run tests in your development environment Use a test-first methodology (TDD/BDD) Debugging and troubleshooting component tests Utilize Cypress’s time traveling and real-time reloading Use cy.log for custom logging Use cy.pause for pausing execution Use Cypress’s built-in debuggability Reviewing test artifacts Integrating component tests into your testing workflow Running component tests locally Running component tests in continuous integration Writing component tests Running component tests Conclusion Further readings 6. API Testing Introduction Structure Introduction to API testing Understanding RESTful APIs Exploring GraphQL Comparing REST and GraphQL Cypress for API Testing Testing RESTful APIs Testing GraphQL APIs Aliasing Multiple Queries or Mutations Expectations for Query or Mutation Results Modifying a Query or Mutation Response Validating API responses Conclusion Further Readings 7. Data-Driven Testing Introduction Structure Overview of data-driven testing Data-Driven Testing in Action Using JSON Files for Test Data Reasons for Using JSON Files Structuring JSON Files for Test Data Reading JSON Files in Cypress Implementing Data-Driven Tests with JSON Files Reading Data from Databases Reasons for Using Databases for Test Data Setting up the Database Connection Setting up MongoDB Connection Setting up MySQL Connection Using MongoDB and MySQL Data in Cypress Tests Implementing Data-Driven Test Cases Segregation of Test Data and Production Data Leveraging Realistic Data in Tests Minimizing Test Data Duplication Employing Cypress Plugins for Database Testing Setting up a Test Database Connecting Cypress to the Test Database Test Cases for CRUD Operations Test Case to Verify Data Integrity Testing Database Transactions Testing Database Migrations Conclusion Further Reading 8. Advanced Cypress Techniques Introduction Structure Cypress custom commands Creating a custom command Using a custom command Custom command overwrites Asynchronous custom commands Chaining custom commands Passing options to custom commands Custom commands with aliases Validating custom commands Use cases for custom commands Overriding existing commands Handling errors in custom commands Debugging custom commands Best practices for custom commands Using videos and screenshots for debugging Debugging with screenshots Debugging with videos Using screenshots and videos effectively Working with Cypress plugins Configuration Preprocessors Run lifecycle Spec lifecycle Browser launching Screenshot handling cy.task List of plugins Crafting a plugin Custom plugin examples Interacting with a database Plugin Events Environment variables Browser launch API Custom Webpack preprocessor Existing Cypress plugin examples cypress-cucumber-preprocessor cypress-axe Handling authentication and authorization Authentication vs authorization Approaches to testing authentication and authorization Testing the UI Programmatic login Handling authorization Testing API authorization Authentication by visiting a different domain with cy.origin() Programmatic login using Auth0 authentication Parallel test execution Using CI/CD tools for parallelization Parallelization beyond the Dashboard: plugins cypress-parallel cypress-split Cross-browser testing Running tests in a specific browser Running tests in all supported browsers Electron browser: an integral part of Cypress Chrome browsers Firefox browsers Managing test flakiness across different browsers Comparing browser behaviors WebKit (experimental) Network stubbing and mocking Using the cy.intercept() command Intercepting responses and asserting with cy.wait() POST request stubbing Wildcards and glob patterns Visual regression testing Setting up cypress-image-snapshot plugin Creating your first visual test Dealing with dynamic content Image comparison strategies Setting up cypress-visual-regression Basic usage of cypress-visual-regression Dealing with dynamic content Customizing cypress-visual-regression Conclusion Further Reading 9. Cypress Cloud, Smart Orchestration, and Flaky Test Management Introduction Structure Introduction to Cypress Cloud Understanding Cypress Cloud Key features of Cypress Cloud Detailed test recording and optimized management Smart Orchestration in Cypress Introduction to Smart Orchestration Parallelization Load Balancing Spec Prioritization Run Cancellation Managing flaky tests Network instability Concurrency issues Test order dependency Insufficient wait for rendering or asynchronous operations Test retry ability Use of cy.should() assertion for automatic retrying Flaky test management in Cypress Cloud Test retries and flake detection Flagging flaky tests Flaky test analytics Flake severity Flake alerting Leveraging Cypress Analytics Accessing Cypress Analytics Key metrics in Cypress Analytics Combining Analytics with Other Cypress Features Conclusion Further Reading 10. Integrating with GitHub, GitLab, and Cucumber Introduction Structure Version control with GitHub and GitLab Types of version control systems Importance of version control Version control with Git GitHub Setting up projects on GitHub Integrating Cypress with GitHub Collaboration on GitHub GitLab Setting up projects on GitLab Integrating Cypress with GitLab Collaboration on GitLab Using Git Hooks for automated testing Setting up Git Hooks with Husky Using Git Hooks for automated testing Caveats and considerations Git Hooks examples Running specific Cypress tests with Git Hooks Using pre-push Hook for integration tests post-merge Hook for regression tests Implementing BDD with Cucumber and Cypress Setting up Cypress and Cucumber Comparison: Traditional testing vs BDD with Cucumber and Cypress Conclusion Further reading 11. Continuous Integration and Continuous Deployment (CI/CD) Introduction Structure Overview of CI/CD Components of CI/CD Configuration management tools Ansible Puppet Chef Terraform Docker Monitoring and logging Deployment strategies Blue-Green deployment Canary deployment A/B testing Rolling deployment CI/CD Workflow with Cypress Benefits of CI/CD with Cypress: Integrating Cypress with Docker Running tests in a Docker Container Tips for using Cypress with Docker 1. Multi-stage builds 2. Docker Compose 3. Cypress configuration 4. Integration with CI/CD tools 5. Running Cypress tests on different browsers Building Jenkins Pipelines with Cypress Creating a Jenkins Pipeline Running Cypress tests in Docker Reporting with Cypress and Jenkins Other CI/CD tools for Cypress Travis CI GitLab CI/CD Parallelization Running on merge requests GitHub actions Comparing CI/CD tools Conclusion Further reading 12. Reporting and Test Results Introduction Structure Overview of reporting techniques Different types of reports Reporting formats HTML report example JSON report example JUnit XML report example Console report example Cypress and reporting Built-in Cypress reporting Cypress Test Runner Test status and command log Screenshots and videos Test results in CI Third-party reporting tools and plugins Mocha reporters Mochawesome Cypress-multi-reporters cypress-mochawesome-reporter Generating custom reports with Cypress Customizing Mochawesome reports Generating reports with custom data Creating custom reports Analyzing test results for insights and improvements Basic analytical techniques Advanced analytical techniques Actioning insights Measuring test effectiveness Understanding the test report Analyzing test failures Analyzing test duration Identifying patterns Summary Conclusion Further reading 13. Conclusion Introduction Structure Recap of critical concepts Introduction to Cypress Setting up and starting with Cypress Writing tests in Cypress End-to-End (E2E) testing with Cypress Component testing API testing Data-driven testing Advanced techniques Cypress cloud and advanced features Integration with VCS and BDD Continuous integration and deployment Reporting Best practices for using Cypress Structure your tests Waiting strategies Using Page Object Model (POM) Handling dynamic data Avoid dependent tests Efficient selectors Regularly update Cypress Implement continuous integration Reusable functions Adopt data-driven testing Cross-browser testing Reviewing test failures Resources for further learning Official documentation Cypress Real World App (RWA) Blogs and tutorials Udemy and other online courses Cypress plugins Cypress GitHub repository Communities and forums Conferences and workshops Continuous integration services Index