Automatitzar proves amb l'Azure Pipelines mitjançant l'ús de l'editor clàssic

En aquest article aprendreu a configurar i executar proves a la vostra aplicació de llenç integrades al Test Studio mitjançant l'ús de l'editor clàssic de l'Azure Pipelines a l'Azure DevOps Services.

Podeu utilitzar un projecte públic al GitHub: Microsoft/PowerAppsTestAutomation per:

  • Automatitzar operacions d'inici de sessió a la vostra aplicació.
  • Obrir un navegador a l'agent de compilació i executar un conjunt de casos i conjunts de proves.
  • Visualitzar l'estat de l'execució de la prova al pipeline de l'Azure DevOps.

Requisits previs

Abans de començar, heu de completar els passos següents:

Pas 1: Bifurcar el projecte PowerAppsTestAutomation

Una bifurcació és una còpia d'un dipòsit. Mitjançant la bifurcació d'un dipòsit, podeu fer canvis sense afectar el projecte original.

  1. Inicieu la sessió al GitHub.

  2. Aneu al dipòsit microsoft/PowerAppsTestAutomation. També podeu cercar microsoft/PowerAppsTestAutomation i, a continuació, seleccionar el dipòsit:

    Cercar al GitHub.

  3. Seleccioneu Bifurcació:

    Seleccionar la bifurcació.

  4. Seleccioneu on voleu bifurcar:

    Seleccionar el compte de bifuració.

El vostre dipòsit bifurcat ja estarà disponible.

Pas 2: Crear un fitxer .json d'adreces URL de prova

El fitxer .json d'adreces URL de prova contindrà les adreces URL de conjunt de proves i de cas de prova per validar la vostra aplicació. Les adreces de conjunt de proves i cas de prova de l'aplicació es poden recuperar seleccionant Copia l'enllaç de reproducció al Test Studio.

Podeu trobar un fitxer d'exemple, Samples/TestAutomationURLs.json, al dipòsit que heu creat abans.

  1. Creeu un fitxer TestURLs.json nou al vostre dipòsit o utilitzeu qualsevol altre nom de fitxer.
    El nom del fitxer i la ubicació s'assignaran a les variables del pipeline més endavant al document.

  2. Copieu el format del fitxer Samples/TestAutomationURLs.json.

  3. Actualitzeu la secció Adreces URL de prova amb les proves que vulgueu validar a la vostra aplicació.

  4. Confirmeu els canvis fets al dipòsit:

    JSON actualitzat

Crear un pipeline

  1. Inicieu la sessió a la vostra instància del Azure DevOps.

  2. Seleccioneu un projecte existent o creeu-ne un de nou.

  3. Al menú esquerra, seleccioneu Pipelines.

  4. Seleccioneu Crea un pipeline:

    Pipeline creat

  5. Seleccioneu Utilitza l'editor clàssic:

    Editor clàssic

  6. Seleccioneu el GitHub com a origen.

  7. Si cal, autoritzeu la connexió del GitHub mitjançant l'Oauth o mitjançant un testimoni d'accés personal:

    Pipeline al GitGitb

  8. Si cal, editeu el nom de la connexió.

  9. Seleccioneu ... (punts suspensius) al costat dret de l'entrada Dipòsit.

  10. Introduïu el nom del projecte al GitHub i, a continuació, seleccioneu-lo:

    Seleccionar un repositori.

  11. Seleccioneu Continua.

  12. A la pantalla Selecciona una plantilla, seleccioneu Feina buida:

    Seleccionar una feina buida.

  13. Deseu el pipeline.

Afegir tasques al pipeline

Ara heu d'afegir noves tasques de feina i de configurar-les per executar les proves des del pipeline en aquesta seqüència:

  1. Configurar la resolució de la pantalla mitjançant el PowerShell.

  2. Restaurar paquets NuGet per a la solució PowerAppsTestAutomation.

  3. Compilar la solució PowerAppsTestAutomation.

  4. Afegir proves del Visual Studio per al Google Chrome.

  5. Afegir proves del Visual Studio per a Mozilla Firefox.

