Arquivo de Customização

Você pode especificar componentes extensíveis como proxies, TestObjects, valores e gerenciadores de valores em um arquivo de customização externo com a extensão .rftcust. Depois que os arquivos são implementados, esses componentes estendidos se tornam parte da estrutura do Functional Tester. O arquivo de customização principal, rational_ft.rftcust está localizado no diretório de instalação ou de customização do Functional Tester.

Você pode criar muitos arquivos de customização. Quando você inicia o Functional Tester, ele lê todos os arquivos de customização e armazena os detalhes na memória compartilhada. Mais referências aos arquivos de customização são feitas na memória compartilhada

Sintaxe do Arquivo de Customização

O arquivo de customização é um arquivo XML com muitas seções que são marcadas com as tags <Section></Section>. Cada seção tem um nome e contém o conteúdo entre as tags. O seguinte exemplo mostra uma seção básica:

<Section L=".ConfigFileSection">
	<Name>Section Name</Name>
         .
         .
         Section content
         .
</Section >

As seções são opcionais e você também pode inserir seções vazias em um arquivo de customização. Cada seção tem sua própria sintaxe. Para os componentes de seção que requerem implementação nos dois modelos de componentes (Java e .NET ), deve haver duas tags <ComponentModel>, uma para Java e outra para .NET:

<ComponentModel L=".ComponentModel">
       <Name>Java</Name>
</ComponentModel>
<ComponentModel L=".ComponentModel">
       <Name>Net</Name>
</ComponentModel>

A seção proxies é a mais comumente usada. Ela contém uma tag <DomainImplementation> para cada domínio de teste para a especificação de classes de proxy que são implementadas e os nomes de classes AUT (aplicativo em teste) associados para os quais o proxy é usado. Na tag <DomainImplementation>, as tags <Obj L=".Proxy"> são usadas para cada classe de proxy que é estabelecida e as tags <UsedBy> especificam o nome da classe do controle AUT.

Você pode ter mais de uma tag <UsedBy> para uma única classe de proxy, se quiser usar o mesmo proxy para controles semelhantes.

Você deve usar as tags <Section> adequadamente, atendendo aos seus requisitos e os componentes de extensão que serão implementados na estrutura do Functional Tester.

Sintaxe Completa da Customização Principal

A seguir, a sintaxe completa do arquivo de customização principal.

<?xml version="1.0" encoding="UTF-8"?>
<ConfigFile L=".ConfigFile">
	
	<--Seção Proxy: todos os proxies definidos aqui estão relacionados ao domínio-->
	<Section L=".ConfigFileSection">
		<Name>proxies</Name>
		<Val L=".ProxyManager">
			<DomainImplementation L=".DomainImplementation">
				<Name>Java</Name>
				<Obj L=".Proxy">
					<ClassName></ClassName>
					<Replaces/>
					<UsedBy></UsedBy>
					.
					.
				</Obj>
				.
				.
			</DomainImplementation>
			<DomainImplementation L=".DomainImplementation">
				<Name>Net</Name>
				<Obj L=".Proxy">
					<ClassName></ClassName>
					<Replaces/>
					<UsedBy></UsedBy>
					.
					.
				</Obj>
				.
				.
			</DomainImplementation>
			<DomainImplementation L=".DomainImplementation">
				<Name>Win</Name>
				<Obj L=".Proxy">
					<ClassName></ClassName>
					<Replaces/>
					<UsedBy></UsedBy>
					.
					.
				</Obj>
				.
				.
			</DomainImplementation>
			.
			.
		</Val>
	</Section>

	
	<--Seção ValueManager: todas as classes Value e Valuemanager definidas recentemente estão definidas aqui-->
	<Section L=".ConfigFileSection">
		<Name>valueManagers</Name>
		<Val L=".ValueManagerManager">
			<ComponentModel L=".ComponentModel">
				<Name>Java</Name>
				<Obj L=".ValueManager">
					<Id></Id>
					<ValueClass></ValueClass>
					<Manager></Manager>
				</Obj>
			</ComponentModel>
			<ComponentModel L=".ComponentModel">
				<Name>Net</Name>
				<Obj L=".ValueManager">
					<Id></Id>
					<ValueClass></ValueClass>
					<Manager></Manager>
				</Obj>
			</ComponentModel>
		</Val>
	</Section>
	
	<--Seção Value Converter: -->
	<Section L=".ConfigFileSection">
		<Name>valueConverters</Name>
		<Val L=".ValueConverterManager">
		</Val>
	</Section>


	<--Seção Property Converter: -->
	<Section L=".ConfigFileSection">
		<Name>propertyConverters</Name>
		<Val L=".PropertyConverterManager">
			<ComponentModel L=".ComponentModel">
				<Name>Java</Name>
				<Obj L=".PropertyConverter">
					<Property></Property>
					<Converter></Converter>
				</Obj>
			</ComponentModel>
			<ComponentModel L=".ComponentModel">
				<Name>Net</Name>
				<Obj L=".PropertyConverter">
					<Property></Property>
					<Converter></Converter>
				</Obj>
			</ComponentModel>
		</Val>
	</Section>

	<--Seção Options Converter: -->
	<Section L=".ConfigFileSection">
		<Name>options</Name>
		<Val L=".Options">
			<Obj L=".Option">
				<Name></Name>
				<Type></Type>
				<ReadOnly></ReadOnly>
				<DefaultValue/>
				<Description></Description>
				<Label/>
				<Category></Category>
				<LegalValues/>
			</Obj>
		</Val>
	</Section>

	<-- Seção RoleMap: -->
	<Section L=".ConfigFileSection">
		<Name>roleMap</Name>
		<Val L=".RoleMap">
			<Role L=".Role">
				<Name></Name>
				<Icon></Icon>
			</Role>
		</Val>
	</Section>

	<--Seção TestObject: nome canônico para todos os testobjects recentemente criados definidos aqui-->
	<Section L=".ConfigFileSection">
		<Name>testObjects</Name>
		<Val L=".TestObjectManager">
			<ComponentModel L=".ComponentModel">
				<Name>Java</Name>
				<Obj L=".TestObject">
					<CanonicalName></CanonicalName>
					<TestObject></TestObject>
				</Obj>
				.
				.
			</ComponentModel>
			<ComponentModel L=".ComponentModel">
				<Name>Net</Name>
				<Obj L=".TestObject">
					<CanonicalName></CanonicalName>
					<TestObject></TestObject>
				</Obj>
				.
				.
			</ComponentModel>
		</Val>
	</Section>

</ConfigFile>

Feedback