📋 محتويات الصفحة
📖 الوصف
Playwright هو إطار اختبار End-to-End مفتوح المصدر من Microsoft، يدعم Chromium، Firefox، و WebKit. يمكن تشغيل نفس الكود على جميع المتصفحات مع دعم كامل لمحاكاة الأجهزة المتنقلة. يدعم Playwright: Auto-wait، Network interception، Multiple pages/tabs/iframes، Parallel execution، و Codegen لتوليد الاختبا...
🎯 يستخدم في
مجالات استخدام هذه الأداة
End-to-End Testing
Cross-browser Testing
Mobile Device Testing
Integration Testing
CI/CD Testing
✨ المميزات
أبرز مميزات هذه الأداة
Easy Multi-browser
Easy Mobile Emulation
Easy Auto-wait
easy Network interception
easy Parallel execution
easy Trace Viewer
easy Codegen
⚠️ العيوب
نقاط يجب مراعاتها
قد يكون معقداً للمبتدئين
حجم الحزمة كبير
محدود في دعم المتصفحات القديمة
يحتاج موارد أكبر
💻 مثال على الاستخدام
كيفية استخدام هذه الأداة
// tests/login.spec.ts
import { test, expect } from '@playwright/test'
test.describe('Login', () => {
test('should login successfully', async ({ page }) => {
await page.goto('http://localhost:3000/login')
await page.fill('[data-testid="email"]', 'john@example.com')
await page.fill('[data-testid="password"]', 'password123')
await page.click('[data-testid="submit"]')
await expect(page).toHaveURL('**/dashboard')
await expect(page.getByText('Welcome, John')).toBeVisible()
})
test('should show error on invalid login', async ({ page }) => {
await page.goto('http://localhost:3000/login')
await page.fill('[data-testid="email"]', 'invalid@example.com')
await page.fill('[data-testid="password"]', 'wrong')
await page.click('[data-testid="submit"]')
await expect(page.getByTestId('error-message')).toContainText('Invalid')
})
})
📚 أدوات أخرى في Testing
قد يعجبك أيضاً