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

The Assert Wrapper – the Importance of Embedded Details

In this chapter, we will be writing our first assertion wrapper. Assertions allow us to pass or fail a test as well as add detail regarding the expected and actual results. WebdriverIO has at least three ways to implement assertions and each has its own style. First, there is the standard Jest expect assertion library, which is basic to evaluate numbers, strings, and even regular expression matchers. Then there is the expect-webdriverio assertion library, which is an extension of the Jest matchers. These take web objects and perform assertions on both values and states. Lastly, there is the Chai assertion library, which provides soft assertions and a variety of implementation styles. While the library choice is up to you, we will be using expect-webdriverio for all examples in this book. However, a little background on how these approaches differ should be noted.

We'll cover the following main topics in this chapter...