Мне все больше начинает казаться, что это разговор слепого с глухим, но что уже поделать, раз вписался. Судя по коду, который вы прислали выше - да это свои оберточные методы поверх голого веб-драйвера.
Судя по тому, что я вижу, пакет который вы выбрали для ожидания ("chai-wait-for") не умеет делать так как вы хотите. Он умеет работать следующим образом:
1. Из коробки. Вы ему скармливаете ссылку на объект, который в фоне меняет какая-то функция. Тогда она ждет, когда у нужного объекта поменяется то что нужно. Для того чтобы так работало, надо чтобы у вас был какой-то код, который асинхронно меняет значение проверяемого вами объекта.
2. С подключением различных плагинов (chai-fs, chai-webdriverio-async etc). У вас, голый Selenium WebDriver. А код, который приведен в примере судя по всему использует как раз плагин "chai-webdriverio-async" (await waitFor('#submittedMessage').to.have.text('Your changes have been saved!'). Но даже если бы он и подходил, но в нем передается селектор элемента, а не текст (ваша функция возвращает текст).