0

有人可以帮助我使用 selenium webdriver 测试中使用的以下 Java 代码吗?我知道可能有更好的方法来做到这一点,但在我接手之前从事这方面工作的前一个人正在工作中学习。

基本上它会进入一个页面并检查不同的元素,如果它找到它们,它会在字段中输入一些数据。

问题是这段代码是针对不同的站点运行的,现在存在一个问题,其中一个页面上的文本 To date 和 to_date 都在页面上,因此测试失败,因为它找到了一个元素 endDateParam 但没有找到元素 to_date。

有人可以帮我解决这个问题吗?我需要它,所以如果它在页面上找到文本 to_date,它将使用 to_date 参数,如果找到文本 To date,它将使用 endDateParam,如果找到文本 To date AND to_date,它将使用它找到的任何参数.

我尝试添加一个 try catch,它在被捕获时什么都不做,但仍然失败。

        if (PWSHelper.verifyTextPresent("To date", driver))
        {
            try {
                 WebElement toDate = driver.findElement(By.name("endDateParam"));
                 toDate.sendKeys(boHelper.nextWeek());
                } catch (NoSuchElementException ex)
                {
                    System.out.println("endDateParam Not Found");
                    System.out.println();
                }
        }


        if (PWSHelper.verifyTextPresent("to_date", driver))
        {
            try {
             WebElement toDate = driver.findElement(By.name("to_date"));
             toDate.sendKeys(boHelper.nextWeek());
            } catch (NoSuchElementException ex)
            {
                System.out.println("to_date Not Found");
                System.out.println();
            }
}
4

1 回答 1

0

可以使用不同参数调用的函数怎么样:

private void doSomething(String textToFind, String target)
 if (PWSHelper.verifyTextPresent(textToFind, driver))
        {
            try {
             WebElement toDate = driver.findElement(By.name(target));
             toDate.sendKeys(boHelper.nextWeek());
            } catch (NoSuchElementException ex)
            {
                System.out.println(textToFind + " Not Found");
                System.out.println();
            }
}
于 2013-06-28T09:57:17.597 回答