【问题标题】:How to click the same button more than 50 times in protractor?如何在量角器中单击同一个按钮超过 50 次?
【发布时间】:2017-09-25 09:00:14
【问题描述】:

如何在量角器中使用循环语句点击同一个按钮超过50次?量角器会支持这个动作吗?

这是我的定位器:

var nudge= element(by.xpath("//a[@class='isd-flat-icons fi-down']"));
nudge.click();

【问题讨论】:

  • 当然你可以使用循环执行点击50次
  • 顺便说一句,为什么要连续点击一个按钮 50 次?它是一种功能吗?

标签: javascript angularjs selenium jasmine protractor


【解决方案1】:

你可以在javascript中尝试简单的for循环:

var nudge= element(by.xpath("//a[@class='isd-flat-icons fi-down']"));

for (i = 0; i < 50; i++) { 
    nudge.click();
}

上面的脚本将准确地点击按钮 50 次。在实施此脚本之前,请考虑:

  • 上面的脚本会尽快点击按钮
  • 即使负载如此之小,某些网站也会变得无响应

【讨论】:

    【解决方案2】:

    您也可以通过browser actions 执行此操作(在性能方面应该会更好,因为当您“执行”操作时会在单个命令中发送操作):

    var nudge = $("a.isd-flat-icons.fi-down");
    
    var actions = browser.actions();
    for (i = 0; i < 50; i++) { 
        actions = actions.click(nudge);
    }
    actions.perform();
    

    请注意,如果您想在每次点击操作之间引入延迟,您可以通过 custom "sleep" browser action 来实现:

    var nudge = $("a.isd-flat-icons.fi-down");
    
    var actions = browser.actions();
    for (i = 0; i < 50; i++) { 
        actions = actions.click(nudge).sleep(500);
    }
    actions.perform();
    

    这里的$ 是“by.css”定位器的快捷方式,一般来说,根据Style Guide,它是使用XPath 定位技术时更好的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      相关资源
      最近更新 更多