Freigeben über


Ermitteln der optimalen Konfiguration der Testsammlung

Mit Microsoft Playwright Testing Vorschau können Sie ihre Playwright-Testausführung beschleunigen, indem Sie die Parallelität im Cloudmaßstab erhöhen. Mehrere Faktoren wirken sich auf die Abschlusszeit für Ihre Testsammlung aus. Die Bestimmung der optimalen Konfiguration zur Reduzierung der Abschlusszeit der Testsammlung ist anwendungsspezifisch und erfordert Experimente. Dieser Artikel erläutert die verschiedenen Ebenen zum Konfigurieren der Parallelität für Ihre Tests, die Faktoren, die die Testdauer beeinflussen, und wie Sie Ihre optimale Konfiguration bestimmen, um die Testabschlusszeit zu minimieren.

In Playwright können Sie Tests parallel ausführen, indem Sie Workerprozesse verwenden. Mithilfe von Microsoft Playwright-Tests können Sie die Parallelität weiter erhöhen, indem Sie in der Cloud gehostete Browser verwenden. Im Allgemeinen reduziert das Hinzufügen weiterer Parallelität die Zeit, um Ihre Testsammlung abzuschließen. Das Hinzufügen weiterer Workerprozesse führt jedoch nicht immer zu kürzeren Abschlusszeiten der Testsammlung. Beispielsweise können sich die Computerressourcen des Clientcomputers, die Netzwerklatenz oder die Testkomplexität auch auf die Testdauer auswirken.

Das folgende Diagramm zeigt ein Beispiel für die Ausführung einer Testsammlung. Indem Sie die Testsammlung mit Microsoft Playwright Testing anstelle von lokal ausführen, können Sie den Parallelismus erheblich erhöhen und die Testabschlusszeit reduzieren. Beachten Sie, dass bei der Ausführung mit dem Dienst die Fertigstellungszeit ein Mindestlimit erreicht, nach dem das Hinzufügen weiterer Worker nur einen minimalen Effekt hat. Das Diagramm zeigt auch, wie sich die Verwendung weiterer Computerressourcen auf dem Clientcomputer positiv auf die Testabschlusszeit für Tests auswirkt, die mit dem Dienst ausgeführt werden.

Liniendiagramm, das die Beziehung zwischen der Anzahl der parallelen Worker und der Abschlusszeit der Testsammlung für verschiedene Ausführungsumgebungen zeigt.

Arbeitsprozesse

In Playwrightwerden alle Tests in Workerprozessen ausgeführt. Bei diesen Prozessen handelt es sich um OS-Prozesse, die unabhängig voneinander ausgeführt werden, parallel vom Playwright Test Runner koordiniert. Alle Worker verfügen über identische Umgebungen, und jeder Prozess startet einen eigenen Browser.

Im Allgemeinen kann das Erhöhen der Anzahl paralleler Worker die Zeit reduzieren, die zum Abschließen der vollständigen Testsammlung benötigt wird. Weitere Informationen zum Playwright Test-Parallelismus finden Sie in der Playwright-Dokumentation.

Wie zuvor im Diagramm gezeigt, nimmt die Fertigstellungszeit der Testsammlung nicht weiter ab, wenn Sie weitere Workerprozesse hinzufügen. Es gibt andere Faktoren, die die Dauerder Testsammlung beeinflussen.

Lokales Ausführen von Tests

Schränkt standardmäßig @playwright/test die Anzahl der Worker auf 1/2 der Anzahl der CPU-Kerne auf Ihrem Computer ein. Sie können die Anzahl der Worker für die Ausführung Ihres Tests außer Kraft setzen.

Wenn Sie Tests lokal ausführen, ist die Anzahl der Workerprozesse auf die Anzahl der CPU-Kerne auf Ihrem Computer beschränkt. Über einen bestimmten Punkt hinaus führt das Hinzufügen weiterer Worker zu Ressourcenkonflikten, wodurch jeder Worker verlangsamt wird und Testflakiness eingeführt wird.

So überschreiben Sie die Anzahl der Worker mit der --workers Befehlszeilenkennzeichnung:

