Holen Sie sich das aktuelle Datum und die Nutzung von Junit geltend zu machen gegen ein bestimmtes format, um zu testen, ob Sie passen

Bin ich mit Selenium Webdriver um das aktuell angezeigte Datum von meiner Webseite, die zeigt, in dem format:

Freitag, 13. Dezember

Ich dann verwenden wollen, Junit assertEquals, es zu überprüfen, zeigt das heutige Datum an.

Also muss ich Holen das aktuelle Datum mit Java und dann konvertieren Sie Sie in diesem format zu tun, der Vergleich. Ich glaube, ich brauche zu verwenden " = SimpleDateFormat-Klasse verwenden Sie dann die E-d-M-Muster.

Ich bin mir nicht klar über die syntax, die so etwas wie:

WebElement currentDate = driver.findElement(By.cssSelector(".currentDate"));
    assertEquals("expected match on text", Calendar.getInstance()(some code here to convert to E d M) , currentDate.getText());

EDIT: Danke, Yuvaraj. So, die folgenden Werke:

Date currentDate = new Date();
    DateFormat dateFormat = new SimpleDateFormat("EEEE d MMMM");
    String strTodaysDate = dateFormat.format(currentDate);
    strTodaysDate = strTodaysDate.substring(0,9) + "th" + strTodaysDate.substring(9,18);
    System.out.println(strTodaysDate);

...und druckt "Freitag 13. Dezember". Das einzige problem, das ich jetzt haben, ist in der Verknüpfung der ordinal "th" in der richtigen position, wenn die Tage ändern und die char Positionen verschieben?

  • E d M nicht die Ordnungszahl Teil ("th"). Ich würde stark vorschlagen, den Aufbau der "erwartete Wert" getrennt, anstatt zu versuchen, es zu tun in einem Ausdruck. Sie wollen zu verwenden SimpleDateFormat zu tun, die Formatierung zu. (Oder Joda Zeit...)
InformationsquelleAutor Steerpike | 2013-12-13
Schreibe einen Kommentar