Pas 1: Configurar la resolució de la pantalla mitjançant el PowerShell

  1. Seleccioneu + al costat de Feina de l'agent 1.

  2. Cerqueu PowerShell.

  3. Seleccioneu Afegeix per afegir una tasca del PowerShell a la feina:

    Afegir el PowerShell.

  4. Seleccioneu la tasca.
    També podeu actualitzar el nom de visualització per definir la resolució de la pantalla de l'agent a 1920 x 1080 o similar.

  5. Seleccioneu En línia com a tipus de script i introduïu el següent a la finestra de l'script:

    # Set agent screen resolution to 1920x1080 to avoid sizing issues with Portal  
    Set-DisplayResolution -Width 1920 -Height 1080 -Force
    # Wait 10 seconds  
    Start-Sleep -s 10
    # Verify Screen Resolution is set to 1920x1080  
    Get-DisplayResolution
    

    Exemple d'script

Pas 2: Restaurar paquets NuGet

  1. Seleccioneu + al costat de Feina de l'agent 1.

  2. Cerqueu NuGet.

  3. Seleccioneu Afegeix per afegir una tasca NuGet a la feina.

  4. Seleccioneu la tasca.
    També podeu actualitzar el nom de visualització per Restaurar els paquets NuGet o alguna acció semblant.

  5. Seleccioneu (punts suspensius) al camp de configuració Ruta a la solució, packages.config o project.json.

  6. Seleccioneu el fitxer de la solució PowerAppsTestAutomation.sln.

  7. Seleccioneu D'acord:

    Paquet de NuGet

Pas 3: Compilar la solució PowerAppsTestAutomation

  1. Seleccioneu + al costat de Feina de l'agent 1.

  2. Cerqueu la compilació del Visual Studio.

  3. Seleccioneu Afegeix per afegir una tasca de compilació del Visual Studio a la feina.

  4. Seleccioneu la tasca.
    També podeu actualitzar el nom de visualització a Compila la solució d'automatització de prova del Power Apps o alguna cosa semblant.

  5. Seleccioneu (punts suspensius) al camp de configuració Solució.

  6. Seleccioneu el fitxer de la solució PowerAppsTestAutomation.sln.

  7. Seleccioneu D'acord.

Pas 4: Afegir proves del Visual Studio per al Google Chrome

  1. Seleccioneu + al costat de Feina de l'agent 1.

  2. Cerqueu Prova del Visual Studio.

  3. Seleccioneu Afegeix per afegir una tasca de prova del Visual Studio a la feina.

  4. Seleccioneu la tasca.
    També podeu actualitzar el nom de visualització a Executa proves d'automatització de prova del Power Apps mitjançant el $(BrowserTypeChrome) o alguna cosa semblant.

  5. Suprimiu les entrades per defecte del camp de text Fitxers de prova i afegiu el següent:

    **\Microsoft.PowerApps.TestAutomation.Tests\bin\\Debug\Microsoft.PowerApps.TestAutomation.Tests.dll

  6. Introduïu TestCategory=PowerAppsTestAutomation al camp Criteris de filtratge de prova.

  7. Seleccioneu La combinació de proves selecta conté proves d'IU.

    La barreja de proves conté proves d'IU.

  8. Seleccioneu (punts suspensius) al camp Fitxer de configuració.

  9. Expandiu Microsoft.PowerApps .TestAutomation. Tests, seleccioneu el fitxer patestautomation.runsettings i, a continuació, seleccioneu D'acord:

    Configuració d'execució.

  10. Copieu el següent al camp Substitueix els paràmetres d'execució de la prova.

    -OnlineUsername "$(OnlineUsername)" -OnlinePassword "$(OnlinePassword)" -BrowserType "$(BrowserTypeChrome)" -OnlineUrl "$(OnlineUrl)" -UsePrivateMode "$(UsePrivateMode)" -TestAutomationURLFilePath "$(TestAutomationURLFilePath)" -DriversPath "$(ChromeWebDriver)"
    

    Nota

    Aquí és on es configuren les variables del pipeline, representades més amunt en forma de $(VariableName).

  11. Introduïu Executa proves d'automatització de prova del Power Apps mitjançant el $(BrowserTypeChrome) o alguna cosa semblant al camp Títol d'execució de prova.

    Execució de prova

