Per aggiungere il supporto di esecuzione data-drive ad un controllo, è necessario implementare il metodo GetDataDrivableCommand()
nel proxy. Tale metodo restituisce una specifica
del metodo per implementare il supporto di esecuzione data-drive per un controllo. Mentre si usa
la procedura guidata di esecuzione data-drive, la specifica del metodo che GetDataDrivableCommand() restituisce
viene inviata allo script di test. I proxy possono sovrascrivere e restituire qualsiasi metodo
che si specifica per l'esecuzione del data-drive.
Non è obbligatorio aggiungere il supporto di esecuzione data-drive per ogni controllo.
L'esecuzione del data-drive è utile per i controlli che hanno azioni utente comuni come un
metodo e che assumono valori dei dati, come parametri.
È possibile estendere i metodi elencati
in
Tabella 1:
Tabella 1. Metodi estensibili per l'esecuzione del data-driveJava |
.Net |
MethodSpecification getDataDrivableCommand() |
MethodSpecification GetDataDrivableCommand() |
Il seguente esempio aggiunge il supporto di esecuzione data-drive in Java:
import com.rational.test.ft.domain.*;
public class newProxy extends baseProxy
{
.
.
public MethodSpecification getDataDrivableCommand()
{
if ( !isEditable() )
return null;
return MethodSpecification.proxyMethod(
this, "setText", new Object[]{MethodSpecification.datapoolRef(getText())});
}
.
.
}
Il seguente esempio aggiunge il supporto di esecuzione data-drive in .Net:
using Rational.Test.Ft.Domain;
using Rational.Test.Ft.Sys;
public class NewProxy:BaseProxy
{
.
.
.
public override MethodSpecification GetDataDrivableCommand()
{
System.String text = GetText();
if ( text == null )
text = "";
return MethodSpecification.ProxyMethod(
this, "SetText", new System.Object[]{ MethodSpecification.DatapoolRef(text) } );
}
.
.
}
Una volta sviluppato e distribuito con esito positivo questo codice proxy, eseguirne la verifica
mediante l'esecuzione del data-drive del controllo utilizzando la procedura guidata di esecuzione del data-drive Functional Tester. L'API TestObject.setText(dpString("text"))
viene inserita nello script di test.