Risoluzione dei problemi relativi a test funzionali

Questo argomento consente di risolvere alcuni dei problemi che potrebbero verificarsi nei test funzionali.
Tabella 1.
Problema Descrizione Soluzione

Le eccezioni ObjectNotFoundException si verificano durante l'inserimento di un punto di verifica nei controlli ErrorProvider, HelpProvider e ToolTipText in .Net.

Ciò si verifica se si crea un punto di verifica dati nei controlli ErrorProvider, HelpProvider e ToolTipText durante la registrazione in .Net.

In .NET, creare i punti di verifica delle proprietà su questi controlli.

System.NullReferenceException si verifica durante la riproduzione di uno script guidato dai dati che contiene i controlli dell'agenda nelle applicazioni SAP.

Il controllo dell'agenda potrebbe essere stato chiuso dopo la registrazione di uno script guidato dai dati, pertanto viene generato un evento close() nello script. Lo script risulterà simile all'esempio seguente:

calendar_sapCalendarControl1().setDate(dpString("SAPCalendarControl1")); dialog_calendar().close();

Poiché il metodo setDate() imposta la data specificata e chiude il controllo dell'agenda, lo script non riesce durante la riproduzione mentre tenta di chiudere il controllo dell'agenda.

Eseguire le attività riportate di seguito:
  • Eliminare il metodo di chiusura dell'agenda generato nello script.
  • Chiudere il controllo dell'agenda prima della procedura guidata "Inserisci azioni Data Driven" esistente.

La riproduzione non riesce durante l'esecuzione della verifica dati nei controlli come testo, ComboBox o Tree nelle applicazioni SAP.

Ciò avviene se il metodo del punto di verifica viene registrato prima di metodi come l'impostazione di testo/casella combinata o ExpandNode/doubleClickNode per un controllo struttura.

Eseguire le attività riportate di seguito:
  • Premere il tasto Invio o F2 dopo avere digitato/selezionato il valore in testo/casella combinata o espanso un nodo del controllo struttura e quindi richiamare la procedura guidata relativa al punto di verifica dati.
  • Tagliare e incollare questi metodi prima di eseguire la verifica dati su testo/casella combinata/controllo struttura nello script.

Durante la creazione di un progetto di test funzionale in .Net, viene visualizzato il seguente messaggio di errore:

"Impossibile abilitare l'integrazione ClearCase. Le voci di registro per il provider del controllo del codice sorgente installato mancano. Configurare il provider del controllo origine in modo appropriato."

Questo messaggio viene visualizzato se le impostazioni del registro per ClearCase sono danneggiate.

È necessario correggere manualmente le impostazioni del registro. Per ulteriori informazioni sulla modifica del provider del controllo origine o sulla modifica delle impostazioni di registro, fare riferimento alla Guida di MSDN.

IBM® Rational Functional Tester non riconosce i controlli Siebel 7.7 dopo il passaggio a Siebel 7.7 da Siebel 7.8.

Quando si avvia Siebel 7.8, Internet Explorer installa gli oggetti Siebel ActiveX più aggiornati. Pertanto, se si prova a eseguire la registrazione utilizzando Functional Tester su Siebel 7.7, dopo aver effettuato questa operazione, Functional Tester non è in grado di riconoscere i controlli Siebel 7.7.

Rimuovere gli oggetti Siebel ActiveX dalla cartella C:\WINDOWS\Downloaded Program Files, quindi provare ad effettuare di nuovo operazioni con l'applicazione Siebel 7.7.

Un'AUT (application-under-test) Java™ non viene aperta durante la configurazione dell'applicazione per il test in Rational Functional Tester.

AUT non viene aperta durante la configurazione dell'applicazione per il test se si specifica una versione inferiore di JRE rispetto a quella utilizzata per compilare l'applicazione di test.

  • Utilizzare la stessa versione o successiva di JRE supportata da Functional Tester per eseguire il test dell'applicazione.
  • Compilare di nuovo l'applicazione di test impostando i livelli di origine e destinazione di JRE nel proprio Java IDE.

    Di seguito è riportato un esempio per compilare l'applicazione di test impostando i flag di origine e destinazione utilizzando l'interfaccia della riga comandi:

    C:\AUT\Test>"C:\Program Files\Java\jdk1.5.0_06\bin\javac.exe" -source 1.4 -target 1.4 *.java

