- Форум тестировщиков
- → Публикации Rumata
Публикации Rumata
65 публикаций создано Rumata (учитываются публикации только с 08 июля 2024)
По типу контента
По пользователю
#53425 Экспорт объектов из "Object Browser"
Отправлено автор:
Rumata
03 марта 2008 - 06:09
в
SmartBear (AutomatedQA) - Functional Testing
Здравствуйте!
Подскажите пожалуйста как можно экспортнуть дерево объектов из объектного браузера ТС 5.14
экспорт в любом формате
Подскажите пожалуйста как можно экспортнуть дерево объектов из объектного браузера ТС 5.14
экспорт в любом формате
#55333 доступ к объекту
Отправлено автор:
Rumata
14 апреля 2008 - 10:44
в
SmartBear (AutomatedQA) - Functional Testing
Здравстуйте!
Столкнулся с такой штукой, не знаю что делать:
у мня есть web интерфейс написанный на AJAX
так вот там есть портлет на котором я делаю какие либо действия,
итак, я, например, выбираю некоторый пункт списка, нажимаю "переместить", после этого у меня на на портлете появлеться метка с анимацией "пожалуста ждите".
Я в коде проверяю наличие метки таким способом:
так вот начало имени объекта(метки) я изменяю добавив метод "Wait" получаеться sys.wait<остальное имя>
проблема в том что когда объект исчезает с портлета скрипт его видит и не делает то что мне надо!
в браузере объектов я смотрел, и там этот объект исчезает как только отработает...
незнаю что за .....
Кто нить встречался с подобным?
Столкнулся с такой штукой, не знаю что делать:
у мня есть web интерфейс написанный на AJAX
так вот там есть портлет на котором я делаю какие либо действия,
итак, я, например, выбираю некоторый пункт списка, нажимаю "переместить", после этого у меня на на портлете появлеться метка с анимацией "пожалуста ждите".
Я в коде проверяю наличие метки таким способом:
sys.refresh; delay(zdk); if (метка.exists)and(метка.visible)and(метка..enabled) then бла-бла-бла
так вот начало имени объекта(метки) я изменяю добавив метод "Wait" получаеться sys.wait<остальное имя>
проблема в том что когда объект исчезает с портлета скрипт его видит и не делает то что мне надо!
в браузере объектов я смотрел, и там этот объект исчезает как только отработает...
незнаю что за .....
Кто нить встречался с подобным?
#55489 доступ к объекту
Отправлено автор:
Rumata
17 апреля 2008 - 03:37
в
SmartBear (AutomatedQA) - Functional Testing
Здравствуйте.
Попробуйте использовать метод WaitProperty:var metka = <metkaObj>; metka.WaitProperty("Visible", false, 60000);
попробовал, не получаеться...
вот как сделал:
if (Evaluate(tpm_n_obj+'.WaitProperty(''Visible'', true, 60000)'))and(Evaluate(tpm_n_obj+'.WaitProperty(''enabled'', true, 60000)'))and(Evaluate(tpm_n_obj+'.WaitProperty(''exists'', true, 60000)'))then
если выполняеться то я жду секунду и по новой пытаюсь достучаться
условие всегда выполняеться хотя объекта на портлете нет

