Selenium JAVA: Как проверить часто меняющиеся данные в интерфейсе? - PullRequest
0 голосов
/ 06 сентября 2018

На сайте, который я автоматизирую, есть данные, похожие на

"Доставка 06 сентября четверг"

Дата постоянно меняется каждый день. Теперь я должен проверить его наличие и формат сообщения. Любая помощь по этому вопросу приветствуется.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Попробуйте это:

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+"'])"));
}
0 голосов
/ 06 сентября 2018

У вас есть 2 варианта:

  1. Если вы знаете, что за формулой стоит ожидаемая дата (например: всегда один и тот же день; всегда 3 дня с этого момента или даже некоторые более сложные правила), тогда ваш тест может сгенерировать ожидаемую дату так же, как сайт, и подтвердите, что отображаемая на сайте дата совпадает с ожидаемой вами датой.

  2. Если вы не знаете формулу, она слишком сложна или меняется слишком часто, вы можете проверить 3 вещи:

    • Эта дата отображается в правильном формате (например, вы можете проверить, что она имеет формат Delivery MMM DD EEEE)
    • Дата и день совпадения недели (например, проверьте, что Sep 06 действительно четверг)
    • Дата находится в допустимом диапазоне (например, +/- неделя от текущей даты или что-либо еще, что имеет смысл)

Это общие правила. Если вам нужен более конкретный совет, пожалуйста, оставьте HTML-код и некоторую логику за ожидаемыми датами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...