Selenium JAVA:如何在前端验证频繁更改的数据?

时间:2018-09-06 14:02:35

标签: java selenium selenium-webdriver dynamic

我正在自动化的网站上有类似

的数据

“ 9月6日星期四交货”

日期每天都在变化。我现在必须验证它的存在和消息格式。 对此有任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试一下:

public String getCurrentDate() {
    //Delivery Sep 06 Thursday
    String format = "MMM dd EEEEE";
    SimpleDateFormat formatCurrentDate = new SimpleDateFormat(format, Locale.ENGLISH);
    Calendar userDate = Calendar.getInstance();
    return formatCurrentDate.format(userDate.getTime());
}

public void checkDeliveryDate() throws Exception {
    String searchString = "Delivery " + getCurrentDate();
    driver.isElementPresent(By.xpath("//div[.='"+searchString+"'])"));
}

答案 1 :(得分:0)

您有2个选择:

  1. 如果您知道预期日期后面的公式是什么(例如:总是同一天;总是从现在起3天,甚至更复杂的规则),那么您的测试可以像站点一样生成预期日期,并确认该网站上显示的日期与您的预期日期相同。

  2. 如果您不知道公式,公式太复杂或更改次数过多,则可以验证以下三件事:

    • 该日期以正确的格式显示(例如,您可以检查其日期格式为Delivery MMM DD EEEE
    • 日期和星期几匹配(例如检查Sep 06确实是星期四)
    • 日期在可接受的范围内(例如,从当前日期开始+/-周,或者有意义的时间)

这些是一般规则。如果您需要更具体的建议,请发布HTML代码以及预期日期后的一些逻辑。