Book Image

Enhanced Test Automation with WebdriverIO

By : Paul M. Grossman, Larry C. Goddard
Book Image

Enhanced Test Automation with WebdriverIO

By: Paul M. Grossman, Larry C. Goddard

Overview of this book

This book helps you embark on a comprehensive journey to master the art of WebdriverIO automation, from installation through to advanced framework development. You’ll start by following step-by-step instructions on installing WebdriverIO, configuring Node packages, and creating a simple test. Here you’ll gain an understanding of the mechanics while also learning to add reporting and screen captures to your test results to enhance your test case documentation. In the next set of chapters, you’ll delve into the intricacies of configuring and developing robust method wrappers, a crucial skill for supporting multiple test suites. The book goes beyond the basics, exploring testing techniques tailored for Jenkins as well as LambdaTest cloud environments. As you progress, you’ll gain a deep understanding of both TypeScript and JavaScript languages and acquire versatile coding skills. By the end of this book, you’ll have developed the expertise to construct a sophisticated test automation framework capable of executing an entire suite of tests using WebdriverIO in either TypeScript or JavaScript, as well as excel in your test automation endeavors and deliver reliable, efficient testing solutions.
Table of Contents (20 chapters)
16
Epilogue
Appendix: The Ultimate Guide to TypeScript Error Messages, Causes, and Solutions

Summary

In this chapter, we wrote a custom wrapper to select an item from a list element. We learned how to handle two separate types of objects with a single method, reducing test case code. The combobox path uses the click() method to open and navigate through a list, as well as clear the input field that filters matches in the list. We embedded reporting if no exact or close match exists, making debugging easier. This was done by sending a log error message, indicating what item was sought, the list element it was using, and the list of non-matching values. We also showed how to use SelectorsHub to provide a way to validate handwritten XPath selectors when the list closes, as soon as the object loses focus.

This completes three of the four most common methods used in test automation. In the next chapter, we will create an enhanced Assertion method that validates the state or text of an object, as well as validating generic text that appears on a page.