Märkus.
Eelvaatefunktsioonid ei ole mõeldud kasutamiseks tootmises ja nende funktsioonid võivad olla piiratud. Need funktsioonid on saadaval enne ametlikku väljastamist, et kliendid saaksid sellele varakult juurdepääsu ja võiksid tagasisidet anda.
Rakenduse elutsükli haldus (ALM) on terviklik lähenemisviis rakenduste elutsükli haldamisele alates esialgsest kontseptsioonist kuni arenduse, testimise, juurutamise ja pideva hoolduseni. Seoses kontekstiga Power Platform tagab automatiseeritud testimise kaasamine Test Engine’iga oma ALM-protsessi, et rakendusi testitakse põhjalikult igas arendusetapis, mille tulemuseks on kvaliteetsemad versioonid.
Testi automatiseerimise mõistmine ALM-is
Testiautomaatika mängib ALM-protsessis kriitilist rolli järgmiselt:
-
Kvaliteedi tagamine - Rakenduste ootuspärase toimimise kontrollimine enne juurutamist
-
Riski vähendamine - Probleemide varajane avastamine enne nende jõudmist tootmiskeskkondadesse
-
Pideva integratsiooni võimaldamine - Automatiseeritud ehituse kontrollimise testimise toetamine
-
Kontrollitud juurutuste hõlbustamine - Kvaliteediväravate lisamine väljalasketorustikesse
Testimootoriga saate integreerida automatiseeritud testimise oma olemasolevatesse ALM-i töövoogudesse, olenemata sellest, millist CI/CD-tööriista te kasutate. Power Apps Power Platform
Testi automatiseerimise elutsükkel
Testimismootor toetab täielikku testimise elutsüklit, mis integreerub teie ALM-protsessidega:
-
Arendus - Loo ja käivita teste lokaalselt rakenduse arenduse ajal
-
Järgu valideerimine - Testide käivitamine osana automaatsest järku kontrollimisest
-
Väljalaskeväravad - Kasutage testi tulemusi kvaliteediväravatena kontrollitud juurutuste jaoks
-
Tootmise kontrollimine - Kriitilise funktsionaalsuse valideerimine tootmiskeskkondades
ALM-i testimisautomaatikaga alustamine
Testimootori ALM-protsessidesse integreerimise alustamiseks tehke järgmist.
-
Loo oma testimisplaan - Kujunda YAML-i testimisplaanid oma Power Platform lahenduste jaoks
-
Käivita testid lokaalselt - Kontrolli, et testid toimiksid sinu arenduskeskkonnas
-
Autentimise seadistamine - Konfigureerige sobiv autentimine oma kohalike täitmis- ja konveierikeskkondade jaoks
-
Integreeri oma müügikanaliga - Ühenda testimismootor oma olemasoleva ALM-i müügikanaliga
-
Rakenda kvaliteedikontrolle - Kasuta testitulemusi lahenduste reklaamimise kontrollimiseks
Jootraha
Alusta kriitiliste kasutajateekondadega ja laienda järk-järgult oma automatiseeritud testide ulatust, kui oled testimismootoriga paremini tuttavaks saanud.
Testimootori lähtekoodi versioon (valikuline)
Kui kasutate Test Engine’i lähtekoodi versiooni, vajate ka järgmist:
Integreerimissuvandid
Testimootor integreerub sujuvalt erinevate ALM-tööriistade ja -protsessidega
Saate hõlpsasti integreerida Test Engine’i Power Platform sisseehitatud torujuhtmetega, et saada natiivne integreeritud kogemus:
Kohandatud torujuhtmete hosti kasutamiselsaate käivitada automatiseeritud testide käivitamise.
- Pilvevoo loomine Power Automate , mis käivitub konveieri sündmuste põhjal
- Testide käivitamiseks looge ühendus oma CI/CD-süsteemiga
- Testitulemuste töötlemine ja konveieri oleku värskendamine
Järgmisel diagrammil on toodud näide selle integreerimismustri kohta.
See voog kasutab:
Kohandatud CI/CD integreerimine Power Automate
Olemasolevate CI/CD-tööriistadega organisatsioonide jaoks integreerub Test Engine kohandatud torujuhtmetega Power Automate Power Platform kohandatud hosti funktsiooni abil. Kohandatud hosti lähenemisviisi abil saate teha järgmist.
- Määratlege kohandatud konveieri host, mis teostab teie automatiseeritud teste
- Pilvevoogude loomine Power Automate , mis käivituvad automaatselt juurutussündmustest
- Käivitage
pac test run käske otse pilvevoogudest, et käivitada allika juhtelemendis talletatud teste
- Looge ühendus eelistatud CI/CD-süsteemiga (Azure DevOpsGitHubi toimingud jne)
- Rakendage testitulemustel põhinevaid kinnitamise töövooge
- Juurutamise oleku värskendamine testitulemuste põhjal
See integratsioon võimaldab teil säilitada oma olemasolevaid CI/CD-investeeringuid, lisades samal ajal oma ALM-protsessile Test Engine’i võimalusi. Kohandatud host toimib sillana ALM-i natiivsete funktsioonide ja teie välise testimise infrastruktuuri vahel Power Platform.
Saate oma Power Platform konveierit laiendada kohandatud hosti abil või integreerida pac test run käsu otse oma ehitusskriptide käivitamiseks.
Siin on näide Azure DevOps konveieri YAML-failist, mis näitab, kuidas testmootori teste seadistada ja käivitada Power Apps .
trigger:
- main
pool:
vmImage: 'windows-latest'
variables:
- group: PowerPlatformTestVariables # Create a variable group with these variables
# Required variables in the variable group:
# ClientId - Service Principal App ID
# ClientSecret - Service Principal Secret (mark as secret)
# TenantId - Microsoft Entra Tenant ID
# EnvironmentUrl - Power Platform Environment URL
# EnvironmentId - Power Platform Environment ID
steps:
# Download the test plan file from secure files
- task: DownloadSecureFile@1
name: testPlan
displayName: 'Download Test Plan File'
inputs:
secureFile: 'testplan.te.yaml' # Upload your test plan to Secure Files in Azure DevOps
# Install Power Platform CLI
- task: PowerShell@2
displayName: 'Install Power Platform CLI'
inputs:
targetType: 'inline'
script: |
Write-Host "Installing Power Platform CLI..."
$pacUrl = "https://aka.ms/PowerAppsCLI"
$pacZip = "$env:TEMP\pac.zip"
$pacDestination = "$env:TEMP\pac"
# Create the destination folder if it doesn't exist
if (-not (Test-Path $pacDestination)) {
New-Item -ItemType Directory -Path $pacDestination -Force | Out-Null
}
# Download PAC CLI
Invoke-WebRequest -Uri $pacUrl -OutFile $pacZip
# Extract PAC CLI
Expand-Archive -Path $pacZip -DestinationPath $pacDestination -Force
# Add PAC CLI to PATH
$env:PATH = "$pacDestination;$env:PATH"
# Verify installation
pac help
# Install Azure CLI and authenticate with service principal
- task: PowerShell@2
displayName: 'Install Azure CLI and Authenticate'
inputs:
targetType: 'inline'
script: |
Write-Host "Installing Azure CLI..."
$azureCliUrl = "https://aka.ms/installazurecliwindows"
$azureCliInstaller = "$env:TEMP\AzureCLI.msi"
# Download Azure CLI installer
Invoke-WebRequest -Uri $azureCliUrl -OutFile $azureCliInstaller
# Install Azure CLI silently
Start-Process -FilePath msiexec.exe -Args "/i $azureCliInstaller /quiet /norestart" -Wait
# Reload PATH to include Azure CLI
$env:PATH = [System.Environment]::GetEnvironmentVariable("PATH", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("PATH", "User")
# Authenticate with service principal
Write-Host "Authenticating with Azure CLI..."
az login --service-principal -u "$(ClientId)" -p "$(ClientSecret)" --tenant "$(TenantId)" --allow-no-subscriptions
# Authenticate PAC CLI with service principal
- task: PowerShell@2
displayName: 'Authenticate PAC CLI'
inputs:
targetType: 'inline'
script: |
Write-Host "Authenticating PAC CLI..."
# Create authentication profile
pac auth create --name TestEngineAuth --url "$(EnvironmentUrl)" --applicationId "$(ClientId)" --clientSecret "$(ClientSecret)" --tenant "$(TenantId)"
# Select the authentication profile
pac auth select --name TestEngineAuth
# Run the tests
- task: PowerShell@2
displayName: 'Execute Test Engine Tests'
inputs:
targetType: 'inline'
script: |
Write-Host "Running Test Engine tests..."
# Create output directory
$outputDir = "$(Build.ArtifactStagingDirectory)\TestResults"
New-Item -ItemType Directory -Path $outputDir -Force | Out-Null
# Run the tests
pac test run `
--test-plan-file "$(testPlan.secureFilePath)" `
--environment-id "$(EnvironmentId)" `
--tenant "$(TenantId)" `
--logConsole info `
--trx `
--outputDirectory $outputDir
if ($LASTEXITCODE -ne 0) {
Write-Error "Test execution failed with exit code $LASTEXITCODE"
exit $LASTEXITCODE
}
# Publish test results
- task: PublishTestResults@2
displayName: 'Publish Test Results'
inputs:
testResultsFormat: 'VSTest'
testResultsFiles: '$(Build.ArtifactStagingDirectory)\TestResults\*.trx'
mergeTestResults: true
testRunTitle: 'Power Apps Test Engine Results'
condition: always() # Ensure results are published even if tests fail
# Publish test artifacts
- task: PublishBuildArtifacts@1
displayName: 'Publish Test Artifacts'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)\TestResults'
ArtifactName: 'TestArtifacts'
publishLocation: 'Container'
condition: always()
Võrdluskomponendid
Järgmised viitekomponendid võivad olla kasulikud automatiseerimise testimise konveieri koostamisel.
Siin on näide GitHub Actionsi töövoost, mis teostab sama testi käivitamise protsessi.
name: Test Engine Execution
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch: # Allow manual triggering
jobs:
test:
runs-on: windows-latest
env:
TENANT_ID: ${{ secrets.TENANT_ID }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
ENVIRONMENT_URL: ${{ secrets.ENVIRONMENT_URL }}
ENVIRONMENT_ID: ${{ secrets.ENVIRONMENT_ID }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install Power Platform CLI
run: |
Write-Host "Installing Power Platform CLI..."
$pacUrl = "https://aka.ms/PowerAppsCLI"
$pacZip = "$env:TEMP\pac.zip"
$pacDestination = "$env:TEMP\pac"
# Create the destination folder if it doesn't exist
if (-not (Test-Path $pacDestination)) {
New-Item -ItemType Directory -Path $pacDestination -Force | Out-Null
}
# Download PAC CLI
Invoke-WebRequest -Uri $pacUrl -OutFile $pacZip
# Extract PAC CLI
Expand-Archive -Path $pacZip -DestinationPath $pacDestination -Force
# Add PAC CLI to PATH
$env:PATH = "$pacDestination;$env:PATH"
echo "$pacDestination" >> $env:GITHUB_PATH
# Verify installation
pac help
- name: Install Azure CLI
run: |
Write-Host "Installing Azure CLI..."
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi
Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'
rm .\AzureCLI.msi
- name: Azure CLI Authentication
run: |
Write-Host "Authenticating with Azure CLI..."
az login --service-principal -u "$env:CLIENT_ID" -p "$env:CLIENT_SECRET" --tenant "$env:TENANT_ID" --allow-no-subscriptions
- name: PAC CLI Authentication
run: |
Write-Host "Authenticating PAC CLI..."
# Create authentication profile
pac auth create --name TestEngineAuth --url "$env:ENVIRONMENT_URL" --applicationId "$env:CLIENT_ID" --clientSecret "$env:CLIENT_SECRET" --tenant "$env:TENANT_ID"
# Select the authentication profile
pac auth select --name TestEngineAuth
- name: Run Test Engine tests
run: |
Write-Host "Running Test Engine tests..."
# Create output directory
$outputDir = "./TestResults"
New-Item -ItemType Directory -Path $outputDir -Force | Out-Null
# Run the tests
pac test run `
--test-plan-file "./TestPlan/testplan.te.yaml" `
--environment-id "$env:ENVIRONMENT_ID" `
--tenant "$env:TENANT_ID" `
--logConsole info `
--trx `
--outputDirectory $outputDir
if ($LASTEXITCODE -ne 0) {
Write-Error "Test execution failed with exit code $LASTEXITCODE"
exit $LASTEXITCODE
}
- name: Upload test results
uses: actions/upload-artifact@v3
if: always()
with:
name: test-results
path: ./TestResults
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
files: ./TestResults/**/*.trx
Seotud artiklid
Lisateave testimismootori YAML-i süntaksi kohta
Testide autentimise seadistamine
Lõuendirakenduste, mudelipõhiste rakenduste või Dataverse laienduste testimine
Mõistke Power Platform ALM-i