예제: 단순 ProxyObject 작성

이 예제에서는 단순 ProxyObject를 작성하는 방법에 대해 설명합니다.
ProxyObject 클래스를 작성, 빌드 및 배치하려면 다음을 수행하십시오.
  1. 다음 방법 중 하나를 사용하여 ProxyObject 클래스를 작성하십시오.
    • Java™에서 Functional Tester Java 도메인 프록시(com.rational.test.ft.domain.java.jfc.JTextProxy)에서 확장된 JFormattedTextFieldProxy ProxyObject를 작성하십시오. 예를 들어, 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
                 */
      }
    • C#에서 Functional Tester .Net 도메인 프록시(Rational.Test.Ft.Domain.Net.TextBoxProxy)에서 확장된 MaskedTextProxy ProxyObject를 작성하십시오. 예를 들어, 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
      		//
      	}
      }
    • C#에서 Functional Tester Win 도메인 프록시(Rational.Test.Ft.Domain.Win.GenericProxy)에서 확장된 StatusBarProxy ProxyObject를 작성하십시오. 예를 들어, 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. 빌드 명령을 사용하여 ProxyObject 2진 파일을 빌드하십시오.
    • Java의 경우 컴파일된 2진 출력은 JAR 파일(예: JFormattedTextFieldProxy.jar)입니다.
    • .Net의 경우 컴파일된 2진 출력은 .Net 어셈블리(예: MaskedTextProxy.dll 또는 StatusBarProxy.dll)입니다.
  3. 다음 메소드 중 하나를 사용하여 ProxyObject 클래스를 Functional Tester 사용자 정의 파일(a .rftcust file)의 AUT 제어 클래스에 맵핑하십시오.
    • Java 도메인에서 맵핑 항목을 지정하여 javax.swing.JFormattedTextField 제어를 위해 proxysdk.samples.java.JFormattedTextFieldProxy ProxyObject를 사용하십시오. 예를 들어, 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>

      이 맵핑을 사용하여 Functional Tester는 발견한 모든 JFormattedTextField Java UI 제어에 사용할 JFormattedTextFieldProxy 인스턴스를 작성합니다.

    • .Net 도메인에서 맵핑 항목을 지정하여 [System.Windows.Forms] .Net a어셈블리에서 구현된 System.Windows.Forms.MaskedTextBox .Net 제어를 위해 ProxySDK.Samples.Net.MaskedTextProxy ProxyObject를 사용하십시오. 예를 들어, 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>
      주: .Net 제어 클래스 이름을 지정할 때 []를 사용하여 어셈블리 이름을 지정하십시오.
    • Win 도메인에서 맵핑 항목을 지정하여 StatusBar20WndClass Win 제어를 위해 [StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy ProxyObejct를 사용하십시오. 예를 들어, 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>
    • 결합된 사용자 정의 파일에서 모든 ProxyObject에 맞는 맵핑 항목을 지정하십시오.
      주: 각각의 <DomainImplementation L=".DomainImplementation"> 섹션에서 프록시 맵핑을 지정해야 합니다.

      예를 들어, 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>

      모든 구문 또는 사용법에 대한 설명은 C:\Program Files\IBM\SDP70\FunctionalTester\bin에 있는 사용자 정의 파일 rational_ft.rftcust를 참조하십시오. 이 파일에는 Functional Tester를 사용하여 전달된 모든 ProxyObject에 맞는 맵핑 항목이 들어 있습니다.

  4. 프록시 2진 파일(예: JFormattedTextFieldProxy.jar, MaskedTextProxy.dll, StatusBarProxy.dll 및 이에 상응하는 사용자 정의 파일)을 Functional Tester 사용자 정의 디렉토리(C:\Documents and Settings\All Users\Application Data\IBM\RFT\customization)에 복사하여 파일을 배치하십시오.
  5. Functional Tester를 다시 시작하십시오.

피드백