npx playwright test --workers=10

So geben Sie die Anzahl der Worker an, die playwright.config.ts die workers Einstellung verwenden:

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

Ausführen von Tests mit dem Dienst

Wenn Sie Microsoft Playwright Testing verwenden, können Sie die Anzahl der Worker in der Cloud auf größere Zahlen erhöhen. Wenn Sie den Dienst verwenden, werden die Workerprozesse weiterhin lokal ausgeführt, aber die ressourcenintensiven Browserinstanzen werden jetzt remote in der Cloud ausgeführt.

Da die Workerprozesse weiterhin auf dem Clientcomputer (Entwicklerarbeitsstation oder CI-Agent-Computer) ausgeführt werden, wird der Clientcomputer möglicherweise noch zu einem Engpass für die skalierbare Ausführung, während Sie weitere Worker hinzufügen. Lernen Sie, wie Sie die optimale Konfiguration bestimmen können.

Sie können die Anzahl der Worker in der Befehlszeile mit der --workers Kennzeichnung angeben:

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

Alternativ können Sie die Anzahl der Worker playwright.service.config.ts mithilfe der workers Einstellung angeben:

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

Faktoren, die die Fertigstellungszeit beeinflussen

Neben der Anzahl der parallelen Workerprozesse gibt es mehrere Faktoren, die die Abschlusszeit der Testsammlung beeinflussen.

Faktor Auswirkungen auf die Testdauer
Computeressourcen des Clientcomputers Die Workerprozesse werden weiterhin auf dem Clientcomputer (Entwicklerarbeitsstation oder CI-Agent-Computer) ausgeführt und müssen mit den Remotebrowsern kommunizieren. Das Erhöhen der Anzahl paralleler Worker kann zu Ressourcenkonflikten auf dem Clientcomputer führen und Tests verlangsamen.
Komplexität des Testcodes Da sich die Komplexität des Testcodes erhöht, kann sich auch die Zeit zum Abschließen der Tests erhöhen.
Latenz zwischen dem Clientcomputer und den Remotebrowsern Die Worker werden auf dem Clientcomputer ausgeführt und kommunizieren mit den Remotebrowsern. Je nach Azure-Bereich, in dem die Browser gehostet werden, kann sich die Netzwerklatenz erhöhen. Lernen Sie, wie Sie die regionale Latenz bei Microsoft Playwright Testing optimieren können.
Playwright-Konfigurationseinstellungen Playwright-Einstellungen wie Diensttimeouts, Wiederholungen oder Ablaufverfolgung können sich negativ auf die Testabschlusszeit auswirken. Experimentieren Sie mit der optimalen Konfiguration für diese Einstellungen, wenn Sie Ihre Tests in der Cloud ausführen.
Lastbehandlungskapazität der Zielanwendung Durch das Ausführen von Tests mit Microsoft Playwright Testing können Sie mit höherer Parallelität ausgeführt werden, was zu einer höheren Auslastung der Zielanwendung führt. Stellen Sie sicher, dass die Anwendung die Last verarbeiten kann, die generiert wird, indem Sie Ihre Playwright-Tests ausführen.

Erfahren Sie mehr über den Workflow, um die optimale Konfiguration für die Minimierung der Testsammlungsdauer zu ermitteln.

Workflow zur Bestimmung der optimalen Konfiguration

Die optimale Konfiguration zur Minimierung der Abschlusszeit der Testsammlung ist spezifisch für Ihre Anwendung und Umgebung. Um Ihre optimale Konfiguration zu ermitteln, experimentieren Sie mit verschiedenen Parallelisierungsebenen, der Hardwarekonfiguration des Clientcomputers oder der Testsammlungseinrichtung.

Der folgende Ansatz kann Ihnen helfen, die optimale Konfiguration für die Ausführung Ihrer Tests mit Microsoft Playwright Testing zu finden:

1. Ermitteln Sie Ihr Testabschlusszeitziel

Ermitteln Sie, was eine akzeptable Abschlusszeit der Testsammlung und die zugehörigen Kosten pro Testlauf ist.

