На сайте, который я автоматизирую, есть данные, похожие на
"Доставка 06 сентября четверг"
Дата постоянно меняется каждый день. Теперь я должен проверить его наличие и формат сообщения. Любая помощь по этому вопросу приветствуется.
Попробуйте это:
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+"'])")); }
У вас есть 2 варианта:
Если вы знаете, что за формулой стоит ожидаемая дата (например: всегда один и тот же день; всегда 3 дня с этого момента или даже некоторые более сложные правила), тогда ваш тест может сгенерировать ожидаемую дату так же, как сайт, и подтвердите, что отображаемая на сайте дата совпадает с ожидаемой вами датой.
Если вы не знаете формулу, она слишком сложна или меняется слишком часто, вы можете проверить 3 вещи:
Delivery MMM DD EEEE
Sep 06
Это общие правила. Если вам нужен более конкретный совет, пожалуйста, оставьте HTML-код и некоторую логику за ожидаемыми датами.