Pas 5: Afegir proves del Visual Studio per a Mozilla Firefox.

  1. Feu clic amb el botó dret a la tasca Afegeix proves del Visual Studio per al Chrome i seleccioneu Clona tasques.

  2. Seleccioneu la tasca i actualitzeu les àrees següents:

    1. Títol: Executa proves d'automatització de prova del Power Apps mitjançant el $(BrowserTypeFirefox)

    2. Substituir els paràmetres d'execució de la prova

      -OnlineUsername "$(OnlineUsername)" -OnlinePassword "$(OnlinePassword)" -BrowserType "$(BrowserTypeFirefox)" -OnlineUrl "$(OnlineUrl)" -UsePrivateMode "$(UsePrivateMode)" -TestAutomationURLFilePath "$(TestAutomationURLFilePath)" -DriversPath "$(GeckoWebDriver)"
      
    3. Títol d'execució de prova: Executa proves d'automatització de prova del Power Apps mitjançant el $(BrowserTypeFirefox)

Configurar variables del pipeline

Ara heu de configurar les variables del pipeline definides a les tasques que heu afegit abans.

  1. Seleccioneu la pestanya Variables.

  2. Seleccioneu Afegeix i repetiu aquest pas per configurar les variables següents:

Nom de la variable Valor de la variable
BrowserTypeChrome Chrome
BrowserTypeFirefox Firefox
OnlineUrl https://make.powerapps.com
TestAutomationURLFilePath $(Build.SourcesDirectory)\<test URL file>.json
Nota:: Aquest és el fitxer .json d'adreces URL de prova que heu creat abans.
UsePrivateMode cert
OnlineUsername Introduïu l'adreça electrònica del context d'usuari de l'Azure Active Directory que iniciarà la sessió a l'aplicació. Les proves s'executaran en el context d'aquest compte d'usuari.
  1. Seleccioneu Afegeix i introduïu OnlinePassword al nom de la variable.

  2. Comproveu la imatge de bloqueig per tal que aquesta variable sigui un secret.

    Converteix la variable en secreta

  3. Deseu les vostres configuracions del pipeline.

Executar i analitzar proves

Per validar que les proves s'executen correctament, seleccioneu Cua i, a continuació, seleccioneu Executa. La feina començarà a executar-se.

Executar feina.

Mentre s'executa la feina, seleccioneu-la per veure un estat detallat de cadascuna de les tasques que s'estan executant:

Detalls de la feina

Quan s'hagi completat la feina, podeu visualitzar el resum de la feina d'alt nivell i qualsevol error o advertiment. Si seleccioneu la pestanya Proves, podeu visualitzar els detalls concrets dels casos de prova que heu executat.

L'exemple següent indica que, com a mínim, un dels nostres casos de prova ha fallat en executar les proves mitjançant el navegador Chrome:

Chrome: ha fallat

Seleccioneu la prova RunTestAutomation per aprofundir en els detalls sobre els casos de prova que han fallat. A la pestanya Fitxers adjunts, podeu veure el resum de l'execució de la prova i els casos de prova que han fallat o s'han superat al conjunt de proves:

Pestanya Fitxers adjunts

Nota

Si executeu un conjunt de proves, veureu un resum dels casos de prova que s'han superat i els que han fallat. Si executeu un cas de prova, veureu els detalls concrets sobre l'error amb informació de seguiment, si està disponible.

Limitacions conegudes

  • No és compatible amb l'autenticació multifactorial.

  • L'Internet Explorer 11 i el Microsoft Edge no són navegadors admesos.

  • El resum de la prova informarà d'un únic resultat de la prova per navegador. El resultat de la prova contindrà un o diversos casos de prova o resultats del conjunt de proves.

  • Qualsevol procés d'autenticació que no sigui el flux d'inici de sessió a l'Azure Active Directory requereix la personalització del procés d'inici de sessió a la solució PowerAppsTestAutomation.

Consulteu també