Je nach Szenario können die Anforderungen für den Testabschluss unterschiedlich sein. Wenn Sie Ihre End-to-End-Tests mit jeder Codeänderung ausführen, ist die Minimierung der Testabschlusszeit im Rahmen eines CI-Workflows (Continuous Integration) unerlässlich. Wenn Sie Ihre End-to-End-Tests in einem (nächtlichen) Batchlauf planen, haben Sie möglicherweise Anforderungen, die weniger anspruchsvoll sind.

2. Überprüfen, ob Ihre Tests auf dem Clientcomputer ordnungsgemäß ausgeführt werden

Bevor Sie Ihre Playwright-Testsammlung mit Microsoft Playwright Testing ausführen, stellen Sie sicher, dass Ihre Tests auf Ihrem Clientcomputer ordnungsgemäß ausgeführt werden. Wenn Sie Ihre Tests als Teil eines CI-Workflows ausführen, überprüfen Sie, ob Ihre Tests auf dem CI-Agent-Computer ordnungsgemäß ausgeführt werden. Stellen Sie sicher, dass Sie Ihre Tests mit mindestens zwei parallelen Workern ausführen, um sicherzustellen, dass Ihre Tests für die parallele Ausführung ordnungsgemäß konfiguriert sind. Lernen Sie mehr über Parallelität in Playwright.

3. Ausführen mit in der Cloud gehosteten Browsern bei Microsoft Playwright Testing

Nachdem die Tests ordnungsgemäß ausgeführt wurden, fügen Sie die Dienstkonfiguration hinzu, um Ihre Tests in der Cloud gehosteten Browsern mit dem Dienst auszuführen. Überprüfen Sie, ob Ihre Tests von Ihrem Clientcomputer (Entwicklerarbeitsstation oder CI-Agent-Computer) weiterhin ordnungsgemäß ausgeführt werden.

Hier finden Sie die ersten Schritte für den Schnellstart: Ausführen Ihrer Playwright-Tests in großem Maßstab mit Microsoft Playwright Testing.

4. Überprüfen des Azure-Bereichs-Remotebrowser

Microsoft Playwright Testing kann Remotebrowser in dem Azure-Bereich verwenden, die ihrem Clientcomputer am nächsten ist, oder die feste Bereich verwenden, in der Ihr Arbeitsbereich erstellt wurde.

Lernen Sie, wie Sie die regionale Latenz für Ihren Arbeitsbereich optimieren können.

5. Experimentieren mit der Anzahl paralleler Worker

Experimentieren Sie mit der Anzahl paralleler Worker, um Ihre Tests auszuführen. Messen Sie die Testabschlusszeit, und vergleichen Sie sie mit dem Zielziel, das Sie zuvor festgelegt haben.

Beachten Sie, an welchem Punkt die Testabschlusszeit nicht mehr reduziert wird, wenn Sie weitere Worker hinzufügen. Wechseln Sie zum nächsten Schritt, um das Setup weiter zu optimieren.

Hinweis

Während sich der Dienst in der Vorschau befindet, ist die Anzahl der parallelen Worker pro Arbeitsbereich auf 50 beschränkt. Sie können eine Erhöhung dieses Grenzwerts für Ihren Arbeitsbereichanfordern.

6. Skalieren des Clients

Während Sie die Parallelität erhöhen, kann auf dem Clientcomputer eine Berechnung der Ressourcenkonflikt auftreten. Erhöhen Sie die Computerressourcen auf dem Clientcomputer, z. B. indem Sie größere von GitHub gehostete Läufer auswählen

Alternativ können Sie, wenn Sie Hardwareeinschränkungen haben, Ihre Clienttests shardieren .

Führen Sie Ihre Tests erneut aus, und experimentieren Sie mit der Anzahl der parallelen Worker.

7. Aktualisieren ihrer Playwright-Testkonfigurationseinstellungen

Konfigurieren Sie Ihre Playwright-Testkonfigurationseinstellungen, z. B. Test Timeouts, Ablaufverfolgung Einstellungen oder Wiederholungen.