カスタマイズ・ファイル

.rftcust という拡張子を持つ外部カスタマイズ・ファイルに、プロキシー、TestObject、値、および値マネージャーなどの拡張可能なコンポーネントを指定できます。 ファイルをデプロイした後、これらの拡張コンポーネントは Functional Tester フレームワークの一部になります。 主要なカスタマイズ・ファイル rational_ft.rftcustFunctional Tester インストール・ディレクトリーまたはカスタマイズ・ディレクトリーにあります。

多くのカスタマイズ・ファイルを作成することができます。 Functional Tester は、始動時にすべてのカスタマイズ・ファイルを読み取り、共用メモリーに詳細を保管します。 カスタマイズ・ファイルへの追加参照は、共用メモリー内に作成されます。

カスタマイズ・ファイルの構文

カスタマイズ・ファイルは、<Section></Section> タグでマークされた多くのセクションが含まれる XML ファイルです。 各セクションには名前があり、タグとタグの間にその内容が含まれています。 以下の例は、基本的なセクションを示しています。

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

セクションはオプションであり、空のセクションをカスタマイズ・ファイルに挿入することも可能です。 各セクションには独自の構文があります。 両方のコンポーネント・モデル (Java™ および .NET) でインプリメンテーションが必要なセクション・コンポーネントの場合、以下のように Java と .NET 用にそれぞれ 2 つの <ComponentModel> タグがなければなりません。

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

proxies セクションは最も一般的に使用されるセクションです。 これには、デプロイされるプロキシー・クラスを指定するための <DomainImplementation> タグがテスト・ドメインごとに含まれ、プロキシーが使用される関連したテスト対象アプリケーション (AUT) のクラス名が含まれます。 <DomainImplementation> タグ内では、確立されるプロキシー・クラスごとに <Obj L=".Proxy"> タグが使用され、<UsedBy> タグは AUT コントロールのクラス名を指定します。

同様のコントロールに同じプロキシーを使用する場合、1 つのプロキシー・クラスに複数の <UsedBy> タグを含めることができます。

<Section> タグは、要件および Functional Tester フレームワークにデプロイされる拡張コンポーネントに合わせて適切に使用する必要があります。

メイン・カスタマイズの完全構文

以下に、メイン・カスタマイズ・ファイルの完全構文を示します。

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

フィードバック