HP UFT / QTP 14.00, импортируйте CSV и сохраните значения в спецификации - PullRequest
0 голосов
/ 06 июля 2018

Я импортирую некоторые данные из файла CSV, вот данные:

*file.csv
UserName, EmailId, PhoneNumber
Antonio, anto@gmail.com, 1234567890
Oscar, osc@yahoo.com, 9999999999
Luis,lu@hotmail.com,8888888

У меня есть функция для вызова этого файла:

'************************************************************
Function ImportCsvFiletoDatatable(CsvFilePath,SheetName,HeaderDelimiter)
Dim filePath
Dim fso
Dim f
Dim fData
Dim arrData
Dim CsvValue
Dim CsvSheet
Dim CsvFirstLine
Dim CsvColumns
Dim ColumnIndex
Dim rIndex
Dim cIndex

filePath=CsvFilePath    'Specify file Path

'Open CSV File using File System Object
Set fso=createobject("scripting.filesystemobject")
Set f  = fso.OpenTextFile(filePath)

CsvFirstLine=f.readline    'Treating like first line is the column names

CsvColumns=split(CsvFirstLine,HeaderDelimiter)    'Split the line using HeaderDelimiter

Set CsvSheet=DataTable.GetSheet(SheetName)    'Get the Specified sheet

'Add the splitted values as Datatable Columns
For ColumnIndex=lbound(CsvColumns)  to ubound(CsvColumns)
CsvSheet.addparameter CsvColumns(ColumnIndex),""
Next


While not f.AtEndOfStream

rIndex=f.Line-1    'Specify Row index
fData=f.ReadLine    ' Read CSV File Line
arrData=split(fData,",")    'Split the line
cIndex=1    'Specify Column Index
CsvSheet.SetCurrentRow(rIndex)    'Set Row in the Datatable

' Add values in Datatable
For Each CsvValue In arrData
CsvSheet.getparameter(cIndex).value=CsvValue
cIndex=cIndex+1
Next

Wend

f.Close
Set fso=Nothing

End Function
'************************************************************

И работает хорошо, но информация нестабильна, и я не могу управлять данными или использовать их. Кто-то знает, как сохранить данные в техпаспорте, хотя оставить UFT?

1 Ответ

0 голосов
/ 10 июля 2018
Dim objQtApp, strXlsPath
strXlsPath = Environment("TestDir") & "\Default.xls"
Set objQtApp = CreateObject("QuickTest.Application")
DataTable.Export strXlsPath
objQtApp.Test.DataTable.Import strXlsPath
Set objQtApp = Nothing

Таблица данных времени разработки находится в файле Default.xls. Он загружается, когда вы открываете тестовый пример или редактируете его вручную из UFT. Если вы хотите обновить его программно, используйте фрагмент кода выше. Экспортируйте, а затем импортируйте объект AUtomation.

Конечно, поместите его в метод и вызовите из любого удобного для вас места.

Если вы хотите, чтобы UFT позаботился об этом автоматически, создайте новый класс и его единичный экземпляр.

Реализуйте метод Class_Terminate класса и поместите туда код. Когда бы ни выполнялся UFT из-за сбоя или по окончании обычного тестового прогона, он попытается очистить все объекты, созданные во время работы. Этот объект будет среди них, и как часть процесса автоматической очистки вы сохраните свои данные среды выполнения во время разработки (Default.xls), а затем перезагрузите его.

...