у меня теты на виртуальной машине, может это влияет, хотя раньше не замечал ни за чем подобном...
#47484 Работа с TreeView
Отправлено автор:
Rumata
09 октября 2007 - 08:41
в
SmartBear (AutomatedQA) - Functional Testing
delphiscript
TC 5.12
тестируемое приложение на Java
Подскажите как можно вытащить имя текущей ноды из TreeView.
В объектах ничего не отображается.:(
т.е. кликнул по TreeView, определил имя ноды, кликнул в другом TreeView нашел тама ноду с таким же именем.
TC 5.12
тестируемое приложение на Java
Подскажите как можно вытащить имя текущей ноды из TreeView.
В объектах ничего не отображается.:(
т.е. кликнул по TreeView, определил имя ноды, кликнул в другом TreeView нашел тама ноду с таким же именем.
#49912 фунция Evaluate
Отправлено автор:
Rumata
04 декабря 2007 - 12:20
в
SmartBear (AutomatedQA) - Functional Testing
TC 5.12
delphiscript
Люди подскажите что за ошибка не пойму
У меня есть файл там строка: gen_string(1,1,1,1,1,6)
это есть название процедуры.
Теперь в коде, я вытаскиваю из файла строку, пишу в массив(olevariant),потом из массива обратно в переменную(string)
и хочу выполнить такой код:Evaluate (vv+ ' ;');
vv это у меня переменная где записана строка вышеупомянутая эта строка без evaluate выполняется, я блин всё перепробовавл не знаю почему такое может быть
при попытке выполнения кода лезет ошибка Unable to evaluate : gen_string at Line:1, Char:2.
Помогите пожалуйста решить эту проблему.
delphiscript
Люди подскажите что за ошибка не пойму
У меня есть файл там строка: gen_string(1,1,1,1,1,6)
это есть название процедуры.
Теперь в коде, я вытаскиваю из файла строку, пишу в массив(olevariant),потом из массива обратно в переменную(string)
и хочу выполнить такой код:Evaluate (vv+ ' ;');
vv это у меня переменная где записана строка вышеупомянутая эта строка без evaluate выполняется, я блин всё перепробовавл не знаю почему такое может быть
при попытке выполнения кода лезет ошибка Unable to evaluate : gen_string at Line:1, Char:2.
Помогите пожалуйста решить эту проблему.
#49951 фунция Evaluate
Отправлено автор:
Rumata
05 декабря 2007 - 04:53
в
SmartBear (AutomatedQA) - Functional Testing
что-то я много ерунды в предыдущем посте написал, и все без толку
перепишите свои процедры, заменив их на функции, и тогда смело пользуйтесь функцией Evaluate
вот переделанный пример из хелпаfunction PostMessage:boolean; begin Log.Message('Success'); Result:=true; end; procedure TestEval; begin Evaluate('PostMessage'); end;
Спасибо и правда помогло!!!
теперь буду хелпы читать более внимательно :-)
#55235 создание собственных типов
Отправлено автор:
Rumata
10 апреля 2008 - 10:16
в
SmartBear (AutomatedQA) - Functional Testing
спасибо за советы
я нашел способ сделать по другому.
использую параллельно два массива, в первом массиве имя элемента во втором его значение
я нашел способ сделать по другому.
использую параллельно два массива, в первом массиве имя элемента во втором его значение
#55204 создание собственных типов
Отправлено автор:
Rumata
10 апреля 2008 - 06:39
в
SmartBear (AutomatedQA) - Functional Testing
Привет!
Подскажите плиз, есть ли возможность создать свой тип в тест комплите 5.14(delphiscript)
мне например нужен массив типа запись
Подскажите плиз, есть ли возможность создать свой тип в тест комплите 5.14(delphiscript)
мне например нужен массив типа запись
#46392 Tc Не Видит Кнопку По Которой Надо Кликнуть
Отправлено автор:
Rumata
11 сентября 2007 - 11:07
в
SmartBear (AutomatedQA) - Functional Testing
Пасиб Большое Refresh помог!!!
весь день экспериментировал со всякой лабудой, а так не догадался :)
А насчет ошибок: бывает при одном запуске скрипт отрабатывает а потом нет, еще было рабочие процедуры перестали работать, потом ради эксперимента убрал комментарии на других которые делали совершенно другие действия и всё заработало...
весь день экспериментировал со всякой лабудой, а так не догадался :)
А насчет ошибок: бывает при одном запуске скрипт отрабатывает а потом нет, еще было рабочие процедуры перестали работать, потом ради эксперимента убрал комментарии на других которые делали совершенно другие действия и всё заработало...
#46366 Tc Не Видит Кнопку По Которой Надо Кликнуть
Отправлено автор:
Rumata
11 сентября 2007 - 06:17
в
SmartBear (AutomatedQA) - Functional Testing
Здравствуйте все у меня такая вот ошибка, второй день над ней мучаюсь
Использую TectComplete 5.12.454.7
Тестируемая программа написана на java
язык скрипта Delphi
Суть программы такова, есть удалённые Unix сервера которые чего там делают
Программа же их администрирует
так вот
у меня еся на форме проги кнопка "Отчёты" по клику на ней вылазит маленькое окошко где размещены пять кнопок на различные отчеты.
ошибка вот в чем первые две кнопки сверху кликаются без проблем , третья же не хотит: в логе лезит ошибкаThe window is disabled. The action cannot be executed.
Так вот пробовал вчера первые две процедуры комментировать - не работало, теперь же работает клик по третьей кнопке если нет первых процедур
весь прикол в том что процедуры идентичны почти там просто разные имена кнопок
и по проверке кнопка как бы существует
if Sys.Process('javaw').SwingObject('JDialog', 'Окно отчетов ', -1).SwingObject('JRootPane', '', 0).SwingObject('null.layeredPane').SwingObject('null.contentPane').SwingObject('Box', '', 0).SwingObject('JButton', 'Отчет о перезагрузках прикладного сервера', 2).Exists then
begin
// кликаем по кнопке о выводе отчёта( 3-й с верху)
// кнопку он видит пробуем кликнуть
Log.Message('Кнопка экзистится пробуем кликануть по ней');
Sys.Process('javaw').SwingObject('JDialog', 'Окно отчетов ', -1).SwingObject('JRootPane', '', 0).SwingObject('null.layeredPane').SwingObject('null.contentPane').SwingObject('Box', '', 0).SwingObject('JButton', 'Отчет о перезагрузках прикладного сервера', 2).Click();
t := true;
end
исключение не возникает код рабочий.
и скажите ещё у testcomplita порой глюки лезят , это нормальный режим работы ? :)
пробовал ставить у окна свойсва enabled и focus в true всё равно не работает
refresh тоже не работает
скриншот прилагаю
и полный код скрипта
Помогите пожалуста, или есть у кого нить какие идеи по этому поводу
Использую TectComplete 5.12.454.7
Тестируемая программа написана на java
язык скрипта Delphi
Суть программы такова, есть удалённые Unix сервера которые чего там делают
Программа же их администрирует
так вот
у меня еся на форме проги кнопка "Отчёты" по клику на ней вылазит маленькое окошко где размещены пять кнопок на различные отчеты.
ошибка вот в чем первые две кнопки сверху кликаются без проблем , третья же не хотит: в логе лезит ошибкаThe window is disabled. The action cannot be executed.
Так вот пробовал вчера первые две процедуры комментировать - не работало, теперь же работает клик по третьей кнопке если нет первых процедур
весь прикол в том что процедуры идентичны почти там просто разные имена кнопок
и по проверке кнопка как бы существует
if Sys.Process('javaw').SwingObject('JDialog', 'Окно отчетов ', -1).SwingObject('JRootPane', '', 0).SwingObject('null.layeredPane').SwingObject('null.contentPane').SwingObject('Box', '', 0).SwingObject('JButton', 'Отчет о перезагрузках прикладного сервера', 2).Exists then
begin
// кликаем по кнопке о выводе отчёта( 3-й с верху)
// кнопку он видит пробуем кликнуть
Log.Message('Кнопка экзистится пробуем кликануть по ней');
Sys.Process('javaw').SwingObject('JDialog', 'Окно отчетов ', -1).SwingObject('JRootPane', '', 0).SwingObject('null.layeredPane').SwingObject('null.contentPane').SwingObject('Box', '', 0).SwingObject('JButton', 'Отчет о перезагрузках прикладного сервера', 2).Click();
t := true;
end
исключение не возникает код рабочий.
и скажите ещё у testcomplita порой глюки лезят , это нормальный режим работы ? :)
пробовал ставить у окна свойсва enabled и focus в true всё равно не работает
refresh тоже не работает
скриншот прилагаю
и полный код скрипта
Помогите пожалуста, или есть у кого нить какие идеи по этому поводу
Прикрепленные файлы
-
Безымянный.bmp 1,25МБ 39 Количество загрузок:
-
new_4.txt 68,06К 41 Количество загрузок:
#46651 сокрытие приложения
Отправлено автор:
Rumata
18 сентября 2007 - 07:54
в
SmartBear (AutomatedQA) - Functional Testing
Как запустить приложение чтобы оно могло теститься(клики по кнопкам, ввод данных) но в тоже время его не было видно пользователю, пусть система будет недоступна но окошки не вылазят
#46656 сокрытие приложения
Отправлено автор:
Rumata
18 сентября 2007 - 08:54
в
SmartBear (AutomatedQA) - Functional Testing
Да я чего то забыл :)
использую DelphiScript
Win XP
тестируемые приложения (точнее не тестируемые в них я делаю дополнительную обработку данных из за чего их желательно скрыть) :
telnet и notepad
использую DelphiScript
Win XP
тестируемые приложения (точнее не тестируемые в них я делаю дополнительную обработку данных из за чего их желательно скрыть) :
telnet и notepad
#48941 Пожирание памяти TC
Отправлено автор:
Rumata
14 ноября 2007 - 08:44
в
SmartBear (AutomatedQA) - Functional Testing
я переставил тесткомплит и теперь она занимает всего 20 метров памяти :-)Здравствуйте.
На мой взгляд, такая проблема нуждается в исследовании под профайлером. А это могут сделать только разработчики TestComplete. Вам необходимо написать им на support@automatedqa.com и предоставить пример, воспроизводящий проблему (или просто шаги как этого добится без примера). Насколько я знаю их отношение к подобным проблемам, в следующем обновлении её пофиксят.
Теперь примерчик не представишь, правда выгружается всё равно долго, когда терпение кончаеться приходиться таск менеджером убивать
А что на support писать "Программа виснет, помогите!"? глупо по моему причину всё равно не определишь...
поэтому буду чуть мучиться... :-)
#48930 Пожирание памяти TC
Отправлено автор:
Rumata
14 ноября 2007 - 03:12
в
SmartBear (AutomatedQA) - Functional Testing
Люди подскажите пожайлуста почему ТС 5.12 так жрёт ресурсы
При загрузке в памяти занимает сразу же 60метров а после получаса работы 150-200 и файл подкачки раздувается до гига
ничего такого я не делаю: картинки в логи не пишу(чистил логи та же картина).
Первоначально вроде не так было, переставлять придётся что ли?
а как вы проверяете, что он столько отжирает?
вообще в ньюсгруппе было много вопросов по этой теме
то же самое касается "вылетов" и "зависаний" ТК после долгой работы
из того, что я помню по этой теме: был вопрос как и тут: почему ТК жрет столько ресурсов?
один из ответов был такой: на самом деле это проблема Windows Task Manager, и что мол если через полчаса работы, когда ТК сожрал много памяти, перестартовать Таск Менеджер, то можно увидеть, что ТК опять занимает 70-80 мегабайт.
Посоветовать могу лишь перезапускать ТК (если, конечно, вы говорите о росте используемой памяти во время запусков скриптов, а не во время их написания).
Вот несколько ответов от АКуА саппорта (можете и сами поисать в их ньюсгруппе, я искал по слову "memory")Most probably, the high memory consumption is caused by the large number
of ODT classes and objects created during the script execution.
Have you tried clearing ODT data and classes when they are no longer
needed by the script?The problem occurs because of the large amount of Load Testing results - all results are stored in memory until the test run is completed.
It is not possible to disable the Load Testing log.
The only solution I can propose is to split the test in parts and run them individuallyHi Support,
When I use Files.Compare function to compare two large binary files (each one is about 400Mb), I got exception "Out of memory while expanding memory stream".
=====
Thank you for reporting the issue. We will try to fix it in one of future versions of the tool (but not in the upcoming update).
In the meantime, I suggest that you use a third-party file comparing utility. You can set up such a utility in TestComplete so that it is used when the Files.Compare method is called. Please see the 'Stores Options Dialog' help topic for details.I have tracked it down to the very long strings assigned to variables in the editor. Removing those stops the memory leak. Temporarily, I've been reading those values into a variable from a file instead. It does seem to be the long strings in the editor - see the project. Just opening it and starting to edit that code will cause it to start. Then, just open up your windows task manager and watch your swap file usage in the performance tab begin to grow
We think that the problem you faced is caused by a great number of HTML elements located on the tested web page: If their number exceeds 5000, the memory consumption you observe is normal. To check our assumption, please check the value of the page's document.all.ChildCount property in TestComplete
устал...
а там еще много...
короче, в любом случае, там слишком много факторов, которые могут влиять (тип приложения, тип тестирования, наличие/отсутствие виртуальных машин, и т.д.), так что вам надо в саппорт
Да мне в принципе не критично...
Проверял через Таск Менеджер(память жрётся во время написания скриптов)
Конечно если перестартовать TC ресурсы освобождаются, но у меня тс вырубаеться почемуто минут 5
Закрываю свой проект(file --> close), по идее должны ресурсы освободиться(чего не происходит) а затем закрываю сам TC и у меня таск менеджер показывает освобождение памяти медлено-медленно... если за пол минуты высвободиться метров 30, то это уже хорошо, машина вроде не слабая...
Впрочем это всё риторика...
Всегда памяти будет мало, а программы будут подтормаживать...
#48887 Пожирание памяти TC
Отправлено автор:
Rumata
13 ноября 2007 - 12:02
в
SmartBear (AutomatedQA) - Functional Testing
Люди подскажите пожайлуста почему ТС 5.12 так жрёт ресурсы
При загрузке в памяти занимает сразу же 60метров а после получаса работы 150-200 и файл подкачки раздувается до гига
ничего такого я не делаю: картинки в логи не пишу(чистил логи та же картина).
Первоначально вроде не так было, переставлять придётся что ли?
При загрузке в памяти занимает сразу же 60метров а после получаса работы 150-200 и файл подкачки раздувается до гига
ничего такого я не делаю: картинки в логи не пишу(чистил логи та же картина).
Первоначально вроде не так было, переставлять придётся что ли?
#47373 Буфер обмена
Отправлено автор:
Rumata
05 октября 2007 - 10:04
в
SmartBear (AutomatedQA) - Functional Testing
TC 5.12.454.7
Delphiscript
Привет всем!
Подскажите как можно записать в текстовый файл содержимое буфера.
Мне нужно переписать файл.
Delphiscript
Привет всем!
Подскажите как можно записать в текстовый файл содержимое буфера.
Мне нужно переписать файл.
#47432 Буфер обмена
Отправлено автор:
Rumata
08 октября 2007 - 10:36
в
SmartBear (AutomatedQA) - Functional Testing
вот как на delphiscript:
AssignFile( fff, 'c:\123.txt' );
try
Rewrite(fff);
Write(fff,Sys.Clipboard);
finally
CloseFile( fff );
end;
AssignFile( fff, 'c:\123.txt' );
try
Rewrite(fff);
Write(fff,Sys.Clipboard);
finally
CloseFile( fff );
end;
#48537 по строковому имени процесса сделать действие
Отправлено автор:
Rumata
06 ноября 2007 - 12:03
в
SmartBear (AutomatedQA) - Functional Testing
delphiscript
tc 5.12
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу
т.е. вы пытаетесь из строк сделать объекты?
это, конечно, возможно, но не так, как вы пытаетесь сделать (через VariantArray)
если я правильно понял, задача звучит так: есть текстовый файл, в котором хранятся имена объектов, по которым надо кликать. Хранятся в текстовом виде.
Вам проще сделать так: считать содержимое файла в массив, а затем для каждого элемента массива делать так
допустим, массив строк называется arrEvaluate (arr[i] + '.Click();')не уверен, но по-моему знак "+" в делфискрипте означает конкатенацию строк.
Основной момент здесь - это использование функции Evaluate, которая позволяет выполнить любой кусок текста, как код скрипта
ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить на
Evaluate (arr[i] + '.Click;')
#48591 по строковому имени процесса сделать действие
Отправлено автор:
Rumata
07 ноября 2007 - 02:53
в
SmartBear (AutomatedQA) - Functional Testing
ОГРОМНОЕ СПАСИБО!!!
РАБОТАЕТ!!!
правда нужно изменить наEvaluate (arr[i] + '.Click;')
да, в ДелфиСкрипте я не силен, однако. Ну, работает - и отлично
Нет, вы правильно написали, по идее у события "клик" есть параметры, а если их не указывать то можно ставить пустые скобки, но видимо сама функция "Evaluate" чего то там преобразовывает и поэтому потом ругается на эти самые скобки
#48532 по строковому имени процесса сделать действие
Отправлено автор:
Rumata
06 ноября 2007 - 11:15
в
SmartBear (AutomatedQA) - Functional Testing
delphiscript
tc 5.12
Привет Всем
Проблема вот в чём:
Есть файл 123.txt
в нём написаны имена процессов:
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', 'CE')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '7')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '8')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '9')
и так далее
теперь в скрипте я считываю имена процессов в массив(olevariant)
mass_obj := BuiltIn.CreateVariantArray(1, kk); // присваиваю массиву длину
while not eof(f) do
begin
kk := kk + 1;
readln( f, s);
mass_obj[kk] := s;
end;
потом в другой процедуре пытаюсь кликнуть
l_mass_obj := BuiltIn.CreateVariantArray(1, dl_mass); // присваиваю массиву длину
l_mass_obj := mass_obj;
tpm := l_mass_obj[l_i];
tpm.click();
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу
tc 5.12
Привет Всем
Проблема вот в чём:
Есть файл 123.txt
в нём написаны имена процессов:
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', 'CE')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '7')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '8')
Sys.Process('calc').Window('SciCalc', 'Калькулятор').Window('Button', '9')
и так далее
теперь в скрипте я считываю имена процессов в массив(olevariant)
mass_obj := BuiltIn.CreateVariantArray(1, kk); // присваиваю массиву длину
while not eof(f) do
begin
kk := kk + 1;
readln( f, s);
mass_obj[kk] := s;
end;
потом в другой процедуре пытаюсь кликнуть
l_mass_obj := BuiltIn.CreateVariantArray(1, dl_mass); // присваиваю массиву длину
l_mass_obj := mass_obj;
tpm := l_mass_obj[l_i];
tpm.click();
tc ругается на неизвестное имя click
подскажите пжл как можно сделать то что я хочу
#52851 WEB testing
Отправлено автор:
Rumata
13 февраля 2008 - 10:43
в
SmartBear (AutomatedQA) - Functional Testing
Вопрос № 2 :)
При записи тестов все пишеться отлично только вот идет адресация по ячейкам таблиц не веб страницах. страницы такие что места нужных елементов могут меняться. Как можно еще к ним обращаться?
У нас была такая же проблема
Метод Find (даже если бы и помогал) работает так долго что всё преимущество автоматизации убивается
Решения:
1) Писать автотест по строго определённому сценарию, тогда можно хоть как то определить ячейки
2) самый действенный, Просить программистов чтобы они фиксировали имена объектов
#47430 Как определить был ли создан файл
Отправлено автор:
Rumata
08 октября 2007 - 10:12
в
SmartBear (AutomatedQA) - Functional Testing
delphiscript
Тут опять вопрос появился, может кто что подобное делал?
У меня тестируемое приложение при моих определенных действиях создает в нужной директории файл формата ХХХХХХХХХ_20071008152634.xls
В конце имени файла набор типа датавремя . Дело в том что я не могу точно определить момент создания файла и следовательно узнать его имя, но вне нужно точно знать, создался он или нет.
Может сканировать количество файлов в директории и сравнивать с прошлым значением, а может смотреть в атрибутах директории дату модификации??
Есть у кого нить идеи?
если можно то с исходником
Тут опять вопрос появился, может кто что подобное делал?
У меня тестируемое приложение при моих определенных действиях создает в нужной директории файл формата ХХХХХХХХХ_20071008152634.xls
В конце имени файла набор типа датавремя . Дело в том что я не могу точно определить момент создания файла и следовательно узнать его имя, но вне нужно точно знать, создался он или нет.
Может сканировать количество файлов в директории и сравнивать с прошлым значением, а может смотреть в атрибутах директории дату модификации??
Есть у кого нить идеи?
если можно то с исходником
#47462 Как определить был ли создан файл
Отправлено автор:
Rumata
09 октября 2007 - 05:11
в
SmartBear (AutomatedQA) - Functional Testing
есть идеи, исходника нету :)
варианты:
1) перед запуском программы удалять из папки все XLS файлы, а в нужный момент проверять, что файл с таким расширением появился
2) я так предполагаю, что это какой-то репорт, который генерится при определенных условиях (например, при нажатии на кнопку в приложении). В момент, когда наступают эти условия, можно запомнить время с точностью до минуты и потом проверить, что файл XXXX_YYYYMMDDHHNN**.xls существует. Тут есть один недостаток: допустим, вы запомнили время в момент 11:59:59 и нажали соответствующую кнопку в приложении. Естественно, что файл не будет иметь имя XXX_20071008115959, а будет типа XXX_20071008120030. Еще хуже, если скрипт запомнит время ночью, скажем в 23-59-59/ Там изменится не только время, но и дата
3) ваш вариант с простой проверкой количества файлов не очень удачный, так как в этой папке могут создаваться/удаляться и другие файлы, что повлияет на результат непредсказуемо. То же самое касается проверки даты модификации директории. Если уж и проверять количество, то только файлов формата XXX_YYYY*****.xls
Сам я, когда решал подобную задачу (правда, с помощью СилкТеста, но это не важно), использовал вариант 1+2, т.е. сначала удалял все подобные файлы, потом дожидался, пока текущее время будет HH:NN:01, запоминал эти HH:NN и генерировал репорт, а потом проверял наличие файла XXX_YYYYDDMMHHNN**.xls. У такого варианта есть только один способ свалиться: если запоминаемое время прийдется как раз на 23:59 и файл будет генерироваться больше минуты, что обычно не наблюдается и вообще маловероятно =)
да тоже были похожие мысли
В этой директории файлы никакие другие файлы больше не создаются поэтому ошибок не возникнет
Поэтому самый оптимальный вариант пересчитывать каждый раз количество файлов в директории и по изменившемуся количеству определить создался файл али нет.
Мне в принципе не важно контролировать параметры файла кроме расширения. нужно зафиксировать только то что файл с расширением ".xls" добавился в данную директорию
Только я не знаю как это сделать а время поджимает
#47492 Как определить был ли создан файл
Отправлено автор:
Rumata
09 октября 2007 - 10:22
в
SmartBear (AutomatedQA) - Functional Testing
Рекомендую почитать вот это надеюсь поможет тут находиться очень хорошее руководство!!!
Спасибо!
#47491 Как определить был ли создан файл
Отправлено автор:
Rumata
09 октября 2007 - 10:15
в
SmartBear (AutomatedQA) - Functional Testing
Здравствуйте.
Вот, примерчик сделал.function getNewFiles(path, oldFileList); var i : Integer; SearchRec : TSearchRec; newFileList; begin SearchRec := TSearchRec; i := FindFirst(path, faAnyFile, SearchRec); newFileList := ''; while i = 0 do begin if Pos(Utilities.LowerCase(SearchRec.Name), Utilities.LowerCase(oldFileList)) = 0 then begin newFileList := newFileList + SearchRec.Name + #13#10; end; i := FindNext(SearchRec); end; Utilities.FindClose(SearchRec); Result := Utilities.Trim(newFileList); end; procedure Main; var path, fileList, newFileList; begin path := 'C:\Folder\*.xls'; fileList := getNewFiles(path, ''); Log.Message(path, fileList); //.. Создать файл newFileList := getNewFiles(path, fileList); Log.Message(path, newFileList); end;
ОГРОМНОЕ СПАСИБО!!!
Всё получилось!
- Форум тестировщиков
- → Публикации Rumata
- Политика Конфиденциальности
- Правила форума ·