Skip to main content Skills Marketplace Descubra e explore skills de IA criadas pela comunidade.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Copiar promptMostrar detalhes do prompt Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
npx skills add https://github.com/BEKO2210/Firstbrain --skill playwright-tsO comando permanece em uma só linha. Role horizontalmente para revisá-lo antes de copiar.
Prefere uma cópia local? Baixe os arquivos disponíveis atualmente no SkillsMP.
Baixar Zip Baixando... Ocupações relacionadas SOC
Baseado na classificação ocupacional SOC
name azure-microsoft-playwright-testing-ts description Run Playwright tests at scale with cloud-hosted browsers and integrated Azure portal reporting. type skill created 2026-02-27T00:00:00.000Z domain software-development category testing risk unknown source community tags ["skill","software-development","testing","azure","microsoft","playwright"]
Azure Playwright Workspaces SDK for TypeScript
Run Playwright tests at scale with cloud-hosted browsers and integrated Azure portal reporting.
Migration Notice: @azure/microsoft-playwright-testing is retired on March 8, 2026 . Use @azure/playwright instead. See migration guide .
Installation
npm init @azure/playwright@latest
npm install @azure/playwright --save-dev
npm install @playwright/test@^1.47 --save-dev
npm install @azure/identity --save-dev
Requirements:
Playwright version 1.47+ (basic usage)
Playwright version 1.57+ (Azure reporter features)
Environment Variables
PLAYWRIGHT_SERVICE_URL=wss://eastus.api.playwright.microsoft.com/playwrightworkspaces/{workspace-id}/browsers
Authentication
Microsoft Entra ID (Recommended)
az login
import { defineConfig } from "@playwright/test" ;
import { createAzurePlaywrightConfig, ServiceOS } from "@azure/playwright" ;
import { DefaultAzureCredential } from "@azure/identity" ;
import config from "./playwright.config" ;
export default defineConfig (
config,
createAzurePlaywrightConfig (config, {
os : ServiceOS .LINUX ,
credential : (),
})
);
new
DefaultAzureCredential
Custom Credential import { ManagedIdentityCredential } from "@azure/identity" ;
import { createAzurePlaywrightConfig } from "@azure/playwright" ;
export default defineConfig (
config,
createAzurePlaywrightConfig (config, {
credential : new ManagedIdentityCredential (),
})
);
Core Workflow
Service Configuration
import { defineConfig } from "@playwright/test" ;
import { createAzurePlaywrightConfig, ServiceOS } from "@azure/playwright" ;
import { DefaultAzureCredential } from "@azure/identity" ;
import config from "./playwright.config" ;
export default defineConfig (
config,
createAzurePlaywrightConfig (config, {
os : ServiceOS .LINUX ,
connectTimeout : 30000 ,
exposeNetwork : "<loopback>" ,
credential : new DefaultAzureCredential (),
})
);
Run Tests npx playwright test --config=playwright.service.config.ts --workers=20
With Azure Reporter import { defineConfig } from "@playwright/test" ;
import { createAzurePlaywrightConfig, ServiceOS } from "@azure/playwright" ;
import { DefaultAzureCredential } from "@azure/identity" ;
import config from "./playwright.config" ;
export default defineConfig (
config,
createAzurePlaywrightConfig (config, {
os : ServiceOS .LINUX ,
credential : new DefaultAzureCredential (),
}),
{
reporter : [
["html" , { open : "never" }],
["@azure/playwright/reporter" ],
],
}
);
Manual Browser Connection import playwright, { test, expect, BrowserType } from "@playwright/test" ;
import { getConnectOptions } from "@azure/playwright" ;
test ("manual connection" , async ({ browserName }) => {
const { wsEndpoint, options } = await getConnectOptions ();
const browser = await (playwright[browserName] as BrowserType ).connect (wsEndpoint, options);
const context = await browser.newContext ();
const page = await context.newPage ();
await page.goto ("https://example.com" );
await expect (page).toHaveTitle (/Example/ );
await browser.close ();
});
Configuration Options type PlaywrightServiceAdditionalOptions = {
serviceAuthType ?: "ENTRA_ID" | "ACCESS_TOKEN" ;
os ?: "linux" | "windows" ;
runName ?: string ;
connectTimeout ?: number ;
exposeNetwork ?: string ;
credential ?: TokenCredential ;
};
ServiceOS Enum import { ServiceOS } from "@azure/playwright" ;
ServiceOS .LINUX
ServiceOS .WINDOWS
ServiceAuth Enum import { ServiceAuth } from "@azure/playwright" ;
ServiceAuth .ENTRA_ID
ServiceAuth .ACCESS_TOKEN
CI/CD Integration
GitHub Actions name: playwright-ts
on: [push , pull_request ]
permissions:
id-token: write
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- run: npm ci
- name: Run Tests
env:
PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }}
run: npx playwright test -c playwright.service.config.ts --workers=20
Azure Pipelines - task: AzureCLI@2
displayName: Run Playwright Tests
env:
PLAYWRIGHT_SERVICE_URL: $(PLAYWRIGHT_SERVICE_URL)
inputs:
azureSubscription: My_Service_Connection
scriptType: pscore
inlineScript: |
npx playwright test -c playwright.service.config.ts --workers=20
addSpnToEnvironment: true
Key Types import {
createAzurePlaywrightConfig,
getConnectOptions,
ServiceOS ,
ServiceAuth ,
ServiceEnvironmentVariable ,
} from "@azure/playwright" ;
import type {
OsType ,
AuthenticationType ,
BrowserConnectOptions ,
PlaywrightServiceAdditionalOptions ,
} from "@azure/playwright" ;
Migration from Old Package Old (@azure/microsoft-playwright-testing) New (@azure/playwright) getServiceConfig()createAzurePlaywrightConfig()timeout optionconnectTimeout optionrunId optionrunName optionuseCloudHostedBrowsers optionRemoved (always enabled) @azure/microsoft-playwright-testing/reporter@azure/playwright/reporterImplicit credential Explicit credential parameter
Before (Old) import { getServiceConfig, ServiceOS } from "@azure/microsoft-playwright-testing" ;
export default defineConfig (
config,
getServiceConfig (config, {
os : ServiceOS .LINUX ,
timeout : 30000 ,
useCloudHostedBrowsers : true ,
}),
{
reporter : [["@azure/microsoft-playwright-testing/reporter" ]],
}
);
After (New) import { createAzurePlaywrightConfig, ServiceOS } from "@azure/playwright" ;
import { DefaultAzureCredential } from "@azure/identity" ;
export default defineConfig (
config,
createAzurePlaywrightConfig (config, {
os : ServiceOS .LINUX ,
connectTimeout : 30000 ,
credential : new DefaultAzureCredential (),
}),
{
reporter : [
["html" , { open : "never" }],
["@azure/playwright/reporter" ],
],
}
);
Best Practices
Use Entra ID auth — More secure than access tokens
Provide explicit credential — Always pass credential: new DefaultAzureCredential()
Enable artifacts — Set trace: "on-first-retry", video: "retain-on-failure" in config
Scale workers — Use --workers=20 or higher for parallel execution
Region selection — Choose region closest to your test targets
HTML reporter first — When using Azure reporter, list HTML reporter before Azure reporter
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Software Entwicklung]]
Kategorie: [[Testing & Qualitaet]]
Navigation: [[Skills Uebersicht]], [[Home]]