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>