Book review: Enhanced Test Automation with WebdriverIO: Unlock the superpowers of hybrid testing framework
Tags: webdriverio, javascript, testing
Published: 2024-01-26 16:55:59

## My motivation

This year I set myself the personal goal of reading at least one book a month that is not in my native language. In this case, I also have the goal of reading in English, but also to start reading books in Portuguese, as I am slowly learning this language.

Having said that, I am going to give you my personal opinion about this book.

## About the book

In my opinion, [WebDriverIO](https://github.com/webdriverio/webdriverio) (Next-gen browser and mobile automation test framework for [Node.js](https://nodejs.org/)) is one of the most complete and versatile modern frameworks.
Just by seeing the wide variety of topics that were going to be covered just by reading the table of contents, I already had very **high expectations** and **honestly it exceeded them**.

If you are someone who is just starting out in the field of **Test Automation**, you will be able to see the basics little by little, although if you are an experienced SDET, you will see more than one tip in the first few pages that you certainly didn't know about.

We are gradually getting into more and more **complex topics** in a progressive and very enjoyable way. Something that I found very successful is that from **the 3rd chapter** we are taught how to **debug** our tests, remember that **test automation is part of software development** and as in any construction cycle, debugging errors is a fundamental part.

Complex topics such as callbacks, promises and async/await in **JavaScript/TypeScript** are addressed in a practical and simple way, the unfamiliar reader will quickly understand.

**Chapters 5 to 8** dives right into the implementation of helpers, I really enjoyed this, showing these implementations to those who are just starting out is a great accelerator.

**Chapter 9** will explain all about **Page Object Model** A.k.A **POM**, one of the most used design patterns in test automation, you will also see an alternative to implement POM/BDD using [Klassi-js](https://github.com/klassijs/klassi-js), a framework that I didn't know and that has several very interesting features.

**Chapters 10 and 12** seem to me key chapters as they explain how to write robust selectors, I found a great success to show all the potential that the editor of selectors [SelectorsHub](https://www.selectorshub.com) gives us to once again, simplify our task and minimize future maintenance.

The authors also present **very creative solutions** to make our selectors **"self-healing"** and very **tolerant to changes**.

**Additional note**: It is always a good time to recommend the use of this tool, not because I am an [SelectorsHub Ambassador](https://selectorshub.com/ambassador-program), as I have always recommended this tool long before, which I consider a great time saver.

In the last chapters we will see how to integrate our solution to [Allure Report](https://allurereport.org/), in my opinion one of the best Automation Test Reporting tool, and also how to run our tests in a scalable way in multiple browsers both in locally mounted environments using Selenium Grid and also using the powerful cloud solution such as [LambaTest](https://lambdatest.com).

To close and complement the basic circuit of automation, we will see and learn how to use [Jenkins](https://www.jenkins.io), one of the most used tools for **continuous integration**, do not worry if it is your first time with **Jenkins**, the authors will accompany you to learn how to install and even show you how to have constant feedback through the integration of [Allure Reports](https://allurereport.org/) and also with [Slack](https://slack.com) messages.

The **appendix** is super rich, reading it reminded me of the times I had those errors that are described there and the time I had to invest to be able to give solution, will be your almost constant consultation section to each error and surely you will find the solution and **save a lot of time**, I assure you.

## Conclusion

I must say that I really enjoyed reading [Enhanced Test Automation with WebdriverIO: Unlock the superpowers of hybrid testing frameworks](https://www.amazon.com/Enhanced-Test-Automation-WebdriverIO-superpowers/dp/1837630186), I felt identified having implemented, **in real projects**, similar solutions to those exposed by the authors and I also took a lot of knowledge that I did not have before.

It is recommended both for **beginners** and for those who may have **extensive experience** with test automation, shows the full potential of **WebDriverIO** profiling it on par with the most robust modern frameworks of today and prepares the ground to implement robust solutions **from zero to CI/CD**, building **solid selectors** and using **cloud solutions**.

Many thanks to the authors [Paul M. Grossman](https://www.linkedin.com/in/pmgrossman/) and [Larry C. Goddard](https://www.linkedin.com/in/larryg/) for delivering a great work.

I also want to thank [Shrinidh](https://www.linkedin.com/in/shrinidhi-m-v-356159184/) and [Packt](https://www.packtpub.com/) for sending me this book, I have learned a lot.


`Charly`