La riproduzione non riesce durante il test delle applicazioni SAP che contengono campi per le password.

Rational Functional Tester registra la password immessa come viene visualizzata nel campo password e non è in grado di leggere il valore crittografato.

Prima di riprodurre lo script, sostituire la password registrata con la password corrente nello script.

La guida sensibile al contesto di IBM Rational Functional Tester non funziona su VS .Net IDE.

 

Installare la libreria MSDN. Durante l'installazione, selezionare le opzioni per integrare la libreria MSDN con VS .Net IDE, affinché la guida contestuale di Functional Tester funzioni.

Quando si tenta di aprire un file PDF dalla Galleria delle esercitazioni, il computer si blocca.

Se si sta utilizzando Adobe® Reader 6.0.0, l'apertura di un file PDF dalla Galleria delle esercitazioni potrebbe causare il blocco del computer.

Altre versioni di Adobe Reader non causano questo problema. Gli aggiornamenti gratuiti dell'ultimo livello di Adobe Reader sono disponibili sul sito web di Adobe.

L'assistenza utente Multimediale non viene visualizzata.

L'assistenza utente Multimediale, come Dimostrazioni, Esercitazioni e finestre Mostra richiede che Flash player sia installato sul computer.

Installare Flash Player versione 6.0 o successiva dal sito web di Adobe.

Disabilitazione del supporto per la riproduzione su Eclipse quando le viste e gli editor sono trascinati o sbloccati in seguito alla registrazione.

 

Aggiungere l'istruzione rational.test.ft.enable_eclipse_support=false nel file ivory.properties.

La riproduzione di script registrati in un browser ha esito negativo in un altro browser.

La riproduzione di uno script registrato in Internet Explorer, ad esempio talvolta ha esito negativo in Mozilla Firefox.

Analizzare la struttura DOM degli oggetti nei browser. Ad esempio, è possibile utilizzare DomInspector per Mozilla Firefox. Allo stesso modo, la struttura DOM può essere interpretata anche per altri browser. Quindi è possibile confrontare e controllare che la gerarchia degli oggetti sia la stessa.

  • Se la gerarchia DOM dei browser non è la stessa, allora l'errore non si verifica a causa di un problema di Functional Tester. I browser creano gerarchie DOM differenti, motivo per cui la riproduzione non riesce.

    Soluzione alternativa: ciò può essere risolto introducendo la gerarchia mancante ricercata da Functional Tester durante la riproduzione dello script

  • Se la gerarchia DOM dei browser è la stessa, allora si è verificato un problema con Functional Tester. Contattare l'assistenza clienti IBM per i prodotti software Rational per ricevere supporto.

La registrazione e la riproduzione non avviene su opzioni di menu di browser.

Rational Functional Tester supporta l'esecuzione di test del contenuto del browser ma non interazioni con le opzioni di menu del browser o il browser stesso. Ciò viene eseguito principalmente per fornire funzionalità di registrazione e riproduzione tra browser per l'esecuzione di test delle applicazioni HTML.

Catturare l'oggetto browser e utilizzare il metodo inputKeys per interagire con le opzioni di menu utilizzando i tasti di scelta rapida per le specifiche opzioni di menu.

Ad esempio, è possibile accedere all'opzione Chiudi nel menu File utilizzando il tasto di scelta rapida Alt+F+C. Se è necessario accedere a questa opzione, è possibile utilizzare il metodo inputKeys sull'oggetto browser, fornendo il tasto di scelta rapida ("%fc") come un parametro di immissione, come mostrato di seguito:

Browser_HtmlBrowser(Document_HtmlDocument(),DEFAULT_FLAGS).InputKeys("%fc")

Errore SAP interno (ABAP) durante la registrazione

Quando si esegue la registrazione per applicazioni SAP, talvolta il framework di script SAP genera internamente alcuni errori ABAP e la registrazione si arresta. Il problema non verrà risolto a meno che SAP non ne esegue la correzione nel relativo framework di script.

Disabilita guida di ricerca modale sul sistema per l'utente che esegue lo script. È possibile eseguire ciò nella finestra di dialogo Preferenze nella GUI SAP, dal menu della guida. Se questa soluzione non funziona, potrebbe essere necessario riavviare l'applicazione SAP.

System.NullReferenceException si verifica durante la riproduzione di uno script guidato dai dati che contiene i controlli dell'agenda nelle applicazioni SAP.

