Protractor 当出现诸如元素未找到、元素不难处理、WebDriverError:未知错误等错误时,如何在量角器中进行错误处理

Protractor 当出现诸如元素未找到、元素不难处理、WebDriverError:未知错误等错误时,如何在量角器中进行错误处理,protractor,cucumberjs,Protractor,Cucumberjs,我在一个函数中执行了一些量角器脚本,而该函数正在调用for循环。因此,如果出现任何错误,如元素未找到、元素不难处理、WebDriverError:发生未知错误:元素不可单击,则我需要跳过该循环计数,并需要执行下一个循环计数。我已尝试使用isPresent(),isDisplayed()用于捕获错误,但它不起作用,然后我尝试了下面的代码 for(i=0; i<count; i++){ post(post_details[i].MediaUrl,post_details[i].C

我在一个函数中执行了一些量角器脚本,而该函数正在调用for循环。因此,如果出现任何错误,如元素未找到、元素不难处理、WebDriverError:发生未知错误:元素不可单击,则我需要跳过该循环计数,并需要执行下一个循环计数。我已尝试使用isPresent(),isDisplayed()用于捕获错误,但它不起作用,然后我尝试了下面的代码

 for(i=0; i<count; i++){   
   post(post_details[i].MediaUrl,post_details[i].CallToActionType,post_details[i].LPAID,post_details[i].CallToActionUrl);
  } 
 post((MediaUrl,CallToActionType,LPAID,CallToActionUrl){
  element(by.css(locators.locator_post_description)).sendKeys(Summary).then (function(){
    if(MediaUrl!=null){
       var path = require('path');
       var type=MediaUrl.split("/"); 
       var fileToUpload = '../files/' + (type[type.length-1]) ;
       var absolutePath = path.resolve(__dirname, fileToUpload);
       browser.sleep(3000);
       element(by.css(locators.locator_post_img)).sendKeys(absolutePath);
       browser.sleep(6000);
      }
    if(CallToActionType!=null){
       browser.sleep(1000);
       element(by.css(locators.locator_post_eventPostButton)).click();
       browser.sleep(2000);
       element(by.cssContainingText(locators.locator_post_buttonType,CallToActionType)).click();
       browser.sleep(1000);
       element(by.css(locators.locator_post_eventPostButtonLInk)).sendKeys(CallToActionUrl);
     }
    element(by.xpath(locators.locator_post_publishBtn)).click().then (function(){
      browser.sleep(3000);
      updatedb(LPAID); 
    }); 
 },function(err) {
   console.log("no summary...."+err);
   return true;
 }); 
}

for(i=0;i量角器具有内置的预期条件,通过browser.wait()可以处理您的问题。请参阅以下代码和链接:

var EC = protractor.ExpectedConditions;
var button = $('#xyz');
var isClickable = EC.elementToBeClickable(button);

browser.get(URL);
browser.wait(isClickable, 5000); //wait for an element to become clickable
button.click();
文件-