Behaviour-Driven Acceptance Testing
A comprehensive guide with 700+ recipes for building
reliable, maintainable, and scalable automated test suites
using Behaviour-Driven Development.
Rajab Natshah with Tasneem Natshah and Shimaa Natshah
Table of Contents
- Dedication and Acknowledgments
Part I: Foundations
- Chapter 1: The World of BDD
- Chapter 2: Setting Up webship-js
- Chapter 3: The Gherkin Deep Dive
- Chapter 4: Your First Real Test Suite
Part II: Browser Testing Recipes
- Chapter 5: Navigation Recipes
- Chapter 6: Form Testing Recipes
- Chapter 7: Waiting and Dynamic Content
- Chapter 8: Modal and Dialog Testing
- Chapter 9: Table and List Testing
- Chapter 10: Authentication and Authorization Testing
Part III: API and Advanced Testing
- Chapter 11: API Testing Recipes
- Chapter 12: Multi-Browser Testing
- Chapter 13: Responsive and Mobile Testing
- Chapter 14: Screenshot and Visual Testing
- Chapter 15: Accessibility Testing
Part IV: Architecture and Organization
- Chapter 16: The PlaywrightWorld Deep Dive
- Chapter 17: Writing Custom Step Definitions
- Chapter 18: Hooks and Lifecycle
- Chapter 19: Organizing a Large Test Suite
- Chapter 20: Design Patterns for Tests
Part V: Troubleshooting and Maintenance
- Chapter 21: When Tests Go Bad
- Chapter 22: Debugging Techniques
- Chapter 23: Test Maintenance
- Chapter 24: Performance Optimization
Part VI: Real World
- Chapter 25: CI/CD Integration
- Chapter 26: Testing CMS Applications
- Chapter 27: Testing Single-Page Applications
- Chapter 28: Building a Complete Test Suite
- Chapter 29: BDD in the Age of AI
- Chapter 30: Best Practices and Pro Tips
Part VII: The AI-Powered Testing Ecosystem
- Chapter 31: The Webship-js AI Agent Ecosystem
- Chapter 32: Real-World Testing, International and Enterprise Websites
- Chapter 33: The Complete Step Definition Reference with Examples
Part VIII: Expanded Ecosystem
- Chapter 34: Advanced Selectors, Named Locators, Spatial Relations, Viewports
Part IX: Structured Prompt-Driven Development
- Chapter 35: Structured Prompt-Driven Development with Webship-js
Part X: Modern Test Authoring
- Chapter 36: Web-First Assertions
- Chapter 37: Iframe Testing
- Chapter 38: Clock Mocking and Time Travel
- Chapter 39: Network Mocking and Request Recording
- Chapter 40: File Downloads and Video Recording
- Chapter 41: XML and YAML Response Testing
- Chapter 42: Pointer Actions, Drag and Drop, Keyboard
- Chapter 43: Advanced Field Types
Part XI: Production Practice
- Chapter 44: JavaScript Errors and Tester-Friendly Error Handling
- Chapter 45: CI/CD Provider Deep-Dive
- Chapter 46: Video Recording Deep-Dive
- Chapter 47: Lessons From Varbase
- Chapter 48: Storage, Cookies, and Selectors, Deep Dive
- Chapter 49: Reference Patterns Library
- Chapter 50: Patterns vs Anti-Patterns
- Chapter 51: Foundations, Wisdom From the TDD and BDD Canon
Appendices
- Appendix A: Why Playwright Won, The Journey from Nightwatch.js
- Appendix B: webship-js Step Definition Quick Reference
- Appendix D: Further Reading
- About the Authors