0

我创建了一个方法,该方法从 datepicker 中获取所有值并将其放入 List 类型的变量中。然后我做了一个寻找特定日期的FOR,当我找到这一天时,我点击它。

现在我需要实现一个例程,当最后一天无效时显示错误消息。我正在使用 JOptionPane.showMessageDialog 类来显示错误。但问题是每次脚本进入IF测试值时都会出现提示信息,找不到。

public void campoRechamada(String dia) {
    driver.findElement(By.id("txtDtRechamada")).click();
    WebElement dateWidget = driver.findElement(rechamada);
    // List<WebElement> linhas = dateWidget.findElements(By.tagName("tr"));
    List<WebElement> colunas = dateWidget.findElements(By.tagName("td"));
    for (WebElement cell : colunas) {
        if (cell.getText().equals(dia)) {
            cell.findElement(By.linkText(dia)).click();
            break;
        } else {

            JOptionPane.showMessageDialog(null, "The date entered in the method is invalid: " + dia, "Erro",
                    JOptionPane.ERROR_MESSAGE);
        }
    }
}

从参数传递到方法。 接收参数并验证日期是否有效的方法。

日期选择器

4

1 回答 1

0

添加一个布尔标志 outsiet for 循环,并在找到日期时将其更改为 true。

然后在 for 循环之后检查标志是真还是假:

public void campoRechamada(String dia) {
    driver.findElement(By.id("txtDtRechamada")).click();
    WebElement dateWidget = driver.findElement(rechamada);
    // List<WebElement> linhas = dateWidget.findElements(By.tagName("tr"));
    List<WebElement> colunas = dateWidget.findElements(By.tagName("td"));

    boolean find = false;
    for (WebElement cell : colunas) {
        if (cell.getText().equals(dia)) {
            find = true;
            cell.findElement(By.linkText(dia)).click();
            break;
        }
    }

    if(find == false) {
        JOptionPane.showMessageDialog(null, "The date entered in the method is invalid: " + dia, "Erro",
                JOptionPane.ERROR_MESSAGE);
    }
}
于 2018-02-07T11:43:36.390 回答