->This is one of the resources for passibg dynamic values into QTP parameters
Global Datasheet -> The variable value which is used for all Actions
Action Datasheet -> The variable value which is used for only seperate Actions.
Rename Datatable Parameter name -> select the column which we want to change the parameter name->and double click for change the name
Datatable type :
-> Design time datatable -> we give the input to the input parameter
-> Runtime datatable -> we can see the ouput
once the QTP run ends, its stored the results in Runtime datatable. So if we want to see the result goto
'Automation -> Results -> Run time datatable - to see the reults
The run time table is not saved in our design time datatable. we can see the result in our local system in below path = E:\arunraj\qtp\datatable1\Res3\Report\Default.xls
Script for Adding two values from datatable
datatable.GetSheet(1) 'here Sheet id 1 for global, 2 for Action 1 and so on.
GetRowcount1 = datatable.GetRowCount
For i=1 to GetRowcount1
datatable.SetCurrentRow(i)
in1=datatable.Value(1,1) ' Parameter ID = 1 mean for input 1, and Parameter id =2 for input 2 and so on. Sheet ie =1 for Global
in2 = datatable.Value(2,1)
datatable.Value(3,1)=cint(in1)+cint(in2) ' Value from datatable is String, so we convert into Integer using cint function
Next
' The results are stored in runtime data table. its not stored in design time datable in below. So if we want to see the result goto
'Automation -> Results -> Run time datatable - to see the reults
Result from run time table ( Automation -> Results -> Run time datatable - to see the reults)
Script for Read the values from Excel and Store the values into the Excel
DataTable.Import("File Name") = Read the Values from Excel
DataTable.Export("File Name") = Insert the Values into the Excel
Note: The Excel file should have the older version (.xls). The new version is not support under QTP.
Create the new Excel and save into "C:\Users\user\Desktop\Action Image\Datatable1.xls"
Extract all rows from above Excel and insert into datatable in QTP.then below method are same as which we are using in datatable
The Script is
datatable.Import("C:\Users\user\Desktop\Action Image\Datatable1.xls") 'Extract all rows and insert into datatable , then below method are same as which we are using in datatable
datatable.GetSheet(1)
GetRow = datatable.GetRowCount
For i=1 to GetRow
datatable.SetCurrentRow
in1=datatable.Value(1,1)
in2=datatable.Value(2,1)
datatable.Value(3,1)=cint(in1)+cint(in2)
Next
datatable.Export("C:\Users\user\Desktop\Action Image\Datatable2.xls)
Then the results are stored into datatable2 Excel by using Export method
Delete the row from datatable
-> IF we select row and press delete button, the row from datatable is not permanantly deleted. The rows are still in datatable
-> if we want to delete the row from datatable use below method
a) select row and press CTRL+K
b) select row -> Edit-> delete
Working with datatable
QTP supports 3 objects named
-> Datatable
-> DTParameter
-> DTSheet
Script 1:
write program to import excel sheet to data table
Datatable.import("D:\EmpData.xls")
Script 2:
Write pgm to read data from the first parameter of global sheet
datatable.Import("E:\arunraj\notes\QTP\Example.xls")
Set dsGlobal = Datatable.GetSheet("Global")
set pmfirst = dsGlobal.GetParameter()
ds_Global_Row_Count = dsGlobal.GetRowCount()
print(pmfirst.Name)
for i=1 to ds_Global_Row_Count
print(pmfirst.ValueByRow(i))
Next
Script 3
Write pgm to read data from all sheets and all parameter of excel file
datatable.Import("E:\arunraj\notes\QTP\Example.xls")
Set countsheetobj=datatable.GetSheetCount()
For sheet=1 to countsheet1
Set currentsheetobj = datatable.GetSheet(sheet)
Set paramcount=currentsheetobj.GetParameterCount
Set rowcount = currentsheetobj.GetRowCount
print (currentsheetobj.Name)
For row=1 to rowcount
rowdata=""
For param=1 to paramcount
Set currentparam=currentsheetobj.GetParameter(param)
rowdata= rowdata & vbtab & currentparam.ValueByRow(row)
Next
print(rowdata)
Next
Next
Script 4
Write pgm to insert data into the sheet in excel.
datatable.Import("E:\arunraj\notes\QTP\Example.xls")
Function PlaceDate(SheetName,ParamName,RowNumber,DataToAdd)
Set ParamObj= Datatable.GetSheet(SheetName).GetParameter(ParamName)
paramobj.ValueByRow(RowNumber)=DataTOAdd
End Function
PlaceData("Action1","Sheet1","5,"Demo USer")
Datatable using Hybrid Approach :(Using the DataTable by coding)
We are mixing the Readymade environment provided by QTP and Programmetic procedure
Datatable type :
-> Design time datatable -> we give the input to the input parameter
-> Runtime datatable -> we can see the ouput. This is carbon copy of Design time dataTable
Script
1) Create Sheet at run time dable.
By default Runtime DataTable have two sheets Global and Action1. So if we are add any sheet it placed from third sheet.
Syntax: DataTable.AddSheet "Sheet Name"
DataTable.AddSheet "login"
The sheet login placed in third place.
2) Import test data from an External File
Syntax : DataTable.importSheet "file name",Sheet from local Excel Source file, Sheet number from Destination DataTable Run time table
DataTable.importSheet "c:\login.xls",1,3
File Name = c:\login.xls
1 = Sheet number from Source File
3= Sheet number from Destination DataTable Run time table.
3) Syntax for DataTable ()
Syntax: DatatTable(Column number of Sheet from datatable, Sheet number of Datatable)
Ex: DataTable(2,3)
We can access the data from Third Sheet and all data from Second column in Data Table
spectacular....
ReplyDeletedatatable topics is drafted and organised very well..
thx a ton..
Thanks for a marvelous posting! Want to improve your spacebar clicking speed? Visit this profile on space bar clicker. Spacebar clicker helps you count your spacebar clicking speed in a given time.
ReplyDelete