Exemplos: Criando um ProxyObject Simples

Este exemplo explica como criar um ProxyObject simples.
Por Que e Quando Desempenhar Esta Tarefa
Para criar, construir e implementar a classe ProxyObject:
  1. Crie uma classe ProxyObject usando um dos seguintes métodos:
    • Crie um JFormattedTextFieldProxy ProxyObject em Java estendido a partir do proxy de domínio Java de Functional Tester, com.rational.test.ft.domain.java.jfc.JTextProxy. Por exemplo, digite o seguinte código para criar JFormattedTextFieldProxy.java:
      package proxysdk.samples.java;
      
      import com.rational.test.ft.domain.java.jfc.JTextProxy;
      
      /**
       * @autor administrador
       *
       * TAREFA: Para alterar o modelo para este comentário de tipo gerado, vá para
       * Janela - Preferência - Java - Geração de Código - Código e Comentários
       */
      public class JFormattedTextFieldProxy extends JTextProxy
      {
      	/**
      	 * Configurar o objeto SUT
      	 * como uma variável de membro para o proxy.  Todas as interações com o
      	 * objeto fornecido são desempenhadas através desta classe.
      	 */
      	public JFormattedTextFieldProxy(Object theObjectInTheSUT)
      	{
      		super(theObjectInTheSUT) ;
      	}
           
                /* 
                 *  TAREFA:  Substituir mais métodos ProxyObject aqui
                 */
      }
    • Crie um MaskedTextProxy ProxyObject em C# estendido a partir do proxy de domínio .Net deFunctional Tester, Rational.Test.Ft.Domain.Net.TextBoxProxy. Por exemplo, digite o seguinte código para criar MaskedTextProxy.cs:
      using Rational.Test.Ft.Domain;
      using Rational.Test.Ft.Domain.Net;
      
      namespace ProxySDK.Samples.Net
      {
      	/// <summary>
      	/// Descrição resumida para MaskedTextProxy.
      	/// </summary>
      	public class MaskedTextProxy:TextBoxProxy
      	{
      		public MaskedTextProxy(NetTestDomainImplementation domain,
      			IChannel channel,
      			System.Object theTestObject): base( domain, channel, theTestObject)
      		{
      		}
      		//
      		// TAREFA: Substituir mais métodos ProxyObject aqui
      		//
      	}
      }
    • Crie um StatusBarProxy ProxyObject em C# estendido a partir do proxy de domínio Win de Functional Tester, Rational.Test.Ft.Domain.Win.GenericProxy. Por exemplo, digite o seguinte código para criar StatusBarProxy.cs:
      using Rational.Test.Ft.Domain;
      using Rational.Test.Ft.Domain.Win;
      
      namespace ProxySDK.Samples.Win
      {
      	/// <summary>
      	/// Descrição resumida para StatusBarProxy.
      	/// </summary>
      	public class StatusBarProxy:GenericProxy
      	{
      		public StatusBarProxy(WinTestDomainImplementation domain,
      			IChannel channel,
      			IWinControl theAUTControl): base( domain, channel, theAUTControl)
      		{
      			//
      			// TAREFA: Incluir lógica de construtor aqui
      			//
      		}
      	}
      }
  2. Crie os arquivos binários ProxyObject usando comandos de criação.
    • Para Java, a saída binária compilada é um arquivo JAR, por exemplo JFormattedTextFieldProxy.jar.
    • Para .Net, a saída binária compilada é uma montagem .Net, por exemplo MaskedTextProxy.dll ou StatusBarProxy.dll.
  3. Mapeie as classes ProxyObject para as classes de controle AUT no arquivo de customização Functional Tester (um arquivo .rftcust) usando um dos seguintes métodos:
    • Especifique uma entrada de mapeamento no domínio Java para usar o proxysdk.samples.java.JFormattedTextFieldProxy ProxyObject para o controle javax.swing.JFormattedTextField. Por exemplo, digite o seguinte código para criar 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>

      Com este mapeamento, Functional Tester cria uma instância JFormattedTextFieldProxy para cada controle de UI Java JFormattedTextField encontrado.

    • Especifique uma entrada de mapeamento no domínio .Net para usar o ProxySDK.Samples.Net.MaskedTextProxy ProxyObject para o controle .Net System.Windows.Forms.MaskedTextBox implementado na montagem .Net [System.Windows.Forms]. Por exemplo, digite o seguinte código para criar 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: Especifique nomes de montagem com [] enquanto especifica nomes de classes de controles .Net.
    • Especifique uma entrada de mapeamento no domínio Win para usar o [StatusBarProxy]ProxySDK.Samples.Win.StatusBarProxy ProxyObejct para o controle Win StatusBar20WndClass. Por exemplo, digite o seguinte código para criar 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>
    • Especifique entradas de mapeamento para todos os ProxyObjects em um arquivo de customização combinado.
      Nota: Você deve especificar os mapeamentos de proxy em suas respectivas seções <DomainImplementation L=".DomainImplementation">

      Por exemplo, digite o seguinte código para criar combined.rftcust:

      <ConfigFile L=".ConfigFile">
      	<Section L=".ConfigFileSection">
      		<Name>proxies</Name>
      		<Val L=".ProxyManager">
      
                                 <!--  Incluir a seção DomainImplementation para cada domínio -->
      
                                 <DomainImplementation L=".DomainImplementation">
      				<Name>Java</Name>
      				<Obj L=".Proxy">
      					<ClassName>proxysdk.samples.java.JFormattedTextFieldProxy</ClassName>
      					<Replaces/>	
      					<UsedBy>javax.swing.JFormattedTextField</UsedBy>
      				</Obj>	
                                           <!--  Incluir a seção <Obj L=".Proxy"> aqui para cada mapeamento 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>		
                                           <!--  Incluir a seção <Obj L=".Proxy"> aqui para cada mapeamento 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>	
                                          <!--  Incluir a seção <Obj L=".Proxy"> aqui para cada mapeamento de proxy Win  -->
      			
      			</DomainImplementation>
      		</Val>
      	</Section>
      </ConfigFile>

      Para qualquer sintaxe ou esclarecimento de uso, consulte o arquivo de customização rational_ft.rftcust em C:\Arquivos de Programas\IBM\SDP70\FunctionalTester\bin. Esse arquivo contém entradas de mapeamentos para todos os ProxyObjects que são distribuídos com Functional Tester.

  4. Implemente os arquivos binários de proxy, por exemplo JFormattedTextFieldProxy.jar, MaskedTextProxy.dll e StatusBarProxy.dll, e os arquivos de customização correspondentes copiando-os para o diretório de customização Functional Tester, C:\Documents and Settings\All Users\Application Data\IBM\RFT\customization.
  5. Reinicie Functional Tester.

Feedback