WebdriverIO configuration documentation says it is possible to run in async way.
// =================== // Test Configurations // =================== // Define all options that are relevant for the WebdriverIO instance here // // Per default WebdriverIO commands getting executed in a synchronous way using // the wdio-sync package. If you still want to run your tests in an async way // using promises you can set the sync command to false. sync: true,
That would complicate normal usage, but would be more JavaScript/Node.js way and it would simplify WebdriverIO/nodemw interactions.