Any feedback on WebdriverIO vs Selenium with Java? I am in a dilemma and wanted to clear up this confusion.
I have spent a few days learning WebdriverIO and also did some hands-on but reached the conclusion that it is not mature enough. Debugging is really a challenge.
WebdriverIO is a JavaScript / nodejs implementation of the (Selenium 2.0) WebDriver API - one of many (Selendroid, Protractor, etc.) As the specification says:
WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behaviour of web browsers.
If you use Java, you'll use the Java implementation of WebDriver. Which language, and which implementation you choose, is up to you, your skills, and the skill of your team.
Though I very much doubt that WebdriverIO is "not mature enough". WebDriver is a fine spec, with a number of powerful implementations, but it is very frequently misused. Certainly as far as newbies go, a very large proportion of "random" failures are completely avoidable race conditions within their test code.