Customization file
You can specify extensible components such as proxies, TestObjects, values, and value
managers in an external customization file with the .rftcust extension. After the files are
deployed, these extended components become part of the Rational® Functional Tester framework. The main
customization file, rational_ft.rftcust
is located in the Rational® Functional Tester installation directory or the
customization directory.
You can create many customization files. When you start Rational® Functional Tester, it reads all the customization files and stores the details in the shared memory. Further references to the customization files are made in the shared memory
Customization file syntax
The customization file is an XML file with many sections that are marked with <Section></Section> tags. Each section has a name and contains the content between the tags. The following example shows a basic section:
<Section L=".ConfigFileSection">
<Name>Section Name</Name>
.
.
Section content
.
</Section >
Sections are optional and you can also insert empty sections also in a customization file. Each section has its own syntax. For section components that require implementation in both component models (Java™ and .NET ) there should be two <ComponentModel> tags, one for Java and .NET each:
<ComponentModel L=".ComponentModel">
<Name>Java</Name>
</ComponentModel>
<ComponentModel L=".ComponentModel">
<Name>Net</Name>
</ComponentModel>
The proxies
section is the most commonly used section. It contains a
<DomainImplementation>
tag for each test domain for
specifying proxy classes that are deployed and the associated application under test
(AUT) class names for which the proxy is used. Within the
<DomainImplementation>
tag, the <Obj
L=".Proxy">
tags are used for each proxy class that is established
and the <UsedBy>
tags specify the class name of the AUT
control.
You can have more than one <UsedBy>
tag for a single proxy
class if you want to use the same proxy for similar controls.
You must use the <Section>
tags appropriately, meeting their
requirements and extension components to be deployed into the Rational® Functional Tester framework.
Complete syntax of the main customization
The code shown below is the complete syntax for the main customization file.
<?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>