在Protractor中为多个按钮使用循环

时间:2016-02-04 16:59:53

标签: javascript webdriver protractor

目前我正在开发一个Protractor项目,该项目有多个或只有一个,反复出现,没有问题的错误消息,在继续其余测试之前必须清除(单击OK)。在页面加载开始时显示的错误消息有时可能比一个错误消息多,我希望“点击”所有错误消息。一个代码很简单:

library(data.table)
unique(setDT(df)[order(-sold)], by = 'address')

我试图围绕它进行一个简单的循环,由于某种原因,我知道,它已经工作了一段时间,现在已经停止了适当的工作。

2 个答案:

答案 0 :(得分:1)

我想你想测试一个警告框。如果我是对的,请使用browser.switchTo().alert().accept();

欲了解更多信息,请访问此链接: https://github.com/angular/protractor/blob/3d60689b423749686973227f4b26cbb494f60b66/spec/basic/navigation_spec.js#L8

请点击此处浏览以获取更多信息:https://angular.github.io/protractor/#/api?view=webdriver.WebDriver.TargetLocator.prototype.alert

答案 1 :(得分:0)

您可以使用async.whilst。基本上继续点击,直到所有警报都被解除。这有点修改你的代码(顺便说一句,我不知道alertMessages是什么)。但我希望你明白这一点。

async.whilst(
    function () { 
        return alertMessages['alertMessage'].isPresent().then(function(isPresent){
            return isPresent;
    }) },
    function (callback) {
      alertMessages['alertMessageOKButton'].click();
    },
    function (err, n) {
      console.log('Total number of alerts were '+ n);
      if(err) {
         done(err);
      } else {
        done();
      }
    }
);