Procedure consigliate per i test codificati dell'interfaccia utente
In questo argomento vengono descritte le procedure consigliate da seguire per sviluppare test codificati dell'interfaccia utente.
Requisiti
- Visual Studio Ultimate, Visual Studio Premium
Suggerimenti
Utilizzare le linee guida seguenti per creare un test codificato dell'interfaccia utente flessibile.
Utilizzare il generatore di test codificati dell'interfaccia utente ogni volta che è possibile.
Non modificare direttamente il file UIMap.designer.cs.In caso contrario, le modifiche al file verranno sovrascritte.
Creare il test come una sequenza di metodi registrati.Per ulteriori informazioni sulla registrazione di un metodo, vedere Creare Test codificati dell'interfaccia utente.
Ogni metodo registrato dovrebbe agire su una sola pagina, form o finestra di dialogo.Creare un nuovo metodo di test per ogni nuova pagina, form o finestra di dialogo.
Quando si crea un metodo, utilizzare un nome significativo anziché il nome predefinito.Un nome significativo consente di identificare lo scopo del metodo.
Quando possibile, limitare ogni metodo registrato a meno di 10 azioni.Questo approccio modulare facilita la sostituzione di un metodo se l'interfaccia utente modifica.
Creare ogni asserzione utilizzando il generatore di test codificati dell'interfaccia utente con il quale viene aggiunto automaticamente un metodo di asserzione al file UIMap.Designer.cs.
Se l'interfaccia utente cambia, registrare nuovamente i metodi di test o i metodi di asserzione o registrare nuovamente le sezioni interessate di un metodo di test esistente.
Creare un file UIMap separato per ogni modulo dell'applicazione sottoposta a test.Per ulteriori informazioni, vedere Test di un'applicazione di grandi dimensioni con più mappe dell'interfaccia utente.
Nell'applicazione sottoposta a test utilizzare nomi significativi quando si creano i controlli dell'interfaccia utente.In tal modo è possibile conferire più significatività e usabilità ai nomi dei controlli generati automaticamente.
Se si creano asserzioni scrivendo codice con l'API, creare un metodo per ogni asserzione nella parte della classe UIMap che si trova nel file UIMap.cs.Chiamare questo metodo dal metodo di test per eseguire l'asserzione.
Se si scrive codice direttamente con l'API, utilizzare il più possibile le proprietà e i metodi nelle classi generate nel file UIMap.Designer.cs del codice.Queste classi renderanno il lavoro più facile, più affidabile e più produttivo.
I test codificati dell'interfaccia utente si adattano automaticamente a diversi tipi di modifiche nell'interfaccia utente.Se, ad esempio, un elemento dell'interfaccia utente ha cambiato posizione o colore, il test codificato dell'interfaccia utente sarà in grado, nella maggior parte dei casi, di individuare il controllo corretto.
Durante un'esecuzione dei test, i controlli dell'interfaccia utente vengono individuati dal framework di test tramite un set di proprietà di ricerca applicate a ogni classe di controlli nelle definizioni create dal generatore di test codificati dell'interfaccia utente nel file UIMap.Designer.cs.Le proprietà di ricerca contengono coppie nome/valore di nomi di proprietà e valori della proprietà che possono essere utilizzati per identificare il controllo, quali le proprietà FriendlyName, Name e ControlType del controllo.Se le proprietà di ricerca restano invariate, il test codificato dell'interfaccia utente riuscirà a individuare il controllo nell'interfaccia utente.Se le proprietà di ricerca vengono modificate, i test codificati dell'interfaccia utente sono provvisti di un algoritmo di corrispondenza intelligente che applica l'euristica per individuare controlli e finestre nell'interfaccia utente.Quando l'Interfaccia utente viene modificata, si potrebbero modificare le proprietà di ricerca di elementi precedentemente identificati per assicurarsi che vengano trovati.
Operazioni da eseguire in caso di modifiche all'interfaccia utente
Le interfacce utente subiscono frequenti modifiche durante lo sviluppo.Di seguito sono elencati alcuni modi per ridurre l'impatto di tali modifiche:
Trovare il metodo registrato che fa riferimento al controllo e utilizzare il generatore di test codificati dell'interfaccia utente per registrare di nuovo le azioni per il metodo.È possibile utilizzare lo stesso nome di metodo per sovrascrivere le azioni esistenti.
Se un controllo dispone di un'asserzione non più valida:
Eliminare il metodo contenente l'asserzione.
Rimuovere la chiamata al metodo dal metodo di test.
Aggiungere una nuova asserzione trascinando il pulsante di selezione di precisione sul controllo dell'interfaccia utente, aprire la mappa dell'interfaccia utente e aggiungere la nuova asserzione.
Per ulteriori informazioni su come registrare i testi codificati dell'interfaccia utente, vedere Verifica del codice mediante l'automazione interfaccia utente.
Come procedere se è necessario completare un processo di background prima che il test possa continuare
Potrebbe essere necessario attendere fino al termine del processo prima di poter continuare con la successiva azione dell'interfaccia utente.A tale scopo è possibile utilizzare WaitForReadyLevel per attendere prima che il test continui, come nell'esempio seguente.
// Set the playback to wait for all threads to finish
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.AllThreads;
// Press the submit button
this.UIMap.ClickSubmit();
// Reset the playback to wait only for the UI thread to finish
Playback.PlaybackSettings.WaitForReadyLevel = WaitForReadyLevel.UIThreadOnly;
Vedere anche
Riferimenti
Microsoft.VisualStudio.TestTools.UITesting
Concetti
Verifica del codice mediante l'automazione interfaccia utente
Test di un'applicazione di grandi dimensioni con più mappe dell'interfaccia utente