Szybki start: konfigurowanie ciągłego kompleksowego testowania przy użyciu usługi Microsoft Playwright Testing Preview
W tym przewodniku Szybki start skonfigurujesz ciągłe kompleksowe testowanie za pomocą programu Microsoft Playwright Testing Preview, aby sprawdzić, czy aplikacja internetowa działa prawidłowo w różnych przeglądarkach i systemach operacyjnych z każdym zatwierdzeniem kodu. Dowiedz się, jak dodać testy playwright do przepływu pracy ciągłej integracji, takiego jak GitHub Actions, Azure Pipelines lub inne platformy ciągłej integracji.
Po ukończeniu tego przewodnika Szybki start będziesz mieć przepływ pracy ciągłej integracji, który uruchamia pakiet testowy Playwright na dużą skalę za pomocą testowania dramaturgów firmy Microsoft.
Ważne
Microsoft Playwright Testing jest obecnie w wersji zapoznawczej. Aby uzyskać postanowienia prawne dotyczące funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej, zobacz Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Obszar roboczy Testowania dramaturgów firmy Microsoft. Ukończ przewodnik Szybki start: uruchom testy playwright na dużą skalę , aby utworzyć obszar roboczy.
- Konto usługi GitHub. Jeśli nie masz konta usługi GitHub, możesz go utworzyć bezpłatnie.
- Repozytorium GitHub zawierające specyfikacje testu playwright i przepływ pracy funkcji GitHub Actions. Aby utworzyć repozytorium, zobacz Tworzenie nowego repozytorium.
- Przepływ pracy funkcji GitHub Actions. Jeśli potrzebujesz pomocy dotyczącej rozpoczynania pracy z funkcją GitHub Actions, zobacz Tworzenie pierwszego przepływu pracy
Konfigurowanie tokenu dostępu do usługi
Microsoft Playwright Testing używa tokenów dostępu do autoryzowania użytkowników do uruchamiania testów dramaturgów z usługą. Token dostępu usługi można wygenerować w portalu Playwright, a następnie określić token dostępu w pliku konfiguracji usługi.
Aby wygenerować token dostępu i zapisać go jako wpis tajny przepływu pracy ciągłej integracji, wykonaj następujące kroki:
Zaloguj się do portalu Playwright przy użyciu konta platformy Azure.
Wybierz ikonę ustawień obszaru roboczego, a następnie przejdź do strony Tokeny dostępu.
Wybierz pozycję Generuj nowy token, aby utworzyć nowy token dostępu dla przepływu pracy ciągłej integracji.
Wprowadź szczegóły tokenu dostępu, a następnie wybierz pozycję Generuj token.
Zapisz token dostępu w kluczu tajnym przepływu pracy ciągłej integracji, aby uniknąć określania tokenu w postaci zwykłego tekstu w definicji przepływu pracy:
Przejdź do repozytorium GitHub i wybierz pozycję Ustawienia> Secrets i zmienne>Actions.
Wybierz pozycję Nowy wpis tajny repozytorium.
Wprowadź szczegóły wpisu tajnego, a następnie wybierz pozycję Dodaj wpis tajny , aby utworzyć wpis tajny ciągłej integracji/ciągłego wdrażania.
Parametr Wartość Nazwa/nazwisko PLAYWRIGHT_SERVICE_ACCESS_TOKEN Wartość Wklej skopiowany wcześniej token dostępu obszaru roboczego. Wybierz przycisk OK , aby utworzyć wpis tajny przepływu pracy.
Uzyskiwanie adresu URL punktu końcowego regionu usługi
W konfiguracji usługi należy podać punkt końcowy usługi specyficzny dla regionu. Punkt końcowy zależy od regionu świadczenia usługi Azure wybranego podczas tworzenia obszaru roboczego.
Aby uzyskać adres URL punktu końcowego usługi i zapisać go jako wpis tajny przepływu pracy ciągłej integracji, wykonaj następujące kroki:
Zaloguj się do portalu Playwright przy użyciu konta platformy Azure.
Na stronie głównej obszaru roboczego wybierz pozycję Wyświetl przewodnik konfiguracji.
Napiwek
Jeśli masz wiele obszarów roboczych, możesz przełączyć się do innego obszaru roboczego, wybierając nazwę obszaru roboczego w górnej części strony, a następnie wybierz pozycję Zarządzaj wszystkimi obszarami roboczymi.
W obszarze Dodawanie punktu końcowego regionu w konfiguracji skopiuj adres URL punktu końcowego usługi.
Adres URL punktu końcowego jest zgodny z regionem świadczenia usługi Azure wybranym podczas tworzenia obszaru roboczego.
Zapisz adres URL punktu końcowego usługi w kluczu tajnym przepływu pracy ciągłej integracji:
Nazwa wpisu tajnego Wartość PLAYWRIGHT_SERVICE_URL Wklej skopiowany wcześniej adres URL punktu końcowego.
Dodawanie pliku konfiguracji usługi
Jeśli nie skonfigurowano jeszcze testów playwright do uruchamiania ich w przeglądarkach hostowanych w chmurze, dodaj plik konfiguracji usługi do repozytorium. W następnym kroku określ ten plik konfiguracji usługi w interfejsie wiersza polecenia playwright.
Utwórz nowy plik
playwright.service.config.ts
obokplaywright.config.ts
pliku.Opcjonalnie użyj
playwright.service.config.ts
pliku w przykładowym repozytorium.Dodaj do niego następującą zawartość:
/* * This file enables Playwright client to connect to remote browsers. * It should be placed in the same directory as playwright.config.ts. */ import { defineConfig } from '@playwright/test'; import config from './playwright.config'; import dotenv from 'dotenv'; // Define environment on the dev box in .env file: // .env: // PLAYWRIGHT_SERVICE_ACCESS_TOKEN=XXX // PLAYWRIGHT_SERVICE_URL=XXX // Define environment in your GitHub workflow spec. // env: // PLAYWRIGHT_SERVICE_ACCESS_TOKEN: ${{ secrets.PLAYWRIGHT_SERVICE_ACCESS_TOKEN }} // PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} // PLAYWRIGHT_SERVICE_RUN_ID: ${{ github.run_id }}-${{ github.run_attempt }}-${{ github.sha }} dotenv.config(); // Name the test run if it's not named yet. process.env.PLAYWRIGHT_SERVICE_RUN_ID = process.env.PLAYWRIGHT_SERVICE_RUN_ID || new Date().toISOString(); // Can be 'linux' or 'windows'. const os = process.env.PLAYWRIGHT_SERVICE_OS || 'linux'; export default defineConfig(config, { // Define more generous timeout for the service operation if necessary. // timeout: 60000, // expect: { // timeout: 10000, // }, workers: 20, // Enable screenshot testing and configure directory with expectations. // https://learn.microsoft.com/azure/playwright-testing/how-to-configure-visual-comparisons ignoreSnapshots: false, snapshotPathTemplate: `{testDir}/__screenshots__/{testFilePath}/${os}/{arg}{ext}`, use: { // Specify the service endpoint. connectOptions: { wsEndpoint: `${process.env.PLAYWRIGHT_SERVICE_URL}?cap=${JSON.stringify({ // Can be 'linux' or 'windows'. os, runId: process.env.PLAYWRIGHT_SERVICE_RUN_ID })}`, timeout: 30000, headers: { 'x-mpt-access-key': process.env.PLAYWRIGHT_SERVICE_ACCESS_TOKEN! }, // Allow service to access the localhost. exposeNetwork: '<loopback>' } }, // Tenmp workaround for config merge bug in OSS https://github.com/microsoft/playwright/pull/28224 projects: config.projects? config.projects : [{}] });
Zapisz i zatwierdź plik w repozytorium kodu źródłowego.
Aktualizowanie definicji przepływu pracy
Zaktualizuj definicję przepływu pracy ciągłej integracji, aby uruchomić testy playwright za pomocą interfejsu wiersza polecenia playwright. Przekaż plik konfiguracji usługi jako parametr wejściowy dla interfejsu wiersza polecenia programu Playwright. Środowisko można skonfigurować, określając zmienne środowiskowe.
Otwieranie definicji przepływu pracy ciągłej integracji
Dodaj następujące kroki, aby uruchomić testy dramaturgu w narzędziu Microsoft Playwright Testing.
W poniższych krokach opisano zmiany przepływu pracy dla funkcji GitHub Actions lub usługi Azure Pipelines. Podobnie możesz uruchomić testy playwright przy użyciu interfejsu wiersza polecenia Playwright na innych platformach ciągłej integracji.
- 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: # Access token and regional endpoint for Microsoft Playwright Testing PLAYWRIGHT_SERVICE_ACCESS_TOKEN: ${{ secrets.PLAYWRIGHT_SERVICE_ACCESS_TOKEN }} PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} PLAYWRIGHT_SERVICE_RUN_ID: ${{ github.run_id }}-${{ github.run_attempt }}-${{ github.sha }} run: npx playwright test -c playwright.service.config.ts --workers=20 - name: Upload Playwright report uses: actions/upload-artifact@v3 if: always() with: name: playwright-report path: path/to/playwright/folder/playwright-report/ # update accordingly retention-days: 10
Zapisz i zatwierdź zmiany.
Po wyzwoleniu przepływu pracy ciągłej integracji testy dramaturgu będą uruchamiane w obszarze roboczym Testowanie w programie Microsoft Playwright w przeglądarkach hostowanych w chmurze w 20 równoległych procesach roboczych.
Uwaga
W przypadku testowania playwright firmy Microsoft opłaty są naliczane na podstawie łącznej liczby minut testu. Jeśli jesteś użytkownikiem po raz pierwszy lub rozpoczynasz pracę z bezpłatną wersją próbną, możesz zacząć od uruchomienia pojedynczego testu na dużą skalę zamiast pełnego zestawu testów, aby uniknąć wyczerpania bezpłatnych minut testu.
Po sprawdzeniu, czy przebieg testu przebiegnie pomyślnie, możesz stopniowo zwiększyć obciążenie testowe, uruchamiając więcej testów w usłudze.
Możesz uruchomić pojedynczy test z usługą przy użyciu następującego wiersza polecenia:
npx playwright test {name-of-file.spec.ts} --config=playwright.service.config.ts
Włączanie raportowania wyników testów
Testowanie w programie Microsoft Playwright obsługuje teraz wyświetlanie wyników testów w portalu Playwright. Dostęp w wersji zapoznawczej jest dostępny tylko przez zaproszenie.
Ważne
Funkcja raportowania usługi Microsoft Playwright Testing jest bezpłatna podczas korzystania z wersji zapoznawczej tylko do zapraszania. Jednak istniejące funkcje przeglądarek hostowanych w chmurze nadal rozliczają się zgodnie z planem cenowym platformy Azure.
Po uzyskaniu dostępu do narzędzia do raportowania wykonaj następujące kroki, aby skonfigurować testy.
Na stronie głównej obszaru roboczego przejdź do Ustawienia.
W Ustawienia wybierz pozycję Ogólne i upewnij się, że raportowanie jest włączone.
Utwórz osobisty token dostępu usługi GitHub, wykonując następujące kroki.
Musisz podać
read:packages
uprawnienia do tokenu. Ten token jest określany jakoPAT_TOKEN_PACKAGE
w pozostałej części tego artykułu.Zapisz token usługi GitHub w kluczu tajnym przepływu pracy ciągłej integracji, aby uniknąć określania tokenu w postaci zwykłego tekstu w definicji przepływu pracy:
Przejdź do repozytorium GitHub i wybierz pozycję Ustawienia> Secrets i zmienne>Actions.
Wybierz pozycję Nowy wpis tajny repozytorium.
Wprowadź szczegóły wpisu tajnego, a następnie wybierz pozycję Dodaj wpis tajny , aby utworzyć wpis tajny ciągłej integracji/ciągłego wdrażania.
Parametr Wartość Nazwa/nazwisko PAT_TOKEN_PACKAGE Wartość Wklej skopiowany wcześniej token dostępu obszaru roboczego. Wybierz przycisk OK , aby utworzyć wpis tajny przepływu pracy.
Zaktualizuj plik package.json przy użyciu pakietu.
"dependencies": { "@microsoft/mpt-reporter": "0.1.0-22052024-private-preview" }
Zaktualizuj plik konfiguracji playwrighta.
Dodaj reportera Playwright Testing w
Playwright.config.ts
taki sam sposób, jak w przypadku innych reporterów.import { defineConfig } from '@playwright/test'; export default defineConfig({ reporter: [ ['list'], ['json', { outputFile: 'test-results.json' }], ['@microsoft/mpt-reporter'] // Microsoft Playwright Testing reporter ], });
Upewnij się, że artefakty są włączone w konfiguracji, aby lepiej rozwiązać problemy.
use: { // ... trace: 'on-first-retry', video:'retain-on-failure', screenshot:'only-on-failure', }
Zaktualizuj definicję przepływu pracy ciągłej integracji, aby zainstalować pakiet raportowania przed uruchomieniem testów, aby opublikować raport testów playwright w testach programu Microsoft Playwright.
- name: Install reporting package working-directory: path/to/playwright/folder # update accordingly run: | npm config set @microsoft:registry=https://npm.pkg.github.com npm set //npm.pkg.github.com/:_authToken ${{secrets.PAT_TOKEN_PACKAGE}} npm install - name: Run Playwright tests working-directory: path/to/playwright/folder # update accordingly env: # Access token and regional endpoint for Microsoft Playwright Testing PLAYWRIGHT_SERVICE_ACCESS_TOKEN: ${{ secrets.PLAYWRIGHT_SERVICE_ACCESS_TOKEN }} PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} PLAYWRIGHT_SERVICE_RUN_ID: ${{ github.run_id }}-${{ github.run_attempt }}-${{ github.sha }} run: npx playwright test
Napiwek
Usługa Microsoft Playwright Testing umożliwia publikowanie wyników testów w portalu niezależnie od funkcji przeglądarek hostowanych w chmurze.
Powiązana zawartość
Pomyślnie skonfigurowano ciągły przepływ pracy kompleksowego testowania w celu uruchamiania testów playwright na dużą skalę w przeglądarkach hostowanych w chmurze.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla