I'm trying by using bellow sample code but is not working properly, can you know anyone kindly suggest way or what are the changers to do.
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; } }) }
I think your function can simplify to following:
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'
}