Vous pouvez créer plusieurs fichiers de personnalisation. Lorsque vous lancez Functional Tester, ce dernier lit tous les fichiers de personnalisation et stocke les détails dans la mémoire partagée. D'autres références aux fichiers de personnalisation sont effectuées dans la mémoire partagée.
Le fichier de personnalisation est un fichier XML comportant de nombreuses sections délimitées par les balises <Section></Section>. Chaque section a un nom et le contenu apparaît entre les balises. L'exemple suivant illustre une section de base :
<Section L=".ConfigFileSection"> <Name>Nom de la section</Name> . . Contenu de la section . </Section >
Les sections sont facultatives ; vous pouvez aussi insérer des sections vides dans un fichier de personnalisation. Chaque section possède sa propre syntaxe. Les composants de section qui requièrent une implémentation dans les deux modèles de composant (Java™ et .NET) doivent comporter chacun deux balises <ComponentModel>, une pour Java et une pour .NET :
<ComponentModel L=".ComponentModel"> <Name>Java</Name> </ComponentModel> <ComponentModel L=".ComponentModel"> <Name>Net</Name> </ComponentModel>
La section proxies est la section la plus fréquemment utilisée. Elle comporte une balise <DomainImplementation> pour chaque domaine de test, qui permet de spécifier les classes de proxy déployées et les noms de classe de l'application testée associés pour lesquels le proxy est utilisé. Dans la balise <DomainImplementation>, les balises <Obj L=".Proxy"> sont utilisées pour chaque classe de proxy établie et les balises <UsedBy> spécifient le nom de classe du contrôle AUT.
Vous pouvez associer plusieurs balises <UsedBy> à une classe de proxy unique si vous voulez utiliser le même proxy pour des contrôles similaires.
Vous devez utiliser les balises <Section> de façon appropriée et respecter leurs exigences et les composants d'extension à déployer dans la structure Functional Tester.
Voici la syntaxe complète du fichier de personnalisation principal :
<?xml version="1.0" encoding="UTF-8"?> <ConfigFile L=".ConfigFile"> <--Section du proxy : tous les proxys sont définis ici pour le domaine--> <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> <--Section du gestionnaire de valeurs : toutes les classes Value et Valuemanager nouvellement définies sont définies ici --> <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> <--Section du convertisseur de valeurs : --> <Section L=".ConfigFileSection"> <Name>valueConverters</Name> <Val L=".ValueConverterManager"> </Val> </Section> <--Section du convertisseur de propriétés : --> <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> <--Section du convertisseur d'options : --> <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> <-- Section de la mappe des rôles : --> <Section L=".ConfigFileSection"> <Name>roleMap</Name> <Val L=".RoleMap"> <Role L=".Role"> <Name></Name> <Icon></Icon> </Role> </Val> </Section> <--Section de l'objet de test : nom canonique pour tous les objets de test nouvellement créés définis ici --> <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>