Condividi tramite


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

Con è 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 Creare test codificati dell'interfaccia utente.

Requisiti

  • Visual Studio Ultimate, Visual Studio Premium

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.

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 (i.e. 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 codificato di test per l'interfaccio utente.

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 del test codificato dell'interfaccia utente e aprire il test codificato dell'interfaccia utente per modificarlo.

  2. Inserire l'attributo DataSource direttamente nel codice, nella riga sopra il metodo di test.È possibile utilizzare le stringhe dell'origine dati ad esempio nella tabella riportata di seguito copiandole il codice e apportando personalizzazioni necessarie.

    Tipo di origine dati

    Attributo dell'origine dati

    "CSV"

    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\data.csv", "data#csv", DataAccessMethod.Sequential), DeploymentItem("data.csv"), TestMethod]

    Excel

    DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=|DataDirectory|\\Data.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true", "Sheet1$", DataAccessMethod.Sequential), TestMethod]

    Mostra test di Team Foundation Server

    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.TestCase", "http://vlm13261329:8080/tfs/DefaultCollection;Agile", "30", DataAccessMethod.Sequential), TestMethod]

    XML

    [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\data.xml", "Iterations", DataAccessMethod.Sequential), DeploymentItem("data.xml"), TestMethod]

    SQL Express

    [DataSource("System.Data.SqlClient", "Data Source=.\\sqlexpress;Initial Catalog=tempdb;Integrated Security=True", "Data", DataAccessMethod.Sequential), TestMethod]

    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"]
    
  3. 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();
      }
      
  4. Salvare le modifiche al file del codice sorgente CodedUITest1.cs.

  5. 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.

Linee guida

Per ulteriori informazioni, Test per la consegna continua con Visual Studio 2012 – capitolo 2: di unit test: Test dell'interno vedere e Test per la consegna continua con Visual Studio 2012 – capitolo 5: Automatizzare i test di sistema

Vedere anche

Riferimenti

UIMap

Assert

Concetti

Verifica del codice mediante test codificati 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

Altre risorse

Creare test codificati dell'interfaccia utente