Estoy intentando usar el siguiente código de muestra, pero no funciona correctamente, ¿puede alguien sugerir amablemente una forma o qué deben hacer los cambiadores?
getText: async function() { return await new Promise(async function(resolve, reject) { return await protractor.element(protractor.by.css('simple-snack-bar>span,.mat-simple-snackbar > span')).isPresent().then(async(isPresent) => { if (isPresent) { return await protractor.element(protractor.by.css('simple-snack-bar>span,.mat-simple-snackbar > span')).getText().then(async(snackBarText) => { resolve(snackBarText); }).catch(() => { return false; }) } else { reject(isPresent); return false; } }).catch(() => { return false; }) }).catch((error) => { if (error.name === 'StaleElementReferenceError') { return false; } }) } getText: async function () { return await new Promise(async function (resolve, reject) { return await protractor.element(protractor.by.css('simple-snack-bar>span,.mat-simple-snackbar > span')).isPresent().then(async (isPresent) => { if (isPresent) { return await protractor.element(protractor.by.css('simple-snack-bar>span,.mat-simple-snackbar > span')).getText().then(async (snackBarText) => { resolve(snackBarText); }).catch(() => { return false; }) } else { reject(isPresent); return false; } }).catch(() => { return false; }) }).catch((error) => { if (error.name === 'StaleElementReferenceError') { return false; } }) }Creo que su función se puede simplificar a lo siguiente:
getText: async function() { snackBarElement = element(by.css('simple-snack-bar>span,.mat-simple-snackbar > span')) try { isPresent = await snackBarElement.isPresent() if (isPresent) { return await snackBarElement.getText() } } catch(e) {} return 'Not find Snack Bar' }