Il controllo dell'agenda potrebbe essere stato chiuso dopo la registrazione di uno script guidato dai dati, pertanto viene generato un evento close() nello script.

Lo script risulterà come segue: dialog_calendar().close();

Poiché il metodo setDate() imposta la data specificata e chiude il controllo dell'agenda, lo script avrà esito negativo durante la riproduzione mentre tenta di chiudere il controllo dell'agenda.

Eliminare il metodo di chiusura dell'agenda generato nello script.

In Linux®, il richiamo di comandi API RationalTestScript da più thread causa errori asincroni.

Quando due thread in un processo inoltrano simultaneamente X richieste, le X librerie non possono gestire le richieste in quanto non sono thread-safe. Ciò causa errori asincroni con messaggi tipo Risposta asincrona imprevista o Evento perso che si deve verificare. Ciò potrebbe inoltre verificarsi quando più thread vengono utilizzati negli script RFT .

Nel file ivory.properties, impostare l'opzione rational.test.ft.script.playback.mouse.allow_multiple_threads su "true".

Codifica dei problemi mentre si importano file su Linux.

Su Linux, a causa di formati di codifica incompatibili, Functional Tester potrebbe non riconoscere o leggere i file importati. In Functional Tester il formato di codifica predefinito è impostato su UTF-8. Ma UTF-8 non può gestire alcuni formati di codifica come Cp1252.

Su Linux, impostare il formato di codifica dei file su ISO-8859-1:
  1. Selezionare il progetto importato o il progetto in cui si stanno importando i file nel pannello Progetti di Functional Tester.
  2. Fare clic su Progetto > Proprietà.
  3. Nella finestra Proprietà, selezionare Informazioni dall'elenco.
  4. Nel campo di codifica del file di testo, fare clic su Altro.
  5. Selezionare ISO-8859-1 dall'elenco a discesa.
  6. Fare clic su OK.

Impossibile riprodurre gli script .Net memorizzati nella rete.

Il progetto nella rete potrebbe non disporre dell'autorizzazione dei privilegi completi nel computer locale a causa del relativo criterio di sicurezza. Viene visualizzato un messaggio RuntimeSecurityPolicyException nel registro di riproduzione o nel registro di debug RFT.

Eseguire quanto riportato di seguito:
  • Configurare il livello di sicurezza per l'Intranet locale con i privilegi completi. È possibile eseguire ciò attenendosi alla seguente procedura:
    1. Passare a Pannello di controllo > Strumenti di amministrazione e aprire Configurazione di Microsoft® .NET Framework.
    2. Selezionare Configura criterio di protezione dall'accesso di codice e fare clic su Regola protezione area.
    3. Selezionare Intranet locale in Modifica guidata protezione ed eseguire l'impostazione sui privilegi completi.
Se il messaggio continua ad essere visualizzato, attenersi alla seguente procedura:
  • Specificare il nome del computer anziché l'indirizzo IP come percorso del progetto.
  • Configurare quanto segue in Internet Explorer:
    1. Fare clic su Strumenti > Opzioni Internet nella finestra Internet Explorer.
    2. Nella scheda Protezione, selezionare Intranet locale.
    3. Fare clic su Siti.
    4. Nella finestra di dialogo Intranet locale, fare clic su Avanzate.
    5. Deselezionare Richiedi verifica server (https:) per tutti i siti dell'area.
    6. Specificare il percorso del progetto e fare clic su Aggiungi.
    7. Fare clic su OK.

Esecuzione di script utilizzando l'agente Test Manager alla generazione di errore Linux.

Se si avvia l'agent Test Manager 7.0 daemon su una macchina Linux e si eseguono gli script mediante Test Manager su una macchina Windows®, potrebbero essere visualizzati alcuni errori.

Sulla macchina Linux, procedere come segue:
  1. Impostare la variabile di ambiente LD_LIBRARY_PATH to libjava.so dello JRE utilizzato attualmente.
  2. Impostare CLASSPATH su /bin/rational_ft.jar
  3. Eseguire il comando: source rtsetup.
  4. Dalla directory di installazione Test Manager, eseguire lo script RTsagt.
Nota: Non è possibile utilizzare gli agenti Test Manager sulle piattaforme SUSE Linux Enterprise Server 10.0 e SUSE Linux Enterprise Desktop 10.0.

Errore di compilazione durante la condivisione di un progetto di test funzionale utilizzando ClearCase.

