如何检查元素中的字符串是Java中的“有效日期格式”,“今天”还是“昨天”

时间:2019-06-23 20:06:24

标签: java selenium appium

我正在自动化移动领域研究硒,这是一种新情况,我陷入了一种情况,即我需要验证该日期是formate(2019年3月10日)或“ today”的有效日期的元素列表或“昨天”,如果我将其中的任何内容输入列表,则应该执行进一步的操作,但我什么也没想到如何将所有这些字符串与列表中的值进行补偿

我已经尝试通过Iterator获取该特定字符串


List<MobileElement> elementCells ;

        if(b==true) {
            elementCells =  getDriver().findElements(by("collect_elements_cells"));
            label(String.valueOf(elementCells.size()));// ignore this line this is the framework method to print into console 
            Iterator<MobileElement> iterator = elementCells.iterator();
            while (iterator.hasNext()) {
                MobileElement strname = iterator.next();

// in this if condition what should be the third parameter to check the string for date formate (mar 07, 2019)
                if (strname.getTagName().equals("today","yesterday",---)) {

                }
            }


            MobileElement option = getDriver().findElement(by("elements_cells"));

            hardWait(2000);
            option.click();

1 个答案:

答案 0 :(得分:1)

在Java String.equals()函数中仅使用一个参数,您将需要修改代码,例如:

if (strname.getTagName().equals("today")) {
    // do what you need for "today"
} else if (strname.getTagName().equals("yesterday")) {
    //do what you need for yesterday
} else {
    SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy");
    try {
        sdf.parse(strname.getTagName());
        System.out.println("date is valid");
    } catch (ParseException ex) {
        System.out.println("Date is not valid: " + ex.getMessage());
    }
}

有关上述模式说明以及有关方法和字段的信息,请参见SimpleDateFormat class JavaDoc

还请注意,using Thread.sleep is an anti-pattern可以考虑使用WebDriverWait代替explicitly wait for elements presence/availability/etc