Esempi: creazione di un ProxyObject semplice

Questo esempio spiega come creare un ProxyObject semplice.
Informazioni su questa attività
Per creare, eseguire il build e distribuire la classe ProxyObject:
  1. Creare una classe ProxyObject utilizzando uno dei seguenti metodi:
    • Creare un JFormattedTextFieldProxy ProxyObject in Java™ esteso dal proxy dominio Java Functional Tester, com.rational.test.ft.domain.java.jfc.JTextProxy. Ad esempio, digitare il seguente codice per creare JFormattedTextFieldProxy.java:
      package proxysdk.samples.java;
      
      import com.rational.test.ft.domain.java.jfc.JTextProxy;
      
      /**
       * @author administrator
       *
       * TODO To change the template for this generated type comment go to
       * Window - Preferences - Java - Code Generation - Code and Comments
       */
      public class JFormattedTextFieldProxy extends JTextProxy
      {
      	/**
      	 * Sets the SUT object
      	 * as a member variable for the proxy.  All interactions with the
      	 * supplied object are performed through this class. 
      	 */
      	public JFormattedTextFieldProxy(Object theObjectInTheSUT)
      	{
      		super(theObjectInTheSUT) ;
      	}
           
                /* 
                 *  TODO:  Override more ProxyObject Methods here
                 */
      }
    • Creare un ProxyObject MaskedTextProxy in C# esteso dal proxy dominio .Net Functional Tester, Rational.Test.Ft.Domain.Net.TextBoxProxy. Ad esempio, digitare il seguente codice per creare MaskedTextProxy.cs:
      using Rational.Test.Ft.Domain;
      using Rational.Test.Ft.Domain.Net;
      
      namespace ProxySDK.Samples.Net
      {
      	/// <summary>
      	/// Summary description for MaskedTextProxy.
      	/// </summary>
      	public class MaskedTextProxy:TextBoxProxy
      	{
      		public MaskedTextProxy(NetTestDomainImplementation domain,
      			IChannel channel,
      			System.Object theTestObject): base( domain, channel, theTestObject)
      		{
      		}
      		//
      		// TODO: Override more ProxyObject Methods here
      		//
      	}
      }
    • Creare un ProxyObject StatusBarProxy in C# esteso dal proxy dominio Win Functional Tester, Rational.Test.Ft.Domain.Win.GenericProxy. Ad esempio, digitare il seguente codice per creare StatusBarProxy.cs:
      using Rational.Test.Ft.Domain;
      using Rational.Test.Ft.Domain.Win;
      
      namespace ProxySDK.Samples.Win
      {
      	/// <summary>
      	/// Summary description for StatusBarProxy.
      	/// </summary>
      	public class StatusBarProxy:GenericProxy
      	{
      		public StatusBarProxy(WinTestDomainImplementation domain,
      			IChannel channel,
      			IWinControl theAUTControl): base( domain, channel, theAUTControl)
      		{
      			//
      			// TODO: Add constructor logic here
      			//
      		}
      	}
      }
  2. Eseguire il build dei file binari ProxyObject utilizzando i comandi build.
    • Relativamente a Java, l'output binario compilato è un file JAR, ad esempio JFormattedTextFieldProxy.jar.
    • Relativamente a .Net, l'output binario compilato è un assemblaggio .Net, ad esempio MaskedTextProxy.dll o StatusBarProxy.dll.
  3. Associare le classi ProxyObject sulle classi di controllo dell'AUT nel file di personalizzazione Functional Tester (un file .rftcust) utilizzando uno dei seguenti metodi:
    • Specificare una voce di associazione sotto il dominio Java per utilizzare il ProxyObject proxysdk.samples.java.JFormattedTextFieldProxy per il controllo javax.swing.JFormattedTextField. Ad esempio, digitare il seguente codice per creare 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>

      Con questa associazione, Functional Tester crea un'istanza JFormattedTextFieldProxy per ogni controllo UI Java JFormattedTextField rilevato.

    • Specificare una voce di associazione sotto il dominio .Net per utilizzare il ProxyObject ProxySDK.Samples.Net.MaskedTextProxy per il controllo .Net System.Windows.Forms.MaskedTextBox implementato nell'assemblaggio .Net [System.Windows.Forms]. Ad esempio, digitare il seguente codice per creare 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>
      Nota: specificare i nomi di assemblaggio con [] mentre si specificano i nomi classe di controllo .Net.
    • Specificare una voce di associazione sotto il dominio Win per utilizzare il ProxyObejct [StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy per il controllo Win StatusBar20WndClass. Ad esempio, digitare il seguente codice per creare 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>
    • Specificare voci di associazione per tutti i ProxyObject in un file di personalizzazione combinata.
      Nota: è necessario specificare le associazioni proxy nella rispettiva sezione <DomainImplementation L=".DomainImplementation">

      Ad esempio, digitare il seguente codice per creare combined.rftcust:

      <ConfigFile L=".ConfigFile">
      	<Section L=".ConfigFileSection">
      		<Name>proxies</Name>
      		<Val L=".ProxyManager">
      
                                 <!--  Add DomainImplementation section for each domain --> 
      
                                 <DomainImplementation L=".DomainImplementation">
      				<Name>Java</Name>
      				<Obj L=".Proxy">
      					<ClassName>proxysdk.samples.java.JFormattedTextFieldProxy</ClassName>
      					<Replaces/>	
      					<UsedBy>javax.swing.JFormattedTextField</UsedBy>
      				</Obj>	
                                           <!--  Add <Obj L=".Proxy"> section here for each Java proxy mapping  --> 
       			
      			</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>		
                                           <!--  Add <Obj L=".Proxy"> section here for each .NET proxy mapping  --> 
      		
      			</DomainImplementation>
      
      			<DomainImplementation L=".DomainImplementation">
      				<Name>Win</Name>
      				<Obj L=".Proxy">
      					<ClassName>[StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy</ClassName>
      					<Replaces/>
      					<UsedBy>STATUSBAR20WNDCLASS</UsedBy>
      				</Obj>	
                                          <!--  Add <Obj L=".Proxy"> section here for each Win proxy mapping  --> 
      			
      			</DomainImplementation>
      		</Val>
      	</Section>
      </ConfigFile>

      Per eventuali chiarificazioni relative alla sintassi o all'utilizzo, consultare il file di personalizzazione rational_ft.rftcust in C:\Program Files\IBM\SDP70\FunctionalTester\bin. Questo file contiene voci di associazione per tutti i ProxyObject che vengono distribuiti con Functional Tester.

  4. Distribuire i file binari proxy, ad esempio JFormattedTextFieldProxy.jar, MaskedTextProxy.dll e StatusBarProxy.dll e i corrispondenti file di personalizzazione copiandoli nella directory di personalizzazione Functional Tester, C:\Documents and Settings\All Users\Application Data\IBM\RFT\customization.
  5. Riavviare Functional Tester.

Feedback