Teilen über


Ermitteln der optimalen Konfiguration der Testsuite

Mit microsoft Playwright Testing Preview 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 Testsuite aus. Die Bestimmung der optimalen Konfiguration zur Reduzierung der Abschlusszeit der Testsuite ist anwendungsspezifisch und erfordert Experimente. In diesem Artikel werden die verschiedenen Ebenen zum Konfigurieren der Parallelität für Ihre Tests, die Faktoren erläutert, 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 Arbeitsprozesse 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 Testsuite abzuschließen. Das Hinzufügen weiterer Arbeitsprozesse führt jedoch nicht immer zu kürzeren Abschlusszeiten der Testsuite. 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 Testsuite. Indem Sie die Testsuite 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 Mitarbeiter 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.

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

Arbeitsprozesse

In Playwright werden alle Tests in Arbeitsprozessen ausgeführt. Bei diesen Prozessen handelt es sich um Betriebssystemprozesse, die unabhängig voneinander ausgeführt werden, parallel vom Playwright Test runner koordiniert. Alle Mitarbeiter verfügen über identische Umgebungen, und jeder Prozess startet einen eigenen Browser.

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

Wie zuvor im Diagramm gezeigt, nimmt die Fertigstellungszeit der Testsuite nicht weiter ab, wenn Sie weitere Arbeitsprozesse hinzufügen. Es gibt weitere Faktoren, die die Dauer der Testsuite beeinflussen.

Lokales Ausführen von Tests

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

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

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

npx playwright test --workers=10

So geben Sie die Anzahl der Mitarbeiter 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-Tests verwenden, können Sie die Anzahl der Mitarbeiter in der Cloud auf größere Zahlen erhöhen. Wenn Sie den Dienst verwenden, werden die Arbeitsprozesse weiterhin lokal ausgeführt, aber die ressourcenintensiven Browserinstanzen werden jetzt remote in der Cloud ausgeführt.

Da die Arbeitsprozesse 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 Mitarbeiter hinzufügen. Erfahren Sie, wie Sie die optimale Konfiguration bestimmen können.

Sie können die Anzahl der Mitarbeiter 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 Mitarbeiter playwright.service.config.ts in der workers Einstellung angeben:

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

Faktoren, die die Fertigstellungszeit beeinflussen

Neben der Anzahl der parallelen Arbeitsprozesse gibt es mehrere Faktoren, die die Abschlusszeit der Testsuite beeinflussen.

Faktor Auswirkungen auf die Testdauer
Computeressourcen des Clientcomputers Die Arbeitsprozesse 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 Mitarbeiter 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 Mitarbeiter werden auf dem Clientcomputer ausgeführt und kommunizieren mit den Remotebrowsern. Je nach Azure-Region, in der die Browser gehostet werden, kann sich die Netzwerklatenz erhöhen. Erfahren Sie, wie Sie die regionale Latenz bei Microsoft Playwright-Tests 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 Testsuitedauer zu ermitteln.

Workflow zur Bestimmung der optimalen Konfiguration

Die optimale Konfiguration zur Minimierung der Abschlusszeit der Testsuite 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 Testsuiteeinrichtung.

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

1. Ermitteln Des Testabschlusszeitziels

Ermitteln Sie, was eine akzeptable Abschlusszeit der Testsuite 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 Sie, ob Ihre Tests auf dem Clientcomputer ordnungsgemäß ausgeführt werden.

Bevor Sie Ihre Playwright-Testsuite mit Microsoft Playwright-Tests 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. Erfahren Sie mehr über Parallelität in Playwright.

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

Nachdem Die Tests ordnungsgemäß ausgeführt wurden, fügen Sie die Dienstkonfiguration hinzu, um Ihre Tests in 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.

Erste Schritte mit der Schnellstartanleitung: Führen Sie Playwright-Tests im Maßstab mit Microsoft Playwright-Tests aus.

4. Überprüfen der Remotebrowser der Azure-Region

Microsoft Playwright-Tests können Remotebrowser in der Azure-Region verwenden, die ihrem Clientcomputer am nächsten ist, oder die feste Region verwenden, in der Ihr Arbeitsbereich erstellt wurde.

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

5. Experimentieren Sie mit der Anzahl der Parallelarbeiter

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

Beachten Sie, an welchem Punkt die Testabschlusszeit nicht mehr reduziert wird, wenn Sie weitere Mitarbeiter 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 Mitarbeiter pro Arbeitsbereich auf 50 beschränkt . Sie können eine Erhöhung dieses Grenzwerts für Ihren Arbeitsbereich anfordern.

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 Mitarbeiter.

7. Aktualisieren Ihrer Playwright-Testkonfigurationseinstellungen

Konfigurieren Sie Ihre Playwright-Testkonfigurationseinstellungen, z. B. Testtimeouts, Ablaufverfolgungseinstellungen oder Wiederholungen.