LogTableData Object

Applies to TestComplete 14.72, last modified on April 22, 2021

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

Highlight search results