Per impostazione predefinita, ClearCase è configurato in modo da non essere sensibile al maiuscolo/minuscolo. Se un nome file contiene lettere maiuscole, ClearCase le converte in minuscolo. Problemi simili si verificano quando si registra un nuovo script all'interno di un progetto esistente ubicato in ClearCase.

Modificare le impostazioni ClearCase per mantenere il formato, attenendosi alla seguente procedura:
  1. Fare clic su Start > Pannello di controllo > ClearCase per aprire la finestra di proprietà ClearCase.
  2. Nella pagina della scheda MVFS selezionare la casella di spunta Case Preserving.
  3. Arrestare e riavviare ClearCase.
  4. Condividere nuovamente il progetto di test funzionale.

L'integrazione ClearCase su Linux non funziona se non è installato nella directory /opt/rational.

 

Per utilizzare ClearCase con Linux, è necessario installare ClearCase nella directory /opt/rational o /usr/atria oppure impostare CLEARCASEHOME o ATRIAHOME sulla directory di installazione ClearCase.

Impossibile risolvere bundle risorsa

Se Flex Builder 2 viene utilizzato per eseguire il build di un'applicazione Flex con l'adattatore Rational Functional Tester, potrebbe verificarsi un errore nel bundle della risorsa.

Copiare automation_agent_rb.swc da ../Flex automation/frameworks/locale/en_US nella directory ../Flex SDK 2/frameworks/locale/en_US.
Nota: non è necessario eseguire ciò se si utilizza Flex Builder 3.
Impossibile eseguire eventuali operazioni correlate a ClearCase per il progetto di test funzionale Ciò potrebbe verificarsi se l'ubicazione o la gerarchia delle risorse del progetto di test funzionale viene modificata. Quando viene creato un progetto di test funzionale viene creata una gerarchia predefinita per la gestione delle risorse del progetto. Tale gerarchia e memoria viene utilizzata per individuare risorse di test funzionale da verificare.

Non modificare la gerarchia di risorse del progetto di test funzionale.

Eccezione ObjectNotFound durante la riproduzione dello script se l'AUT Java è nascosta dietro ad un'altra finestra dell'applicazione   Eseguire quanto riportato di seguito:
  1. Fare clic sulla scheda Configura > Abilita ambienti per il test > di ambienti Java.
  2. Digitare -Dawt.toolkit=sun.awt.motif.MToolkit nel campo Esegui opzioni e fare clic su Fine.
Impossibile registrare DBCS (double byte character sets) Quando si digitano caratteri DBCS, la stessa sequenza di tasti potrebbe avere più caratteri DBCS. IME (Input Method Editor) fornisce l'opzione di selezionare il carattere desiderato quando si preme la barra spaziatrice dopo una sequenza di tasti. Premere Invio per registrare la stringa di immissione.
Rational Functional Tester non registra le azioni con le applicazioni Flex. Ciò si verifica se l'ambiente Flex e l'applicazione non sono configurati correttamente. Accertarsi che:
  • L'impostazione Internet Explorer Inizializza e esegui script controlli ActiveX non contrassegnati come sicuri sia abilitata.
  • L'applicazione viene caricata mediante una pagina HTML, con una tag <object> che ha un ID attributo impostato e questo non contiene punti o trattini.
  • L'applicazione viene caricata da un server web o localmente da un file SWF sicuro.
L'eccezione ObjectNotFound si presenta durante la riproduzione di uno script e il messaggio di eccezione indica che lo stato di oggetto è corretto.

Ad esempio: Ricerca [pulsante] con stato [ABILITATO|VISIBILE|PRONTO], possibile candidato sbagliato[{.mappableClassIndex=0, text=*!ENT!*, .classIndex=0}] con stato non corretto [DISABLED]

Durante la riproduzione, Rational Functional Tester aspetta uno dei seguenti stati per un oggetto di test:
  • ABILITATO
  • VISIBILE
  • PRONTO (per browser)
Se lo stato dell'oggetto di test non corrisponde allo stato previsto, si verifica l'eccezione ObjectNotFound.
Per ignorare l'eccezione, impostare l'ancora dell'oggetto in nulla o ANY.

Ad esempio: Sostituire button().click(); con button(null, DISABLED).click();

