在Protractor中终止每个()块

时间:2014-10-08 19:37:55

标签: node.js protractor

我正在自动化一个应用程序(使用Protractor),我遇到过我想要使用键盘上的向下箭头按钮从前面的类型中选择一个选项的情况。以下是我接近这一行动的方式。

  1. 在文本字段中输入部分后,我将获得前面类型中出现的每个选项的引用。
  2. 现在,我正在使用量角器的.each()方法迭代每个选项以查找所需的选项。
  3. 我让脚本点击向下箭头按钮来迭代前面类型中的每个选项。 假设前面的类型中显示了10个选项,我需要选择的选项位于第5个位置。现在,当我到达第5个位置时,我选择了该选项,但每个()函数仍然继续。
  4. 我希望在选择了必需选项时终止循环。类似于FOR循环中的BREAK语句。

    BTW我用FOR循环尝试过上述场景,但无法在then()处理程序中使用BREAK语句。

    请让我知道如何应对这种情况。

1 个答案:

答案 0 :(得分:0)

您可以抛出异常来终止循环。将循环置于try中并使用catch来压缩结果。您也可以使用布尔变量来表示您已找到匹配并忽略该点之后的所有内容。我只会使用for循环。

编辑: 您可以添加变量以在allBenchmarks.each

之前执行操作
var action

然后在测试中

if(dataValue == optionToSelect){ 
    action = function() {benchmark.click(); ...}
}

循环退出后调用操作

if (action) action()