Hello everyone! I was inspired to write this article by my students and that I met on conferences and other QA activities. QA Automation Engineers Usually, when my course starts, my students asks me why are we studying and not ? WebdriverIO WebdriverIO Selenium A lot of skilled that work with other programming languages than ( ) - they don't really know much about and what it has to offer. QA Automation Engineers JavaScript Java or Python, for example - these are the popular ones WebdriverIO Anyway, let me tell you about difference between and , so the answer if one is better than another would be clear for you. WebdriverIO Selenium What's currently popular? The picture above displays ratio of web UI automation tools mentions in 2020 for QA Automation job openings. You can see for sure that is unconditional leader in this list, and there're a few reasons for it: Selenium It's been around more than a decade and proved it's reliability. Selenium's history starts in 2000's. Time-proven. Released for a lot of programming languages (popular ones and not so popular ones). Wide spread. Makes sense, right? This one is a ratio of programming languages mentions in 2020 for QA Automation job openings. is being used on most of the languages except ( ), and, as you can see, holds only of test automation market. Selenium JavaScript TypeScript JavaScript 6.9% Currently, test automation market is starving for test automation specialists, because it has so many unique tools, such as , , , ( ) and others. In nearest future, part will rise in this ratio because of this tools saturation ( ). JavaScript Cypress WebdriverIO TestCafe Playwright also released for Java and Python JavaScript and also because most of the front-end development is being done on JavaScript, while the trend is that companies involve developers into test automation In conclusion, is the most popular web UI automation tool in test automation market. Selenium Charts above were found here. Why use WebdriverIO instead of Selenium? If you'll take a look at job openings where is being used for test automation, you won't find much mentions of - there'll be , or instead. JavaScript Selenium Cypress WebdriverIO Playwright That's so because there is no advantage for over these tools. uses to interact with browser, while there's much faster protocol ( ). Anyway, the truth is - not many companies perform cross-browser testing, they just run their tests on and that's it. Selenium Selenium webdriver DevTools but it doesn't support many browsers at current moment Chrome has selection of the way you'd like to interact with browser - whether it's or . WebdriverIO webdriver DevTools Also, is just a web UI tool and that's it. You only use it to manipulate actions in a browser. While , on the other hand, is a framework, which has command-line interface ( ) and very flexible configuration. Selenium WebdriverIO CLI In other words, can do the same things that Selenium, but also comes with lots of integrations with popular test automation tools out of a box. WebdriverIO In conclusion, why is better than : WebdriverIO Selenium You choose how to interact with browser - using or protocol. webdriver DevTools Easy project setup. Flexible configuration. Integration with other test automation tools out of a box. Summary Seems like is a winner here, but actually, it's so-so... WebdriverIO You see, is available for ( ) only, while most of the test automation projects are being developed using , and etc. WebdriverIO JavaScript TypeScript Java Python So it's safe to say that is better than if you develop automated tests using ( ). WebdriverIO Selenium JavaScript TypeScript Thanks for reading, I hope you've learned something new and now know more about test automation frameworks ( ). especially JavaScript ones