Estensione di proxy
Proxy SDK di Rational Functional Tester  

Estensione di proxy

Functional Tester necessita di informazioni specifiche di controlli UI per eseguire operazioni di test funzionale come la registrazione, la riproduzione, i punti di verifica e la guida in base ai dati. Esso tenta di associare il proxy più vicino se trova un nuovo controllo per cui non ha alcun proxy.

L'architettura Functional Tester abilita gli sviluppatori a scrivere un proxy per un determinato controllo UI. Gli sviluppatori possono abilitare Functional Tester ad elaborare le specifiche di un controllo mediante la scrittura di proxy. Possono essere inoltre fornite capacità di test funzionale.

I proxy forniscono Functional Tester con dettagli relativi ad un controllo per cui è scritto. Functional Tester ha una serie predefinita di metodi per eventuali proxy e richiama ogni metodo per acquisire dettagli specifici. Per eventuali proxy scritti per un controllo, tali metodi predefiniti vengono implementati in modo specifico per il controllo.

Relativamente ai controlli, Functional Tester fornisce una serie di proprietà e tipi di dati di verifica. Se i tipi di dati e la serie di proprietà attualmente forniti non è sufficiente ad eseguire il test del controllo, è possibile creare un nuovo proxy escludendo alcuni metodi; è possibile includere più proprietà o tipi di dati. Il funzionamento della registrazione di Functional Tester può essere inoltre modificato creando nuovi proxy.

  • Creazione di una classe proxy
    È possibile scrivere una classe ProxyObject in Java o C#, a seconda del controllo per cui si sta sviluppando il proxy. La creazione di una nuova classe ProxyObject è simile alla creazione di una nuova classe Java o C# estendendo la rispettiva classe ProxyObject di base.
  • Aggiunta di ulteriori proprietà di controllo
    Functional Tester fornisce una serie di proprietà di controllo per la verifica di proprietà e accesso. È possibile aggiungere ulteriori proprietà di controllo estendendo le API getProperties() e getProperty().
  • Aggiunta di ulteriori tipi di dati per un controllo
    Functional Tester fornisce una serie di tipi di dati di controllo per il punto di verifica dei dati. È possibile aggiungere ulteriori tipi di dati di controllo estendendo le API getTestDataTypes() e getTestData().
  • Miglioramento del funzionamento della registrazione
    È possibile migliorare il funzionamento della registrazione di un'azione utente su un controllo estendendo l'API processMouseEvent(). Il framework Functional Tester richiama l'API processMouseEvent() quando si verifica un evento del mouse su un controllo. L'API processMouseEvent() API indica al framework Functional Tester il metodo da registrare per l'azione del mouse.
  • Miglioramento del funzionamento della registrazione con SubItem
    I SubItem sono parti definite di un controllo Functional Tester sottoposte a test. In alcuni casi si ottengono risultati ottimali mediante la registrazione dell'interazione utente con dettagli SubItem anziché eseguendo la registrazione con le informazioni delle coordinate. Lo svantaggio dell'uso delle informazioni delle coordinate consiste nel fatto che quando vengono riordinate o modificate le dimensioni di parti di un controllo, la riproduzione delle azioni utente potrebbe non restituire gli stessi risultati.
  • Estensione della guida in base ai dati
    Per aggiungere il supporto della guida in base ai dati ad un controllo, è necessario implementare il metodo GetDataDrivableCommand() nel proxy. Tale metodo restituisce una specifica del metodo per implementare il supporto di esecuzione della guida in base ai dati per un controllo. Mentre si usa la procedura guidata di guida in base ai dati, la specifica del metodo che GetDataDrivableCommand() restituisce viene inviata allo script di test. I proxy possono sovrascrivere e restituire qualsiasi metodo che si specifica per la guida in base ai dati.
  • Modifica del ruolo di un controllo
    Il ruolo di un controllo determina l'icona che viene visualizzata nell'associazione oggetti di un TestObject. È possibile eseguire ciò estendendo il metodo getRole() e restituendo uno dei valori di ruolo predefiniti Functional Tester.
  • Modifica delle proprietà di riconoscimento e peso di un controllo
    Functional Tester utilizza proprietà di riconoscimento per identificare in modo univoco un controllo. A diverse proprietà di riconoscimento vengono assegnati pesi diversi per l'analisi di riconoscimento. Functional Tester utilizza tali valori e pesi per identificare un controllo durante la riproduzione. È possibile personalizzare le proprietà di riconoscimento e i pesi che meglio si adattano ai controlli di cui si sta eseguendo il test.
  • Modifica dell'associazionebilità di un controllo
    Esistono alcuni tipi di controlli nell'AUT (applications under test) che non devono essere esposti come un TestObject. Ad esempio, i controlli contenitore non dispongono di utili valori di test e non sono esposti. Functional Tester necessita di tali controlli contenitore per eseguire alcuni metodi per richiamare informazioni sui relativi elementi secondari.
  • Associazione dei proxy sui controlli
    Functional Tester identifica ogni controllo dell'AUT (application under test) mediante il relativo nome classe. L'esecuzione del metodo testObject.getProperty(".class") nello script di test fornisce il nome classe. L'associazione è stabilita mediante i nomi classe del rispettivo controllo e ProxyObject.
  • Distribuzione di un proxy
    Una volta sviluppati i file di personalizzazione e binario proxy, è necessario distribuirli affinché le modifiche divengano effettive.
  • Esecuzione del debug del codice proxy
    L'esecuzione del debug del codice proxy è una parte essenziale del processo di sviluppo proxy per la determinazione dei problemi. Il codice proxy contenente il file JAR o il file di assemblaggio .Net con estensione .dll viene caricato nel processo dell'AUT (application under test). Per eseguire il debug del codice proxy, collegare il rispettivo debugger al processo AUT una volta che i file binary proxy sono caricati nell'AUT.
Argomento principale: Sviluppo proxy
Concetti correlati:
Comprensione dei proxy
Ambiente di sviluppo proxy
Livello corrente di supporto proxy fornito da Functional Tester
Attività correlate:
Impostazione di progetti proxy

Feedback