Beispiele: Einfaches Proxy-Objekt erstellen

In diesem Beispiel wird erläutert, wie Sie ein einfaches Proxy-Objekt erstellen können.
Warum und wann dieser Vorgang ausgeführt wird
So erstellen und implementieren Sie die Proxy-Objektklasse:
  1. Erstellen Sie mit einer der folgenden Methoden eine Proxy-Objektklasse:
    • Erstellen Sie in Java ein Proxy-Objekt des Typs "JFormattedTextFieldProxy", das aus dem Java-Domänenproxy von Functional Tester, com.rational.test.ft.domain.java.jfc.JTextProxy, erweitert wurde. Geben Sie beispielsweise den folgenden Code ein, um "JFormattedTextFieldProxy.java" zu erstellen:
      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
                 */
      }
    • Erstellen Sie in C# ein Proxy-Objekt des Typs MaskedTextProxy, das aus dem .NET-Domänenproxy von Functional Tester, Rational.Test.Ft.Domain.Net.TextBoxProxy, erweitert wurde. Geben Sie beispielsweise den folgenden Code ein, um "MaskedTextProxy.cs" zu erstellen:
      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
      		//
      	}
      }
    • Erstellen Sie in C# ein Proxy-Objekt des Typs StatusBarProxy, das aus dem Win-Domänenproxy von Functional Tester, Rational.Test.Ft.Domain.Win.GenericProxy, erweitert wurde. Geben Sie beispielsweise den folgenden Code ein, um "StatusBarProxy.cs" zu erstellen:
      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. Erstellen Sie mit Hilfe von Erstellungsbefehlen die Binärdateien für das Proxy-Objekt.
    • Bei Java ist die kompilierte binäre Ausgabe eine JAR-Datei, z. B. JFormattedTextFieldProxy.jar.
    • Bei .NET ist die kompilierte binäre Ausgabe eine .NET-Assembly, z. B. MaskedTextProxy.dll oder StatusBarProxy.dll.
  3. Ordnen Sie die Proxy-Objektklassen den Steuerelementklassen der zu testenden Anwendung in der Functional Tester-Anpassungsdatei (einer Datei mit der Erweiterung .rftcust) mit Hilfe einer der folgenden Methoden zu:
    • Geben Sie unter der Java-Domäne einen Zuordnungseintrag an, um das Proxy-Objekt des Typs proxysdk.samples.java.JFormattedTextFieldProxy für das Steuerelement des Typs javax.swing.JFormattedTextField zu verwenden. Geben Sie beispielsweise den folgenden Code ein, um JFormattedTextFieldProxy.rftcust zu erstellen:
      <?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>

      Bei dieser Zuordnung erstellt Functional Tester für jedes gefundene Java-UI-Steuerelement des Typs JFormattedTextField eine Instanz von JFormattedTextFieldProxy.

    • Geben Sie unter der .NET-Domäne einen Zuordnungseintrag an, um das Proxy-Objekt des Typs ProxySDK.Samples.Net.MaskedTextProxy für das .NET-Steuerelement des Typs System.Windows.Forms.MaskedTextBox zu verwenden, das in der .NET-Assembly [System.Windows.Forms] implementiert ist. Geben Sie beispielsweise den folgenden Code ein, um MaskedTextProxy.rftcust zu erstellen:
      <?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>
      Anmerkung: Verwenden Sie bei der Angabe von Namen der .NET-Steuerelementklassen [] für die Assemblynamen.
    • Geben Sie unter der Win-Domäne einen Zuordnungseintrag an, um das Proxy-Objekt des Typs [StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy für das Win-Steuerelement des Typs StatusBar20WndClass zu verwenden. Geben Sie beispielsweise den folgenden Code ein, um StatusBarProxy.rftcust zu erstellen:
      <?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>
    • Geben Sie Zuordnungseinträge für alle Proxyobjekte in einer kombinierten Anpassungsdatei an.
      Anmerkung: Sie müssen die Proxyzuordnungen im jeweiligen Abschnitt <DomainImplementation L=".DomainImplementation"> angeben.

      Geben Sie beispielsweise den folgenden Code ein, um combined.rftcust zu erstellen:

      <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>

      Erläuterungen zur Syntax oder zu deren Verwendung finden Sie in der Anpassungsdatei rational_ft.rftcust unter C:\Program Files\IBM\SDP70\FunctionalTester\bin. Diese Datei enthält Zuordnungseinträge für alle in Functional Tester bereitgestellten Proxyobjekte.

  4. Implementieren Sie die binären Proxydateien, z. B. JFormattedTextFieldProxy.jar, MaskedTextProxy.dll und StatusBarProxy.dll, sowie die entsprechenden Anpassungsdateien, indem Sie diese in das Functional Tester-Anpassungsverzeichnis, C:\Documents and Settings\All Users\Application Data\IBM\RFT\customization, kopieren.
  5. Starten Sie Functional Tester erneut.

Feedback