Почему бы не использовать waitForDisplayed ?
Но если вы хотите использовать свою собственную - у вас есть проблема с вызовом вашей функции
waitUntilVisible(element, maxTimeOut) {
console.log("********** PARAMETER ************" + element);
//this is never called due same name of variable in fn waitUntil
const testelement = $('#identifierId');
Возможные исправления:
// if you want to pass selector
waitUntilVisible(elementSelector, maxTimeOut) {
console.log("********** PARAMETER ************" + elementSelector);
browser.waitUntil(testelement => {
console.log("************** INSIDE *********" + elementSelector);
return $(elementSelector).isDisplayed();
}, maxTimeOut, 'Wait for element to be visible');
}
// if you want to pass WebDriverIO object
waitUntilVisible(element, maxTimeOut) {
console.log("********** PARAMETER ************");
browser.waitUntil( () => {
console.log("************** INSIDE *********");
return element.isDisplayed();
}, maxTimeOut, 'Wait for element to be visible');
}