Archivo de personalización

Es posible especificar componentes extensibles como proxies, TestObjects, valores y gestores de valores en un archivo de personalización externo con la extensión .rftcust. Después de desplegar los archivos, estos componentes ampliados pasan a formar parte de la estructura de Functional Tester. El archivo de personalización principal, rational_ft.rftcust, reside en el directorio de instalación de Functional Tester o en el directorio de personalización.

Se pueden crear muchos archivos de personalización. Cuando se inicia, Functional Tester lee todos los archivos de personalización y almacena los detalles en la memoria compartida. Las referencias adicionales a los archivos de personalización se realizan en la memoria compartida.

Sintaxis de un archivo de personalización

El archivo de personalización es un archivo XML con muchas secciones marcadas con las etiquetas <Section></Section>. Cada sección tiene un nombre e incluye el contenido entre las etiquetas. En el ejemplo siguiente se muestra una sección básica:

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

Las secciones son opcionales y en un archivo de personalización también se pueden insertar secciones vacías. Cada sección tiene su propia sintaxis. Para los componentes de secciones que requieren la implementación en ambos modelos de componentes (Java™ y .NET ) deberían haber dos etiquetas <ComponentModel>, una para Java y otra .NET:

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

La sección proxies es la más utilizada. Contiene una etiqueta <DomainImplementation> para cada dominio de prueba a fin de especificar las clases de proxy que se despliegan y los nombres de clase de la aplicación sometida a prueba (AUT) asociada para la que se utiliza el proxy. Dentro de la etiqueta <DomainImplementation>, las etiquetas <Obj L=".Proxy"> se utilizan para cada clase de proxy que se establece y las etiquetas <UsedBy> especifican el nombre de clase del control de AUT.

Puede utilizar más de una etiqueta <UsedBy> para una sola clase de proxy si desea usar el mismo proxy para controles parecidos.

Debe utilizar las etiquetas <Section> de forma adecuada, respetando sus requisitos y los componentes de extensión que se despliegan en la estructura de Functional Tester.

Sintaxis completa de la personalización principal

A continuación se muestra la sintaxis completa del archivo de personalización principal.

<?xml version="1.0" encoding="UTF-8"?>
<ConfigFile L=".ConfigFile">
	
	<--Proxy Section: all the proxies are defined here domain wise-->
	<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>

	
	<--ValueManager Section: all newly defined Value and Valuemanager classes are defined here -->
	<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>
	
	<--Value Converter Section: -->
	<Section L=".ConfigFileSection">
		<Name>valueConverters</Name>
		<Val L=".ValueConverterManager">
		</Val>
	</Section>


	<--Property Converter Section: -->
	<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>

	<--Options Converter Section: -->
	<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>

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

	<--TestObject Section: canonical name for all the newly created testobjects defined here -->
	<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>

Comentarios