Delen via


De optimale configuratie van het testpakket bepalen

Met Microsoft Playwright Testing Preview kunt u uw Playwright-testuitvoering versnellen door parallelle uitvoering op cloudschaal te verhogen. Verschillende factoren zijn van invloed op de voltooiingstijd voor uw testsuite. Het bepalen van de optimale configuratie voor het verminderen van de voltooiingstijd van het testpakket is toepassingsspecifiek en vereist experimenten. In dit artikel worden de verschillende niveaus uitgelegd voor het configureren van parallelle uitvoering voor uw tests, de factoren die van invloed zijn op de testduur en hoe u de optimale configuratie kunt bepalen om de voltooiingstijd van de test te minimaliseren.

In Playwright kunt u tests parallel uitvoeren met behulp van werkprocessen. Met behulp van Microsoft Playwright Testing kunt u parallelle uitvoering verder verhogen met behulp van browsers in de cloud. Over het algemeen vermindert het toevoegen van meer parallelle uitvoering de tijd om uw testpakket te voltooien. Het toevoegen van meer werkprocessen resulteert echter niet altijd in kortere voltooiingstijden van testsuites. De computerresources van de clientcomputer, netwerklatentie of testcomplexiteit kunnen bijvoorbeeld ook van invloed zijn op de testduur.

In de volgende grafiek ziet u een voorbeeld van het uitvoeren van een testpakket. Door de testsuite uit te voeren met Microsoft Playwright Testing in plaats van lokaal, kunt u de parallelle uitvoering aanzienlijk verhogen en de voltooiingstijd van de test verminderen. Wanneer u met de service werkt, bereikt de voltooiingstijd een minimumlimiet, waarna het toevoegen van meer werknemers slechts een minimaal effect heeft. In de grafiek ziet u ook hoe het gebruik van meer rekenresources op de clientcomputer de voltooiingstijd van de test positief beïnvloedt voor tests die met de service worden uitgevoerd.

Line chart that shows the relation between the number of parallel workers and the test suite completion time for different run environments.

Werkprocessen

In Playwright worden alle tests uitgevoerd in werkprocessen. Deze processen zijn besturingssysteemprocessen, die onafhankelijk, parallel worden uitgevoerd, georganiseerd door de Playwright Test runner. Alle werknemers hebben identieke omgevingen en elk proces start een eigen browser.

Over het algemeen kan het verhogen van het aantal parallelle werkrollen de tijd verminderen die nodig is om de volledige testsuite te voltooien. Meer informatie over Playwright Test parallellisme vindt u in de Playwright-documentatie.

Zoals eerder in de grafiek is weergegeven, neemt de voltooiingstijd van het testpakket niet verder af naarmate u meer werkprocessen toevoegt. Er zijn andere factoren die van invloed zijn op de duur van de testsuite.

Tests lokaal uitvoeren

@playwright/test Standaard beperkt u het aantal werkrollen tot 1/2 van het aantal CPU-kernen op uw computer. U kunt het aantal werkrollen voor het uitvoeren van uw test overschrijven.

Wanneer u lokaal tests uitvoert, is het aantal werkprocessen beperkt tot het aantal CPU-kernen op uw computer. Na een bepaald punt leidt het toevoegen van meer werknemers tot resourceconflicten, waardoor elke werknemer wordt vertraagd en testfakiness wordt geïntroduceerd.

Het aantal werkrollen overschrijven met behulp van de --workers opdrachtregelvlag:

npx playwright test --workers=10

Het aantal werkrollen opgeven met playwright.config.ts behulp van de workers instelling:

export default defineConfig({
  ...
  workers: 10,
  ...
});

Tests uitvoeren met de service

Wanneer u Microsoft Playwright Testing gebruikt, kunt u het aantal werknemers op cloudschaal verhogen naar grotere aantallen. Wanneer u de service gebruikt, blijven de werkprocessen lokaal worden uitgevoerd, maar de resource-intensieve browserexemplaren worden nu extern uitgevoerd in de cloud.

Omdat de werkprocessen nog steeds worden uitgevoerd op de clientcomputer (werkstation voor ontwikkelaars of CI-agentcomputer), kan de clientcomputer nog steeds een knelpunt worden voor schaalbare uitvoering wanneer u meer werkrollen toevoegt. Meer informatie over hoe u de optimale configuratie kunt bepalen.

U kunt het aantal werkrollen op de opdrachtregel opgeven met de --workers vlag:

npx playwright test --config=playwright.service.config.ts --workers=30

U kunt ook het aantal werkrollen opgeven met playwright.service.config.ts behulp van de workers instelling:

export default defineConfig({
  ...
  workers: 30,
  ...
});

Factoren die invloed hebben op de voltooiingstijd

Naast het aantal parallelle werkprocessen zijn er verschillende factoren die van invloed zijn op de voltooiingstijd van het testpakket.

