Selenium JAVA:如何验证前端频繁变化的数据?

问题描述 投票:0回答:2

我正在自动化的网站有一个类似的数据,

“交付9月06日星期四”

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

java selenium selenium-webdriver dynamic
2个回答
0
投票

你有2个选择:

  1. 如果你知道预期日期背后的公式是什么(例如:总是在同一天;总是从现在起3天,甚至是一些更复杂的规则),那么你的测试可以生成预期日期,就像网站一样,并验证显示的日期。该网站与您的预期日期相同。
  2. 如果你不知道公式,它太复杂,或者经常更改,那么你可以验证3件事: 该日期以适当的格式显示(例如,您可以检查其格式是Delivery MMM DD EEEE) 一周的日期和星期几匹配(例如检查Sep 06确实是星期四) 日期在可接受的范围内(例如,距离当前日期+/-周,或任何有意义的日期)

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


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+"'])"));
}
© www.soinside.com 2019 - 2024. All rights reserved.