Cet exemple illustre l'objet de test (TestObject) Java :
package sdk.sample; import com.rational.test.ft.object.interfaces.*; import com.rational.test.ft.object.TestObjectReference; import com.rational.test.ft.object.map.SpyMappedTestObject; public class ExtendedGuiTestObject extends GuiTestObject{ // CINQ constructeurs standard doivent être définis dans chaque nouvel objet de test (TestObject) public ExtendedGuiTestObject(SpyMappedTestObject mappedObject) { super(mappedObject); } public ExtendedGuiTestObject(SpyMappedTestObject mappedObject, TestObject anchor) { super(mappedObject, anchor); } public ExtendedGuiTestObject(SpyMappedTestObject mappedObject, TestObject anchor, long scriptCommandFlags) { super(mappedObject, anchor, scriptCommandFlags); } public ExtendedGuiTestObject(TestObjectReference ref) { super(ref); } public ExtendedGuiTestObject(TestObject obj) { super(obj); } // Nouvelle méthode ajoutée pour cet objet de test (TestObject) ; il s'agit simplement d'un transmetteur d'appel utilisant l'API invokeProxy public void performClick() { invokeProxy("performClick"); } }
Cet exemple illustre l'objet de test (TestObject) .Net :
using TestObjectReference = Rational.Test.Ft.Object.TestObjectReference; using Rational.Test.Ft.Object.Interfaces; using Rational.Test.Ft.Object.Manager; using Rational.Test.Ft.Object.Map; namespace SDK.Sample { public class ExtendedGuiTestObject:GuiTestObject { // CINQ constructeurs standard doivent être définis dans chaque nouvel objet de test (TestObject) public ExtendedGuiTestObject(SpyMappedTestObject mappedObject):base (mappedObject) { } public ExtendedGuiTestObject(SpyMappedTestObject mappedObject, TestObject anchor) :base (mappedObject, anchor){ } public ExtendedGuiTestObject(SpyMappedTestObject mappedObject, TestObject anchor, long scriptCommandFlags):base (mappedObject, anchor, scriptCommandFlags) { } public ExtendedGuiTestObject(TestObjectReference ref_Renamed):base (ref_Renamed) { } public ExtendedGuiTestObject(TestObject obj):base (obj) { } // Nouvelle méthode ajoutée pour cet objet de test (TestObject) ; il s'agit simplement d'un transmetteur d'appel utilisant l'API InvokeProxy public virtual void PerformClick() { InvokeProxy("performClick"); } } }
Cet exemple illustre la définition de nouveaux noms canoniques pour un objet de test (TestObject) :
<?xml version="1.0" encoding="UTF-8"?> <ConfigFile L=".ConfigFile"> <Section L=".ConfigFileSection"> <Name>proxies</Name> <Val L=".ProxyManager"> <DomainImplementation L=".DomainImplementation"> <Name>Net</Name> <Obj L=".Proxy"> <ClassName>[NETProxyExtension]SDK.Sample.TestButtonProxy</ClassName> <Replaces/> <UsedBy>Rational.Controls.CustomButton</UsedBy> </Obj> </DomainImplementation> </Val> </Section> <Section L=".ConfigFileSection"> <Name>testObjects</Name> <Val L=".TestObjectManager"> <ComponentModel L=".ComponentModel"> <Name>Java</Name> </ComponentModel> <ComponentModel L=".ComponentModel"> <Name>Net</Name> <Obj L=".TestObject"> <CanonicalName>ExtendedGuiTestObject</CanonicalName> <TestObject>[NETProxyExtension]SDK.Sample.ExtendedGuiTestObject</TestObject> </Obj> </ComponentModel> <ComponentModel L=".ComponentModel"> <Name>Java</Name> <Obj L=".TestObject"> <CanonicalName>ExtendedGuiTestObject</CanonicalName> <TestObject>sdk.sample.ExtendedGuiTestObject</TestObject> </Obj> </ComponentModel> </Val> </Section> </ConfigFile>
Cet exemple illustre le remplacement par la source du proxy Java de la méthode getTestObjectClassName() :
import com.rational.test.ft.domain.*; . . public String getTestObjectClassName() { return "ExtendedGuiTestObject"; // nom canonique du nouvel objet de test (testObject) }
Cet exemple illustre le remplacement par le proxy .Net de la méthode GetTestObjectClassName() :
using Rational.Test.Ft.Domain;. . public override System.String GetTestObjectClassName() { return "ExtendedGuiTestObject"; // nom canonique du nouvel objet de test (testObject) }