Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leert u hoe u de rapportagefunctie van de Microsoft Playwright Testing-service gebruikt met testuitvoeringen die gebruikmaken van de shardingfuncties van Playwright.
Met de sharding van Playwright kunt u uw testpakket splitsen om tegelijkertijd op meerdere computers uit te voeren. Deze functie helpt bij het parallel uitvoeren van tests.
U kunt de rapportagefunctie van Playwright Testing gebruiken om een geconsolideerd rapport van een testuitvoering met sharding te verkrijgen. Zorg ervoor dat de runId
testuitvoering hetzelfde is voor alle shards.
Belangrijk
Microsoft Playwright Testing is momenteel beschikbaar als preview-versie. Zie de aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in de bètaversie, in preview of anderszins nog niet zijn uitgebracht in algemene beschikbaarheid.
Een Azure-account met een actief abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Doorlopend end-to-end testen instellen. Voltooi de quickstart: Continue end-to-end-tests instellen met Microsoft Playwright Testing Preview om een CI-pijplijn (Continuous Integration) in te stellen.
Voeg een bestand toe of werk runId
deze bij playwright.service.config.ts
in uw installatie.
export default defineConfig(
config,
getServiceConfig(config, {
runId: process.env.PLAYWRIGHT_SERVICE_RUN_ID, //Set runId for the test run
}),
);
U kunt een variabele in uw installatie gebruiken PLAYWRIGHT_SERVICE_RUN_ID
om ervoor te zorgen dat alle runId
shards hetzelfde blijven.
De runId
instelling wordt gebruikt als id door de Playwright Testing-service om onderscheid te maken tussen testuitvoeringen. De resultaten van meerdere uitvoeringen met hetzelfde runId
worden gerapporteerd aan dezelfde uitvoering in de Playwright-portal.
Standaard genereert een testuitvoering die gebruikmaakt van de rapportagefunctie automatisch een unieke runId
, tenzij u de waarde expliciet zelf instelt. Als de waarde van de variabele hetzelfde blijft voor uitvoeringen, worden de resultaten samen gerapporteerd in dezelfde uitvoering in de Playwright-portal.
Tip
Als u de in de cloud gehoste browsers gebruikt die worden geleverd door de Microsoft Playwright Testing-service om uw tests uit te voeren, hebt u deze variabele mogelijk al ingesteld. Als u overschrijven wilt voorkomen, moet u deze slechts één keer instellen.
Zorg er tijdens het gebruik van sharding voor dat hetzelfde runId
is ingesteld voor alle shards om de resultaten samen te melden. Gebruik de variabele PLAYWRIGHT_SERVICE_RUN_ID
en stel dezelfde waarde in voor alle shards.
Hier volgt een voorbeeld van hoe u deze in uw pijplijn kunt instellen via GitHub Actions.
name: Playwright Tests (Microsoft Playwright Testing)
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
workflow_dispatch:
strategy:
fail-fast: false
matrix:
shardIndex: [1, 2, 3, 4]
shardTotal: [4]
permissions: # Required when using Microsoft Entra ID to authenticate
id-token: write
contents: read
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
# This step is to sign-in to Azure to run tests from GitHub Action workflow.
# You can choose how set up Authentication to Azure from GitHub Actions, this is one example.
- name: Login to Azure with AzPowershell (enableAzPSSession true)
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }} # Required when using Microsoft Entra ID to authenticate
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
enable-AzPSSession: true
- name: Install dependencies
working-directory: path/to/playwright/folder # update accordingly
run: npm ci
- name: Run Playwright tests
working-directory: path/to/playwright/folder # update accordingly
env:
# Regional endpoint for Microsoft Playwright Testing
PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }}
PLAYWRIGHT_SERVICE_RUN_ID: ${{ github.run_id }}-${{ github.run_attempt }}-${{ github.sha } #This Run_ID will be unique and will remain same across all shards
run: npx playwright test --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}