Description
A test log can store three types of data: table, text and picture. The LogTableData
object lets you work with the data of the table type, which is stored in the log. This can be, for example, the tree-like log table in the Test Log panel of the generic test log.
The LogTableData
object contains properties that let you iterate through table rows and access single rows.
To obtain the LogTableData
object from scripts, use the Data
property of the LogItem
object. Make sure that the LogItem.Data.Scheme.DataType
property corresponds to the table data type.
Members
Example
The code below obtains the total number of the specified log item's rows and then posts the values of all the rows to the test log.
JavaScript, JScript
function LogTableDataExample()
{
// Obtains a collection of logs
var LogsCol = Project.Logs;
// Obtains the first log item
var LogItem = LogsCol.LogItem(0);
// Obtains the first dataset
var DataSet = LogItem.Data(0);
// Obtains the total number of rows in the dataset
var Num = DataSet.RowCount;
// Iterates through the rows
for (var i = 0; i < Num; i++)
{
var Row = DataSet.Rows(i);
// Obtains the message of the current row
var Val = Row.ValueByName("Message");
Log.Message(Val);
}
}
Python
def LogTableDataExample():
# Obtains a collection of logs
LogsCol = Project.Logs
# Obtains the first log item
LogItem = LogsCol.LogItem[0]
# Obtains the first dataset
DataSet = LogItem.Data[0]
# Obtains the total number of rows in the dataset
Num = DataSet.RowCount
for i in range(0, Num):
Row = DataSet.Rows[i]
# Obtains the message of the current row
Val = Row.ValueByName["Message"]
Log.Message(Val)
VBScript
Sub LogTableDataExample()
' Obtains a collection of logs
Set LogsCol = Project.Logs
' Obtains the first log item
Set LogItem = LogsCol.LogItem(0)
' Obtains the first dataset
Set DataSet = LogItem.Data(0)
' Obtains the total number of rows in the dataset
Num = DataSet.RowCount
' Iterates through the rows
For i = 0 to (Num - 1)
Set Row = DataSet.Rows(i)
' Obtains the message of the current row
Val = Row.ValueByName("Message")
Log.Message(Val)
Next
End Sub
DelphiScript
function LogTableDataExample;
var LogsCol, LogItem, DataSet, Num, i, Row, Val;
begin
// Obtains a collection of logs
LogsCol := Project.Logs;
// Obtains the first log item
LogItem := LogsCol.LogItem[0];
// Obtains the first dataset
DataSet := LogItem.Data[0];
// Obtains the total number of rows in the dataset
Num := DataSet.RowCount;
// Iterates through the rows
for i := 0 to (Num - 1) do
begin
Row := DataSet.Rows[i];
// Obtains the message of the current row
Val := Row.ValueByName('Message');
Log.Message(Val);
end;
end;
C++Script, C#Script
function LogTableDataExample()
{
// Obtains a collection of logs
var LogsCol = Project["Logs"];
// Obtains the first log item
var LogItem = LogsCol["LogItem"](0);
// Obtains the first dataset
var DataSet = LogItem["Data"](0);
// Obtains the total number of rows in the dataset
var Num = DataSet["RowCount"];
// Iterates through the rows
for (var i = 0; i < Num; i++)
{
var Row = DataSet["Rows"](i);
// Obtains the message of the current row
var Val = Row["ValueByName"]("Message");
Log["Message"](Val);
}
}
See Also
Access Test Log Contents from Tests
LogTableRow Object
LogColumn Object