0

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; } }) }

1 Answers1

0

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'
}  
yong
  • 13,357
  • 1
  • 16
  • 27