#1
Отправлено 29 ноября 2015 - 10:09
#2
Отправлено 29 ноября 2015 - 17:14
По моему скромному мнению, про случай, который вы описываете, просто взять дату вам ничего не даст, так как, положим дата осталась 29, будет ли это правильным, если сегодня 30? Я бы получал посредством языка дату и это значение уже сравнивал бы со значением на сайте. Получал бы например так:
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = new Date();
#3
Отправлено 30 ноября 2015 - 07:23
Date - дата (число, месяц, год)
а по сути - получаешь системную дату, как сказал aid, переводишь её в текст и сравниваешь с текстом на странице.
Тестировщик должен быть умнее программиста... ну, по крайней мере, хитрее. ©
#4
Отправлено 30 ноября 2015 - 07:50
Плюс к вышесказанному, для удобства создай отдельный класс для работы с датами с нужными тебе методами
public final class DateUtil { public static final String DEFAULT_FORMAT = "dd.MM.yyyy"; public static String getCalendarDate(int n) { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, n); return new SimpleDateFormat(DEFAULT_FORMAT).format(cal.getTime()); } public static String getTodayDate() { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, 0); return new SimpleDateFormat(DEFAULT_FORMAT).format(cal.getTime()); } public static boolean isDateValid(String date) { SimpleDateFormat myFormat = new SimpleDateFormat(DEFAULT_FORMAT); myFormat.setLenient(false); try { myFormat.parse(date); return true; } catch (Exception e) { return false; } }
Кстати, в JDK 8 появился новый пакет java.time, т.е. имхо можно будет еще намного проще сделать
#5
Отправлено 30 ноября 2015 - 16:22
Я бы рекомендовал Вам не пользоваться календарём в ущерб java.util.Date.
Во-первых, календарь занимает больше памяти.
Во-вторых, время создания объекта Calendar больше, чем обычного Date
В-третьих, Вам всё равно же приходится конвертировать в Date, т.к. методы класса SimpleDateFormat принимают на вход дату только в формате Date.
Достаточно убедительно?
В-четвёртых, календарь - неклонируемый статический объект с отложенной инициализацией.
Вы не сможете клонировать уже созданный календарь, и Вам придётся раз за разом инициализировать новый объект, т.к. вызовы методов календаря изменяют его содержимое.
Если очень нужно удобно манипулировать датой-временем, рекомендовал бы обратить внимание на joda.DateTime.
Объекты этого класса генерятся не статически => можно создать объект и много раз его переиспользовать. Его методы не изменяют сам объект, а возвращают новый объект с нужными свойствами.
#6
Отправлено 01 декабря 2015 - 10:35
FileOutputStream fos = new FileOutputStream(path); SheetData.getWorkbook().write(fos); fos.flush(); fos.close();
Темы с аналогичным тегами selenium, java
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных