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.
Met Playwright Workspaces 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 Playwright Workspaces kunt u parallelle uitvoering verder verhogen met behulp van in de cloud gehoste browsers. 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 Playwright-werkruimten 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.
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 Playwright Workspaces gebruikt, kunt u het aantal werkrollen 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.
| Kenmerk | 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 in Playwright-werkruimten kunt optimaliseren. |
| 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 | Als u tests uitvoert met Playwright Workspaces, 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 Playwright Workspaces:
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 Playwright Workspaces, 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 in Playwright Workspaces
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 Playwright Workspaces.
4. Controleer de externe browsers van de Azure-regio
Playwright-werkruimten kunnen 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.
Opmerking
Het aantal parallelle werkrollen per werkruimte is beperkt tot 100. 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.