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 setValue Wrapper – Entering Text and Dynamic Data Replacement

In this chapter, we’re going to adapt the functionality from the click() method in the earlier chapter and extend it to the setValue() method. In addition, the wrapper method introduces multiple approaches to clear the field before entering the data. This chapter shows you how to implement a dynamic data tag replacement as an enhancement. This is the focal point where data can be prevented from becoming stale. For example, a test might require a future or past date. Lastly, we will look at detecting a password field and masking it with the setPassword() function.

In this chapter, we will cover the following topics:

  • Creating a setValue Wrapper
  • Normalizing the element class description from plain English
  • Alternative ways to clear a field and enter data
  • Dynamically replacing <Today> tags with a date
  • Masking sensitive credential data

First, some housekeeping is in order...