我正在自动化移动领域研究硒,这是一种新情况,我陷入了一种情况,即我需要验证该日期是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();
答案 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。