Functional Tester riconosce gli oggetti GEF come FigureCanvas Gli oggetti GEF che sono implementati utilizzando gli editor GEF standard e non standard sono riconosciuti come FigureCanvas.
  • Accertarsi che il plug-in del programma di abilitazione GEFcom.rational.test.ft.gef_xx.jar sia presente nella directory del plug-in di AUT.
  • Se gli oggetti GEF non sono identificati anche dopo l'abilitazione, avviare AUT con l'opzione -clean.
  • Per gli editor non standard, aggiungere il metodo getAdapter nell'editor GEF non standard (AUT). Questo metodo è utilizzato da Functional Tester per ottenere un'istanza di GraphicalViewer per riconoscere gli oggetti GEF nell'editor.
    public Object getAdapter(Class type)
    {
    if (type == org.eclipse.gef.GraphicalViewer.class)
     {
    <<return the current instance of org.eclipse.gef.GraphicalViewer>>
     }
    }
Problemi durante la registrazione e riproduzione su Internet Explorer 7.0 con Functional Tester, versione 8.0. Tuttavia, gli script di registrazione e riproduzione funzionano su Functional Tester 7.x. Questo problema potrebbe verificarsi a causa delle modifiche in Functional Tester per migliorare le prestazioni di riproduzione su Internet Explorer 7.0.
Impostare la bandierina delle modifiche di prestazioni in false e testare se il problema viene risolto. Per modificare la bandierina delle prestazioni:
  1. Aprire il file ivory.properties presente nella <directory di installazione Functional Tester >\SDP\FunctionalTester\bin
  2. Impostare rational.test.ft.html.enableie7performancechanges=false
    Nota: La modifica di questa bandierina in false influisce sulle prestazioni durante il test delle applicazioni HTML su Internet Explorer 7.0.
  3. Riavviare Internet Explorer 7.0 per rendere effettive le modifiche.
Il browser Firefox 3.0 non è abilitato per impostazione predefinita anche quando il Programma di abilitazione visualizza Firefox 3.0 come abilitato dopo l'aggiornamento da Firefox 2.0 a Firefox 3.0. Firefox 3.0 è installato nella stessa ubicazione di Firefox 2.0. In questo modo, viene richiesto un dll di abilitazione diverso. Per abilitare il browser Firefox 3.0, disabilitare e abilitare il browser dopo aver eseguito l'aggiornamento da Firefox 2.0 a Firefox 3.0.
Impossibile registrare uno script su Internet Explorer 7.0 in Microsoft Windows Vista dopo aver abilitato il browser. In Windows Vista l'impostazione del browser Internet Explorer 7.0 è stata modificata per registrare uno script. Per modificare le impostazioni del browser:
  1. Andare in Strumenti > Opzioni Internet > Procedura guidata di sicurezza.
  2. Annullare la selezione della casella di spunta Modalità protetta.
  3. Riavviare il browser.
Impossibile visualizzare i log Dojo in Firefox versione 3.0. In FireFox versione 3.0, pochi flag di sicurezza sono stati impostati per visualizzare i log Dojo. Questi flag di sicurezza consentono a Firefox versione 3.0 di ottenere l'accesso agli script Java nel file system per il Dojo installato. Per visualizzare i log Dojo in Firefox 3.0:
  1. Immettere about:config come URL nel browser Firefox 3.0.
  2. Impostare i seguenti flag di sicurezza:
    • chiave: security.fileuri.origin_policy e valore: 3
    • chiave: security.fileuri.strict_origin_policy e valore: false
Impossibile avviare l'applicazione Flex utilizzando l'opzione Applicazione Web > Ora di compilazione tramite la procedura guidata di configurazione dell'applicazione. La procedura guidata di configurazione dell'applicazione genera una pagina html ed un file swf che corrisponde al file mxml dell'applicazione Flex. La pagina html generata tramite la procedura guidata contiene il percorso completo per il file swf. Ma nel caso in cui l'applicazione Web viene avviata utilizzando l'opzione host locale nell' url. Il file swf non è accessibile tramite il percorso completo e quindi non riesce ad avviare l'applicazione. Modificare la pagina html per puntare solo al nome swf piuttosto che al percorso completo.
  • Modificare <param name="movie" value="C:\FlexSample\Smoke.swf"> in <param name="movie" value="Smoke.swf"/>.
  • Modificare <embed src="C:\FlexSample\Smoke.swf"> in <embed src="Smoke.swf">.

Feedback