Перейти к содержимому

Фотография

Метод GetCurrentRow


  • Авторизуйтесь для ответа в теме
В этой теме нет ответов

#1 dondemon

dondemon

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 21 октября 2013 - 08:03

HP QTP 11 VBS
Добрый день, есть скрипт, который работает не совсем так, как я ожидаю.
Что-то мне подсказывает, что я неправильно понимаю систему работы данного метода, либо недопонимаю.
Что нужно:Есть папка с каким-то количеством подпапок. Мне нужно, чтобы QTP делал их список, заносил в data table (для дальнейшей работы) и выдавал в отчете, по необходимости.
Скрипт, в принципе работает, но он делает то количество итераций, сколько папок внутри у него находится. Если я прерываю тест, то он выдает полный список, но количество итераций, соответствует тому моменту, когда я его прервал. Т.е. в datatable полный список из 37 папок, но в списке 4е итерации (что, в принципе, ожидаемо).
Я уже 3ий день пытаюсь сделать так, чтобы он не делал столько итераций, т.к. нужный мне список выдается уже после первой. Пробовал и в функцию запихнуть, и циклы do until с внутренним счетчиком.
Подскажите в чем я не прав? может быть другой метод? Возможно, следует использовать getnextrow но он у меня не работает, т.к. строка изначально одна, и при использовании команда зацикливается.

A="D:\Файлы\***\"
 Dim fso, f, f1, s, sf, cnt 
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set f = fso.GetFolder(A)
  Set sf = f.SubFolders
cnt = Sf.Count
datatable.Value("cnt")=cnt
k=2

For each f1 in sf
s = f1.name 
Datatable.Value("typevs")=s
Datatable.SetCurrentRow (k) 
k=k+1
next 

a = datatable.Value ("typevs")
Reporter.ReportEvent 0, "", a

PS Догадался таки залезть в настройки теста и увидел run all rows по умолчанию, поставил one iteration, заработало как надо. Я так понимаю, в этои и была моя ошибка, а сам метод тут не причем.

Сообщение отредактировал dondemon: 21 октября 2013 - 09:41

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных