Por exemplo, um controle TextBox pode ter texto e texto selecionado como tipos de dados suportados. Cada um desses tipos é associado com um nome e uma descrição de cadeia que o proxy define. Esse nome é transmitido à API getTestData(String) para obter os dados de controle. Enquanto implementa a API getTestData(String), você deve usar os tipos de dados predefinidos apropriados e populá-los com dados de controle, retornando-os de acordo.
O seguinte diagrama de classe mostra os tipos de dados de teste predefinidos que o Functional Tester torna disponível:

Os seguintes tipos de dados predefinidos são alguns dos tipos de dados que você pode usar enquanto implementa a API do proxy getTestData()
TestDataText
O tipo TestDataText representa um valor de cadeia.
Este código de exemplo mostra como implementar o tipo de dado TestDataText em Java:
import com.rational.test.ft.vp.ITestData; import com.rational.test.ft.vp.impl.TestDataText; ITestData testData = null; testData = new TestDataText( getSelectedText()); return testData ;
Este código de exemplo mostra como implementar o tipo de dado TestDataText em .Net:
Rational.Test.Ft.Vp.ITestData testData = null ; object item = ((ComboBox)theTestObject).SelectedItem ; testData = new Rational.Test.Ft.Vp.Impl.TestDataText(((ComboBox)theTestObject).GetItemText(item)); return testData;
TestDataList
O tipo TestDataList representa uma lista de itens, por exemplo, itens em um ListBox e uma única coluna de uma tabela.
Este código de exemplo mostra como implementar o tipo de dado TestDataList em Java:
import com.rational.test.ft.vp.ITestData;
import com.rational.test.ft.vp.impl.TestDataElementList;
import com.rational.test.ft.vp.impl.TestDataList;
Object[] items = getListItemObjects();
TestDataElementList testData = new TestDataElementList();
for ( int i = 0; i < items.length; i ++ )
{
if ( items[i] != null )
{
testData.add(new TestDataElement(items[i], false));
nonNullValueExist = true;
}
diferente
testData.add(null);
}
return (new TestDataList(testData));
Este código de exemplo mostra como implementar o tipo de dado TestDataList em .Net:
Rational.Test.Ft.Vp.ITestData testData = null ;
string[] itemList = new string[((ComboBox)theTestObject).Items.Count] ;
for(int i=0; i < ((ComboBox)theTestObject).Items.Count; i++)
{
object item = ((ComboBox)theTestObject).Items[i] ;
if (item is string)
itemList[i] = (string) item ;
diferente
itemList[i] = ((ComboBox)theTestObject).GetItemText(item) ;
}
testData = new Rational.Test.Ft.Vp.Impl.TestDataList(new Rational.Test.Ft.Vp.Impl.TestDataElementList(itemList)) ;
return testData;
TestDataTable
O tipo TestDataTable representa dados bidimensionais que estão contidos em controles como tabelas ou grades.
Este código de exemplo mostra como implementar o tipo de dado TestDataTable em Java:
import com.rational.test.ft.vp.ITestData;
import com.rational.test.ft.vp.ITestDataTable;
import com.rational.test.ft.vp.impl.TestDataTable;
import com.rational.test.ft.vp.impl.TestDataTableRegion;
.
.
int rowCount = getRowCount();
int colCount = getColumnCount();
object[] rowElements;
rowElements = new object[colCount];
for (int row = 0; row < rowCount; ++row)
{
for (int col = 0; col < colCount; ++col)
{
object item = this.getItemText(row, col);
if (item != null)
rowElements[col] = item.ToString();
}
testData.add(rowElements);
}
for (int col = 0; col < colCount; ++col)
{
object item = this.getColumnName(col);
if (item != null)
data.setColumnHeader(col, header);
}
testData.addComparisonRegion(TestDataTableRegion.allCells());
testData.setCompareBothByLeftRegions(true);
return testData;
Este código de exemplo mostra como implementar o tipo de dado TestDataTable em .Net:
Rational.Test.Ft.Vp.ITestData testData = null;
System.Data.DataTable dataTable = GetControlData();
int colCount = dataTable.Columns.Count;
int rowCount = dataTable.Rows.Count;
object[] rowElements;
rowElements = new object[colCount];
for (int row = 0; row < rowCount; ++row)
{
for (int col = 0; col < colCount; ++col)
{
object item = null;
item = dataTable.Rows[row][col];
if (item != null)
item = item.ToString();
rowElements[col] = item;
}
testData.Add(rowElements);
}
for (int col = 0; col < colCount; ++col)
{
string columnName = dataTable.Columns[col].ColumnName;
if (columnName != null && !columnName.Equals(string.Empty))
testData.SetColumnHeader(col, columnName);
}
testData.AddComparisonRegion(TestDataTableRegion.AllCells());
testData.SetCompareBothByLeftRegions(true);
return testData;
TestDataTree
O tipo TestDataTree representa uma estrutura de dados em árvore.
Este código de exemplo mostra como implementar o tipo de dado TestDataTree em .Net:
public override Rational.Test.Ft.Vp.ITestData GetTestData(string testDataType)
{
.
.
Rational.Test.Ft.Vp.ITestData testData = new TestDataTree(GetRootNodes());
return testData;
.
.
}
private ITestDataTreeNodes GetRootNodes()
{
System.Collections.ArrayList nodeCache = new System.Collections.ArrayList(80);
System.Windows.Forms.TreeNodeCollection rootNodes = ((TreeView)this.theTestObject).Nodes;
if ( rootNodes != null && rootNodes.Count > 0 )
{
for ( int i = 0; i < children.Length; ++i )
{
nodeCache.Add(GetNode(children[i], null));
}
}
ITestDataTreeNode[] nodes = new TestDataTreeNode[nodeCache.Count];
System.Array array = nodeCache.ToArray();
for ( int i = 0; i < array.Length; ++i )
{
nodes[i] = (ITestDataTreeNode)array.GetValue(i);
}
TestDataTreeNodes testNodes = new TestDataTreeNodes(nodes);
return testNodes;
}
// Chamado por GetRootNodes()
private ITestDataTreeNode GetNode(System.Object item, ITestDataTreeNode parent)
{
String text = ((TreeNode)item).Text;
ITestDataTreeAttributes attr = new TestDataTreeAttributes(text);
ITestDataTreeNode node = new TestDataTreeNode(parent, text, null, false);
System.Collections.ArrayList nodeCache = new System.Collections.ArrayList(20);
System.Windows.Forms.TreeNodeCollection childrenNodes = ((TreeNode)item).Nodes;
if ( childrenNodes != null && childrenNodes.Count > 0 )
{
int length = childrenNodes.Count;
if ( length > 0 )
{
for ( int i = 0; i < length; ++i )
{
nodeCache.Add(GetNode(children[i], node));
}
int size = nodeCache.Count;
if ( size > 0 )
{
ITestDataTreeNode[] childNodes = new ITestDataTreeNode[size];
System.Array array = nodeCache.ToArray();
for ( int i = 0;i < size; i ++ )
childNodes[i] = (ITestDataTreeNode)array.GetValue(i);
node.SetChildren(childNodes);
}
}
}
return node;
}