Exemples : Création d'un objet de proxy (ProxyObject) simple

Cet exemple explique comment créer un objet de proxy (ProxyObject) simple.

Pourquoi et quand exécuter cette tâche

Pour créer, gérer et déployer la classe ProxyObject :

Procédure

  1. Créez une classe ProxyObject de l'une des façons suivantes :
    • Créez un objet de proxy (ProxyObject) JFormattedTextFieldProxy dansJava™, étendu à partir du proxy de domaine Java de Functional Tester, com.rational.test.ft.domain.java.jfc.JTextProxy. Par exemple, entrez le code suivant pour créer JFormattedTextFieldProxy.java :
      package proxysdk.samples.java;
      
      import com.rational.test.ft.domain.java.jfc.JTextProxy;
      
      /**
       * @author administrator
       *
       * TODO Pour changer le modèle de ce commentaire de type généré, sélectionnez
       * Fenêtre - Préférences - Java - Génération du code - Code et Commentaires
       */
      public class JFormattedTextFieldProxy extends JTextProxy
      {
      	/**
      	 * Définit l'objet SUT
      	 * comme variable membre pour le proxy.  Toutes les interactions avec
      	 * l'objet fourni sont exécutées via cette classe. 
      	 */
      	public JFormattedTextFieldProxy(Object theObjectInTheSUT)
      	{
      		super(theObjectInTheSUT) ;
      	}
           
                /* 
                 *  TODO:  Remplacez d'autres méthodes ProxyObject Methods ici
                 */
      }
    • Créez un objet de proxy (ProxyObject) MaskedTextProxy dans C# étendu à partir du proxy de domaine .Net de Functional Tester, Rational.Test.Ft.Domain.Net.TextBoxProxy. Par exemple, entrez le code suivant pour créer MaskedTextProxy.cs :
      using Rational.Test.Ft.Domain;
      using Rational.Test.Ft.Domain.Net;
      
      namespace ProxySDK.Samples.Net
      {
      	/// <summary>
      	/// Récapitulatif pour MaskedTextProxy.
      	/// </summary>
      	public class MaskedTextProxy:TextBoxProxy
      	{
      		public MaskedTextProxy(NetTestDomainImplementation domain,
      			IChannel channel,
      			System.Object theTestObject): base( domain, channel, theTestObject)
      		{
      		}
      		//
      		// TODO: Remplacez d'autres méthodes ProxyObject ici
      		//
      	}
      }
    • Créez un objet de proxy (ProxyObject) StatusBarProxy dans C# étendu à partir du proxy de domaine Win de Functional Tester, Rational.Test.Ft.Domain.Win.GenericProxy. Par exemple, entrez le code suivant pour créer StatusBarProxy.cs :
      using Rational.Test.Ft.Domain;
      using Rational.Test.Ft.Domain.Win;
      
      namespace ProxySDK.Samples.Win
      {
      	/// <summary>
      	/// Récapitulatif pour StatusBarProxy.
      	/// </summary>
      	public class StatusBarProxy:GenericProxy
      	{
      		public StatusBarProxy(WinTestDomainImplementation domain,
      			IChannel channel,
      			IWinControl theAUTControl): base( domain, channel, theAUTControl)
      		{
      			//
      			// TODO: Ajoutez une logique de constructeur ici
      			//
      		}
      	}
      }
  2. Générez les fichiers binaires de l'objet de proxy (ProxyObject) à l'aide des commandes de génération.
    • Pour Java, la sortie binaire compilée est un fichier JAR, tel JFormattedTextFieldProxy.jar.
    • Pour .Net, la sortie binaire compilée est un assemblage .Net, tel MaskedTextProxy.dll ou StatusBarProxy.dll.
  3. Mappez les classes ProxyObject aux classes du contrôle AUT dans le fichier de personnalisation de Functional Tester (dont l'extension est .rftcust) de l'une des façons suivantes :
    • Spécifiez une entrée de mappage sous le domaine Java afin d'utiliser l'objet de proxy (ProxyObject) proxysdk.samples.java.JFormattedTextFieldProxy pour le contrôle javax.swing.JFormattedTextField. Par exemple, entrez le code suivant pour créer JFormattedTextFieldProxy.rftcust :
      <?xml version="1.0" encoding="UTF-8"?>
      <ConfigFile L=".ConfigFile">
      	<Section L=".ConfigFileSection">
      		<Name>proxies</Name>
      		<Val L=".ProxyManager">
      			<DomainImplementation L=".DomainImplementation">
      				<Name>Java</Name>
      				<Obj L=".Proxy">
      					<ClassName>proxysdk.samples.java.JFormattedTextFieldProxy</ClassName>
      					<Replaces/>	
      					<UsedBy>javax.swing.JFormattedTextField</UsedBy>
      				</Obj>				
      			</DomainImplementation>
      		</Val>
      	</Section>
      </ConfigFile>

      Ce mappage permet à Functional Tester de créer une instance de JFormattedTextFieldProxy pour chaque contrôle d'interface utilisateur Java JFormattedTextField trouvé.

    • Spécifiez une entrée de mappage sous le domaine .Net afin d'utiliser l'objet de proxy (ProxyObject) ProxySDK.Samples.Net.MaskedTextProxy pour le contrôle .Net System.Windows.Forms.MaskedTextBox implémenté dans l'assemblage .Net [System.Windows.Forms]. Par exemple, entrez le code suivant pour créer MaskedTextProxy.rftcust :
      <?xml version="1.0" encoding="UTF-8"?>
      <ConfigFile L=".ConfigFile">
      	<Section L=".ConfigFileSection">
      		<Name>proxies</Name>
      		<Val L=".ProxyManager">
      			<DomainImplementation L=".DomainImplementation">
      				<Name>NET</Name>
      				<Obj L=".Proxy">
      					<ClassName>[MaskedTextBoxProxy]ProxySDK.Samples.Net.MaskedTextProxy </ClassName>
      					<Replaces/>	
      					<UsedBy>[System.Windows.Forms]System.Windows.Forms.MaskedTextBox</UsedBy>
      				</Obj>				
      			</DomainImplementation>
      		</Val>
      	</Section>
      </ConfigFile>
      Remarque : Spécifiez les noms d'assemblage entre crochets ([]) lorsque vous indiquez les noms de classe de contrôle .Net.
    • Spécifiez une entrée de mappage sous le domaine Win afin d'utiliser l'objet de proxy (ProxyObject)[StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy pour le contrôle Win StatusBar20WndClass. Par exemple, entrez le code suivant pour créer StatusBarProxy.rftcust :
      <?xml version="1.0" encoding="UTF-8"?>
      <ConfigFile L=".ConfigFile">
      	<Section L=".ConfigFileSection">
      		<Name>proxies</Name>
      		<Val L=".ProxyManager">
      			<DomainImplementation L=".DomainImplementation">
      				<Name>Win</Name>
      				<Obj L=".Proxy">
      					<ClassName>[StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy</ClassName>
      					<Replaces/>
      					<UsedBy>STATUSBAR20WNDCLASS</UsedBy>
      				</Obj>				
      			</DomainImplementation>
      		</Val>
      	</Section>
      </ConfigFile>
    • Spécifiez des entrées de mappage pour tous les objets de proxy (ProxyObject) figurant dans un fichier de personnalisation combiné.
      Remarque : Vous devez spécifier les mappages de proxy dans leurs sections <DomainImplementation L=".DomainImplementation"> respectives.

      Par exemple, entrez le code suivant pour créer combined.rftcust :

      <ConfigFile L=".ConfigFile">
      	<Section L=".ConfigFileSection">
      		<Name>proxies</Name>
      		<Val L=".ProxyManager">
      
                                 <!--  Ajoutez la section DomainImplementation pour chaque domaine  --> 
      
                                 <DomainImplementation L=".DomainImplementation">
      				<Name>Java</Name>
      				<Obj L=".Proxy">
      					<ClassName>proxysdk.samples.java.JFormattedTextFieldProxy</ClassName>
      					<Replaces/>	
      					<UsedBy>javax.swing.JFormattedTextField</UsedBy>
      				</Obj>	
                                           <!--  Ajoutez la section <Obj L=".Proxy"> ici pour chaque mappage de proxy Java  --> 
       			
      			</DomainImplementation>
      
                                 <DomainImplementation L=".DomainImplementation">
      				<Name>NET</Name>
      				<Obj L=".Proxy">
      					<ClassName>[MaskedTextBoxProxy]ProxySDK.Samples.Net.MaskedTextProxy </ClassName>
      					<Replaces/>	
      					<UsedBy>[System.Windows.Forms]System.Windows.Forms.MaskedTextBox</UsedBy>
      				</Obj>		
                                           <!--  Ajoutez la section <Obj L=".Proxy"> ici pour chaque mappage de proxy .NET  --> 
      		
      			</DomainImplementation>
      
      			<DomainImplementation L=".DomainImplementation">
      				<Name>Win</Name>
      				<Obj L=".Proxy">
      					<ClassName>[StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy</ClassName>
      					<Replaces/>
      					<UsedBy>STATUSBAR20WNDCLASS</UsedBy>
      				</Obj>	
                                          <!--  Ajoutez la section <Obj L=".Proxy"> ici pour chaque mappage de proxy Win  --> 
      			
      			</DomainImplementation>
      		</Val>
      	</Section>
      </ConfigFile>

      Pour plus de détails sur la syntaxe ou l'utilisation, consultez le fichier de personnalisation rational_ft.rftcust dans C:\Program Files\IBM\SDP70\FunctionalTester\bin. Il contient les entrées de mappage pour tous les objets de proxy (ProxyObject) livrés avec Functional Tester.

  4. Déployez les fichiers binaires de proxy, par exemple JFormattedTextFieldProxy.jar, MaskedTextProxy.dll et StatusBarProxy.dll ainsi que les fichiers de personnalisation correspondants en les copiant dans le répertoire de personnalisation de Functional Tester, C:\Documents and Settings\All Users\Application Data\IBM\RFT\customization.
  5. Redémarrez Functional Tester.

Retour d'informations