Factor Effecten op testduur
Rekenresources voor clientcomputers De werkprocessen worden nog steeds uitgevoerd op de clientcomputer (werkstation voor ontwikkelaars of CI-agentcomputers) en moeten communiceren met de externe browsers. Als u het aantal parallelle werkrollen verhoogt, kan dit leiden tot resourceconflicten op de clientcomputer en worden tests vertraagd.
Complexiteit van de testcode Naarmate de complexiteit van de testcode toeneemt, kan de tijd voor het voltooien van de tests ook toenemen.
Latentie tussen de clientcomputer en de externe browsers De werkrollen worden uitgevoerd op de clientcomputer en communiceren met de externe browsers. Afhankelijk van de Azure-regio waar de browsers worden gehost, kan de netwerklatentie toenemen. Meer informatie over hoe u regionale latentie kunt optimaliseren in Microsoft Playwright Testing.
Configuratie-instellingen voor Playwright Playwright-instellingen, zoals servicetime-outs, nieuwe pogingen of tracering, kunnen de voltooiingstijd van de test nadelig beïnvloeden. Experimenteer met de optimale configuratie voor deze instellingen bij het uitvoeren van uw tests in de cloud.
Belastingsverwerkingscapaciteit van de doeltoepassing Door tests uit te voeren met Microsoft Playwright Testing kunt u uitvoeren met een hogere parallelle uitvoering, wat resulteert in een hogere belasting van de doeltoepassing. Controleer of de toepassing de belasting kan verwerken die wordt gegenereerd door uw Playwright-tests uit te voeren.

Meer informatie over de werkstroom voor het bepalen van de optimale configuratie voor het minimaliseren van de duur van de testsuite.

Werkstroom voor het bepalen van uw optimale configuratie

De optimale configuratie voor het minimaliseren van de voltooiingstijd van het testpakket is specifiek voor uw toepassing en omgeving. U kunt uw optimale configuratie bepalen door te experimenteren met verschillende niveaus van parallellisatie, hardwareconfiguratie van clientcomputers of de installatie van het testpakket.

Met de volgende aanpak kunt u de optimale configuratie vinden voor het uitvoeren van uw tests met Microsoft Playwright Testing:

1. Bepaal het doel van de voltooiingstijd van de test

Bepaal wat een acceptabele voltooiingstijd van het testpakket en de bijbehorende kosten per testuitvoering is.

Afhankelijk van het scenario kunnen uw vereisten voor het voltooien van de test afwijken. Wanneer u uw end-to-end tests uitvoert met elke codewijziging, is het minimaliseren van de voltooiingstijd van de test essentieel als onderdeel van een CI-werkstroom (continue integratie). Wanneer u uw end-to-end tests plant in een (nacht)batchuitvoering, hebt u mogelijk vereisten die minder veeleisend zijn.

2. Controleer of uw tests correct worden uitgevoerd op de clientcomputer

Voordat u uw Playwright-testpakket uitvoert met Microsoft Playwright Testing, moet u ervoor zorgen dat uw tests correct worden uitgevoerd op uw clientcomputer. Als u uw tests uitvoert als onderdeel van een CI-werkstroom, controleert u of uw tests correct worden uitgevoerd op de CI-agentcomputer. Zorg ervoor dat u uw tests uitvoert met minimaal twee parallelle werkrollen om te controleren of uw tests correct zijn geconfigureerd voor parallelle uitvoering. Meer informatie over parallellisme in Playwright.

3. Uitvoeren met in de cloud gehoste browsers op Microsoft Playwright Testing

Zodra uw tests correct zijn uitgevoerd, voegt u de serviceconfiguratie toe om uw tests uit te voeren op in de cloud gehoste browsers met de service. Controleer of uw tests correct blijven worden uitgevoerd vanaf uw clientcomputer (werkstation voor ontwikkelaars of CI-agentcomputer).

Aan de slag met de quickstart: Playwright-tests op schaal uitvoeren met Microsoft Playwright Testing.

4. Controleer de externe browsers van de Azure-regio

Microsoft Playwright Testing kan externe browsers gebruiken in de Azure-regio die zich het dichtst bij uw clientcomputer bevindt of de vaste regio gebruiken waarop uw werkruimte is gemaakt.

Meer informatie over hoe u regionale latentie voor uw werkruimte kunt optimaliseren.

5. Experimenteer met het aantal parallelle werkrollen

Experimenteer met het aantal parallelle werkrollen om uw tests uit te voeren. Meet de voltooiingstijd van de test en vergelijk met het doeldoel dat u eerder hebt ingesteld.

U ziet op welk moment de voltooiingstijd van de test niet meer vermindert naarmate u meer werknemers toevoegt. Ga naar de volgende stap om uw installatie verder te optimaliseren.

Notitie

Hoewel de service in preview is, is het aantal parallelle werkrollen per werkruimte beperkt tot 50. U kunt een verhoging van deze limiet aanvragen voor uw werkruimte.

6. De client schalen

Naarmate u de parallelle uitvoering verhoogt, kan de clientcomputer te maken hebben met conflicten tussen rekenresources. Verhoog de rekenresources op de clientcomputer, bijvoorbeeld door grotere door GitHub gehoste hardlopers te selecteren.

Als u hardwarebeperkingen hebt, kunt u uw clienttests ook sharden .

Voer uw tests opnieuw uit en experimenteer met het aantal parallelle werkrollen.

7. Werk de configuratie-instellingen voor playwright-test bij

Configureer uw Playwright-testconfiguratie-instellingen, zoals testtime-outs, traceringsinstellingen of nieuwe pogingen.