Procedura: creare un test codificato dell'interfaccia utente basato sui dati

Con Visual Studio Premium o Visual Studio Ultimate è possibile creare un test codificato dell'interfaccia utente per testare il corretto funzionamento dell'interfaccia utente di un'applicazione. Il test codificato dell'interfaccia utente consente di eseguire azioni sui controlli dell'interfaccia utente di un'applicazione e di verificare che nei controlli specificati vengano visualizzati i valori corretti. Per ulteriori informazioni su come creare un test codificato dell'interfaccia utente, vedere Procedura: creare un test codificato dell'interfaccia utente.

Dopo avere creato il test codificato dell'interfaccia utente con dati specifici, è possibile eseguire il test più volte con diversi set di dati in modo da testare diverse condizioni. A tale scopo, è possibile aggiungere valori dei parametri da un'origine dati in modo da creare un test codificato dell'interfaccia utente basato sui dati. Ogni riga nell'origine dati rappresenta un'iterazione del test codificato dell'interfaccia utente. Il risultato complessivo del test sarà basato sul risultato di tutte le iterazioni. Se ad esempio un'iterazione del test non funziona, il risultato complessivo del test indicherà l'esito negativo.

Per ulteriori informazioni di carattere generale sui test basati sui dati, vedere Procedura: creare uno unit test basato sui dati.

Quando si generano metodi o asserzioni per il test codificato dell'interfaccia utente effettuandone la registrazione, tutte le costanti a cui viene fatto riferimento nei metodi registrati saranno associate a parametri nelle classi di parametri. Se ad esempio si aggiunge un metodo denominato AddTwoNumbers, tramite il framework di test codificato dell'interfaccia utente viene generata un'altra classe denominata AddTwoNumbersParams alla quale viene aggiunto un campo per ogni valore costante utilizzato per la registrazione del metodo. Se si genera un metodo di asserzione denominato AssertForAdd, tramite il framework viene generata una classe per i valori previsti denominata AssertforAddExpectedValues. Tali classi vengono generate automaticamente e utilizzate nei passaggi riportati di seguito.

Tutte le modifiche al test per abilitarlo all'utilizzo di un'origine dati per i parametri saranno apportate al file di codice sorgente del test (cioè CodedUITest1.cs). Non è possibile modificare il codice nel file UIMap.Designer.cs.

Dopo avere creato un test codificato dell'interfaccia utente, è possibile utilizzare i passaggi nella procedura riportata di seguito per aggiungere l'origine dati e parametri al test. Ai fini di questo esempio si presuppone che si disponga dei seguenti elementi di codice nella soluzione:

  • Classe del test codificato dell'interfaccia utente denominata CodedUITest1.

  • Metodo di test denominato CodedUITestMethod1().

Il metodo di test è destinato a una semplice applicazione calcolatrice che somma due numeri e verifica che vengano sommati correttamente. In caso contrario, il test non viene superato.

L'origine dati è un file con estensione .csv contenente i dati seguenti:

Input1

Input2

ExpectedResult

3

4

7

5

6

11

1200

24000

25200

Creare il file e aggiungerlo al progetto di test.

Creazione di un test codificato dell'interfaccia utente basato sui dati

Per creare un test codificato dell'interfaccia utente basato sui dati

  1. In Esplora soluzioni aprire la soluzione contenente il progetto di test.

  2. Scegliere Finestre dal menu Test, quindi fare clic su Visualizzazione test.

    Verrà aperta la finestra Visualizzazione test con il test codificato dell'interfaccia utente.

  3. Nella finestra Visualizzazione test fare clic con il pulsante destro del mouse sul metodo del test codificato dell'interfaccia utente e scegliere Proprietà.

    Viene aperta la finestra Proprietà.

  4. Per selezionare un'origine dati da utilizzare per il test codificato dell'interfaccia utente, fare clic sui puntini di sospensione (…) a destra di Stringa di connessione ai dati nella finestra Proprietà.

    Verrà avviata la Configurazione guidata nuova origine dati dei test.

  5. Selezionare il tipo di origine dati da utilizzare. Per questo esempio selezionare il tipo di origine dati .csv. Fare clic su Avanti e immettere il percorso e il nome file per il file con estensione .csv, quindi fare clic su Fine.

    L'origine dati sarà quindi disponibili per l'utilizzo nel metodo di test. Per accedere alla riga di dati corrente nell'origine dati, utilizzare TestContext.DataRow. È possibile accedere a ogni colonna utilizzando la sintassi seguente:

    string paramVal = TestContext.DataRow["Input1"]
    
  6. In Esplora soluzioni aprire il file con estensione CodedUITest1.cs. Apportare le seguenti modifiche al metodo CodedUITestMethod1():

    1. Aggiungere le due righe di codice seguenti prima della chiamata al metodo AddTwoNumbers per fornire i valori relativi ai numeri da aggiungere.

      this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
          TestContext.DataRow["Input1"].ToString();
      this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
          TestContext.DataRow["Input2"].ToString();
      
    2. Aggiungere la seguente riga di codice prima della chiamata al metodo AssertforAdd per fornire il valore per il metodo assert.

      this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = 
          TestContext.DataRow["ExpectedResult"].ToString();
      

      Di seguito è illustrato il metodo del test codificato dell'interfaccia utente a cui sono stati aggiunti i parametri e l'origine dati:

      [DeploymentItem("DataDriven.csv"), 
          DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", 
              "|DataDirectory|\\DataDriven.csv", "DataDriven#csv", 
              DataAccessMethod.Sequential), 
          TestMethod]
      public void CodedUITestMethod1()
      {
          // To generate code for this test, select "Generate Code for 
          // Coded UI Test" from the shortcut menu and select one of 
          // the menu items.
          this.UIMap.AddTwoNumbersParams.TextInput1EditText = 
              TestContext.DataRow["Input1"].ToString();
          this.UIMap.AddTwoNumbersParams.TextInput2EditText = 
              TestContext.DataRow["Input2"].ToString();
          this.UIMap.AddTwoNumbers();
      
          this.UIMap.AssertforAddExpectedValues.TextAnswerEditText = 
              TestContext.DataRow["ExpectedResult"].ToString();
          this.UIMap.AssertforAdd();
      }
      
  7. Salvare le modifiche al file del codice sorgente CodedUITest1.cs.

  8. Per eseguire il test codificato dell'interfaccia utente, fare clic con il pulsante destro del mouse nella finestra Visualizzazione test e scegliere Esegui selezione.

    Dopo l'esecuzione dei test, il risultato complessivo del test per tutte le relative iterazioni verrà visualizzato nella finestra Risultati test. Per visualizzare i dettagli di ciascuna iterazione, fare doppio clic sul test nella finestra Risultati test.

Vedere anche

Attività

Procedura: creare un test codificato dell'interfaccia utente

Riferimenti

UIMap

Assert

Concetti

Procedura: creare uno unit test basato sui dati

Test dell'interfaccia utente con test automatizzati dell'interfaccia utente

Procedure consigliate per i test codificati dell'interfaccia utente

Configurazioni e piattaforme supportate per i test codificati dell'interfaccia utente e le registrazioni delle azioni