Quando si sviluppano nuovi proxy estendendo proxy esistenti per
eventuali domini, è importante comprendere i proxy esistenti e le gerarchie,
in modo che si estenda il proxy corretto.
Per ulteriori informazioni sui metodi e le proprietà delle classi di proxy,
consultare il riferimento API proxy.
Identificazione del controllo sottoposto a test
La prima attività
per uno strumento di esecuzione di test funzionali consiste nell'identificare il controllo sottoposto a test e rappresentarlo
nell'AUT (application under test).
Functional Tester identifica
che un controllo sta utilizzando la gerarchia e le proprietà di riconoscimento e ne esegue la rappresentazione
nell'associazione TestObject. La gerarchia e le proprietà di riconoscimento potrebbero variare
a seconda dei controlli. Il proxy sviluppato per un controllo fornisce queste informazioni
a
Functional Tester. Quando si sviluppano nuovi
proxy si sta per ereditare i proxy base in ogni dominio. Di solito
non si escluderanno questi metodi, in quando essi sono già implementati
nei proxy base.
- Proprietà di riconoscimento
- È possibile utilizzare i metodi elencati in Tabella 1 per
specificare il peso e le proprietà di riconoscimento per un controllo.
Nota: è possibile inoltre
specificare il peso e le proprietà di riconoscimento utilizzando la libreria di oggetti.
Tabella 1. Metodi estensibili per la specifica di proprietà di riconoscimentoJava |
.Net |
Hashtable getRecognitionProperties() |
Hashtable GetRecognitionProperties() |
int getRecognitionPropertyWeight(String propertyName) |
int GetRecognitionPropertyWeight(String propertyName) |
- Gerarchia
- È possibile utilizzare i metodi elencati in Tabella 2 per
specificare la gerarchia di un controllo.
Nota: Di solito, questi metodi vengono implementati
nelle classi proxy di base e potrebbe non essere necessario eseguirne l'estensione.
Tabella 2. Metodi estensibili per la specifica della gerarchiaJava |
.Net |
getParent() |
GetParent() |
getTopParent() |
GetTopParent() |
getChildren() |
GetChildren() |
Object getChildAtPoint(Point pt) |
Object GetChildAtPoint(Point pt) |
getOwner() |
GetOwner() |
getOwnedObjects() |
GetOwnedObjects() |
Definizione
È possibile utilizzare i metodi elencati in
Tabella 3 per modificare le caratteristiche di
gestione di un controllo, ad esempio, icone o nomi descrittivi.
Tabella 3. Metodi estensibili per la modifica delle caratteristiche di gestioneJava |
.Net |
String getTestObjectClassName() |
String GetTestObjectClassName() |
String getDescriptiveName() |
String GetDescriptiveName() |
String getUniqueId() |
String GetUniqueId() |
boolean shouldBeMapped() |
bool ShouldBeMapped() |
Stringa getRole() |
Stringa GetRole() |
String getObjectClassName() |
String GetObjectClassName() |
Registrazione
Functional Tester registra
le azioni utente eseguite su un controllo quando il registratore è attivo. Tali azioni utente
possono essere raggruppate come interazioni mouse e interazioni tastiera. È possibile utilizzare i metodi elencati in
Tabella 4 per la
registrazione.
Tabella 4. Metodi estensibili per la registrazioneJava |
.Net |
void processMouseEvent(IMouseActionInfo action) |
void ProcessMouseEvent(IMouseActionInfo action) |
void processPreDownMouseEvent(IMouseActionInfo action) |
void ProcessPreDownMouseEvent(IMouseActionInfo action) |
void processPreUpMouseEvent(IMouseActionInfo action) |
void ProcessPreUpMouseEvent(IMouseActionInfo action) |
void processPostUpMouseEvent(IMouseActionInfo action) |
void ProcessPostUpMouseEvent(IMouseActionInfo action) |
void processHoverMouseEvent(IMouseActionInfo action) |
void ProcessHoverMouseEvent(IMouseActionInfo action) |
getScriptCommandFlags() |
GetScriptCommandFlags() |
Vector getSubItems() |
ArrayList GetActionArgs(Point pt) |
Rectangle getRectangle(SubItem) |
SubItem FindSubItem(Point pt) |
Riproduzione
È possibile utilizzare i metodi elencati in
Tabella 5 per individuare il rettangolo dello schermo
o il punto per un SubItem.
Nota: di solito, non è necessario estendere tali
metodi a meno che non vengono introdotti nuovi SubItem.
Tabella 5. Metodi estensibili per la riproduzioneJava |
.Net |
Rectangle getScreenRectangle(SubItem) |
Point GetPointForSubItem(SubItem) |
Punti di verifica
È possibile aggiungere più tipi di dati e
proprietà ad un controllo.
- Verifica dati
- È possibile utilizzare i metodi elencati in Tabella 6 per
aggiungere più tipi di dati ad un controllo.
Tabella 6. Metodi estensibili per l'aggiunta di tipi di datiJava |
.Net |
Hashtable getTestDataTypes() |
Hashtable GetTestDataTypes() |
ITestData getTestData(String) |
ITestData GetTestData(string testDataType) |
- Verifica proprietà
- È possibile utilizzare i metodi elencati in Tabella 7 per
aggiungere più proprietà ad un controllo.
Tabella 7. Metodi estensibili per
l'aggiunta di proprietàJava |
.Net |
Hashtable gerProperties() |
Hashtable GerProperties() |
object getProperty(String) |
object GetProperty(string) |
guidare in base ai dati
È possibile utilizzare i metodi elencati in
Tabella 8 per specificare il metodo
che deve essere utilizzato per guidare in base ai dati.
Tabella 8. Metodi estensibili per guidare in base ai datiJava |
.Net |
MethodSpecification getDataDrivableCommand |
MethodSpecification GetDataDrivableCommand |
Supporto Reflection
È possibile utilizzare il supporto Reflection
fornito da Java™ e
.Net dallo script di test. Con API quali getMethods() e Invoke(),
è possibile accedere alle informazioni sui metodi sugli oggetti sottostanti da utilizzare
nei richiami remoti. Queste informazioni includono nome metodo e firma. È possibile utilizzare i metodi elencati in
Tabella 9 per il supporto
Reflection.
Tabella 9. Metodi estensibili per il supporto
ReflectionJava |
.Net |
getMethods() |
GetMethods() |
invoke() |
Invoke() |
getNonValueProperties() |
|
Il metodo getNonValueProperties() restituisce le proprietà
che non sono supportate in quanto il valore è un riferimento ad un oggetto che non può essere
serializzato sui limiti del processo. È possibile accedere a tali proprietà
utilizzando i metodi getProperty(). Se tale proprietà viene restituita allo script di test, viene restituita come un TestObject contenente un riferimento all'oggetto nell'AUT. Lo script di test deve richiamare il metodo TestObject unregister() per
rilasciare l'oggetto.