【问题标题】:Make delay when .sendkeys from loop当 .sendkeys 从循环中延迟时
【发布时间】:2018-08-20 09:11:28
【问题描述】:

我已经完成了该脚本正在循环中填充所有可见的输入字段。 但是,我需要在填写输入字段之间放慢速度。我需要放慢速度,因为,当您快速填充时,我们的服务器端会抛出错误消息(乐观逻辑) 有什么想法,怎么做?

我用于检测输入字段+填充它们的代码如下:

List<WebElement> allInputFields = driver.findElements(By.cssSelector("cm-edit-request-form dx-text-area textarea"));
if (allInputFields.size() != 0) {
    for (WebElement allInputFieldsElement : allInputFields) {
        if (allInputFieldsElement.isEnabled()) {
            wait.until(ExpectedConditions.elementToBeClickable((allInputFieldsElement)));
            allInputFieldsElement.sendKeys("Automation text" + uuid);
        }
    }
}

【问题讨论】:

  • 您为什么要需要放慢速度?这不是违背了自动化的目的吗?
  • @DebanjanB,问题是,我们有一个解决方案,当你填得很快时,服务器会显示一个错误,你做得很快:(
  • 这个错误与相关的 HTML 一起对于解决您的问题至关重要。相应地更新问题。

标签: java selenium selenium-webdriver automation


【解决方案1】:

您可以像这样延迟将一个字符一个字符地发送到您的输入框(假设 uuid 是您在其他地方初始化的某个字符串)-

    if (allInputFieldsElement.isEnabled()) {
        wait.until(ExpectedConditions.elementToBeClickable((allInputFieldsElement)));
        String inputText = "Automation text" + uuid;
        for (int i = 0; i < inputText.length(); i++) {
          allInputFieldsElement.sendKeys(inputText.substring(i, i+1));
          Thread.sleep(1000);
    }
 }

【讨论】:

    【解决方案2】:

    您可以为某些 WebElement 编写 sendKeys 的自定义实现:

    public void sendKeys(String keysToSend,WebElement element){
            for(char c:keysToSend.toCharArray()){
                element.sendKeys(Character.toString(c));
                try {
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    

    【讨论】:

      【解决方案3】:

      尝试使用

       Thread.sleep(1000);
      

      1000 是程序将暂停的毫秒数。

      【讨论】:

      • 不是最好的,但也没有错。这是更快的答案。所有其他解决方案都利用此方法。我认为我不应该得到 -1。
      猜你喜欢
      • 1970-01-01
      • 2012-08-18
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多