SilkTest
#1
Отправлено 25 июля 2008 - 16:31
#2
Отправлено 28 июля 2008 - 07:15
Пример:Есть ли функция, которая возвращает вчерашнюю дату? сегодняшнюю понятно... а вот минус один день... не очень хочется в ручную все описывать...
DATETIME dt = AddDateTime( GetDateTime() , -1 )
Как раз вернет вчерашнюю дату. Более детально смотрите в хелпе функцию AddDateTime
#3
Отправлено 28 июля 2008 - 08:32
Sleep (86400) DATETIME dt = GetDateTime()
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#4
Отправлено 28 июля 2008 - 08:33
есть еще индусский способ
Sleep (86400) DATETIME dt = GetDateTime()
а, блин, тупанул :(
это для следующего дня
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#5
Отправлено 28 июля 2008 - 09:07
Дилетантесть еще индусский способ
Sleep (86400) DATETIME dt = GetDateTime()
а, блин, тупанул :(
это для следующего дня
SYS_Execute( "echo {FormatDateTime( AddDateTime( GetDateTime() , -2 ) , "dd-mm-yy" )} | date" ) Sleep (86400) DATETIME dt = GetDateTime()
#6
Отправлено 28 июля 2008 - 10:15
Дилетант
SYS_Execute( "echo {FormatDateTime( [b]AddDateTime[/b]( GetDateTime() , -2 ) , "dd-mm-yy" )} | date" ) Sleep (86400) DATETIME dt = GetDateTime()
Ерунда получается: ты используешь функцию AddDateTime, а это уже чит.
Вот функция, возвращающая вчерашнюю дату (используется доп. функция, которая вычисляет, високосный ли год).
[-] BOOLEAN IsLeapYear(INTEGER iYear) [ ] return (iYear%4 == 0 && (iYear%100 != 0) || iYear%400 == 0) [ ] [-] DATETIME GetYestardayDate(DATETIME dt) [ ] LIST OF INTEGER li30 = {4, 6, 9, 11} [ ] [ ] INTEGER iFebDays = (IsLeapYear(GetDateTimePart(dt, DTP_YEAR)) ? 29 : 28) [ ] INTEGER iMonth = GetDateTimePart(dt, DTP_MONTH) [ ] INTEGER iDay = GetDateTimePart(dt, DTP_DAY) [ ] INTEGER iYear = GetDateTimePart(dt, DTP_YEAR) [ ] DATETIME dtRet [ ] [ ] INTEGER iDaysInMonth [-] if(iMonth == 2) [ ] iDaysInMonth = iFebDays [-] else [ ] iDaysInMonth = ListFind(li30, iMonth) ? 30 : 31 [ ] [ ] Print("Number of days in {iMonth} == {iDaysInMonth}") [ ] [-] if(iDay == 1) [-] if(iMonth == 1) [ ] dtRet = "{iYear-1}-12-31" [-] else [-] if(iMonth-1 == 2) [ ] iDay = iFebDays [-] else [ ] iDay = ListFind(li30, iMonth-1) ? 30 : 31 [ ] dtRet = "{iYear}-{iMonth-1}-{iDay}" [-] else [ ] dtRet = "{iYear}-{iMonth}-{iDay-1}" [ ] return dtRet [ ]
есть лишь один момент: в сентябре 1752 года был переход с Юлианского календаря на Грегорианский и там был сдвиг на 12 дней. Этого моя функция не учитывает :(
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#7
Отправлено 28 июля 2008 - 11:04
[ ] dtRet = "{iYear}-{iMonth}-{iDay-1}"
А MakeDateTime функцию мы не учили?
Дык, это. Там if один добавить и при случае вычесть нужное количество дней.есть лишь один момент: в сентябре 1752 года был переход с Юлианского календаря на Грегорианский и там был сдвиг на 12 дней. Этого моя функция не учитывает :(
#8
Отправлено 28 июля 2008 - 12:09
А MakeDateTime функцию мы не учили?
ыыы, это я тупанул. Вообще редко с датами работал, да и СилкТестом уже больше 1,5 лет не пользуюсь...
на самом деле не совсем так. Кроме сдвига нужно еще делать проверку, что заданная дата не попадает в тот интервал (3-14 сентября 1572г.). Короче, для этой идиотской задачи не было смысла тратить время просто :)Дык, это. Там if один добавить и при случае вычесть нужное количество дней.
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#9
Отправлено 04 августа 2008 - 09:43
есть еще индусский способ
Sleep (86400) DATETIME dt = GetDateTime()
а, блин, тупанул :(
это для следующего дня
:) правильно писать вот так:
DATETIME dt = GetDateTime() Sleep (86400)
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных