Playwright MCP ile Oturum Açmış Halde Test Etme
Web uygulamalarınızı kapsamlı bir şekilde test etmek mi istiyorsunuz? Oturum açmış kullanıcı deneyimini doğrulamak, güvenlik açıklarını tespit etmek ve uygulamanızın beklendiği gibi çalıştığından emin olmak için Playwright ve MCP Browser Extension'ın gücünden yararlanın. Bu makale, oturum açmış halde test etmenin inceliklerini adım adım açıklayacak, gerçek dünya senaryolarını inceleyecek ve ileri düzey teknikleri paylaşacaktır.
Playwright ve MCP Browser Extension'ı Anlamak
Playwright, güçlü ve çok platformlu bir otomasyon kütüphanesi olup, web uygulamalarınızı tarayıcıda otomatik olarak test etmenizi sağlar. MCP (Multiple Chrome Profiles) Browser Extension ise, farklı kullanıcı profilleri ve oturumlar altında çalışmanıza olanak tanır. Bu ikili, oturum açmış halde test etme senaryolarını kolaylaştırır ve farklı kullanıcı rollerini doğrulamanızı mümkün kılar. Örneğin, bir yönetici hesabı ile bir müşteri hesabını ayrı ayrı test edebilirsiniz. Bu sayede, farklı erişim seviyelerinin doğru bir şekilde uygulandığından emin olursunuz. Ayrıca, her kullanıcı profilinin farklı ayarlara, çerezlere ve oturum bilgilerine sahip olmasını sağlayarak daha gerçekçi bir test ortamı oluşturabilirsiniz. Playwright'ın hızlı ve güvenilir yapısıyla birleştiğinde, MCP, test otomasyon sürecini büyük ölçüde iyileştirir.
Playwright Kurulumu ve MCP Entegrasyonu
Öncelikle, sisteminize Node.js ve npm'nin kurulu olduğundan emin olun. Ardından, Playwright'ı global olarak kurun:
npm install -g playwright
Sonrasında, projenize Playwright'ı ekleyin:
npm install playwright
MCP Browser Extension'ı Chrome veya Chromium tabanlı tarayıcınıza yükleyin. Extension'ı kurduktan sonra, farklı profiller oluşturabilir ve Playwright ile bunları yönetebilirsiniz. Bu noktada, her profilin farklı bir kullanıcı hesabıyla ilişkilendirildiğinden emin olmak önemlidir. Bu, gerçekçi test senaryoları oluşturmanızı ve farklı kullanıcı rollerini doğrulamanızı sağlayacaktır. Playwright'ın profil yönetimi özellikleri ile MCP'yi entegre ederek, testlerinizi daha organize ve tekrarlanabilir hale getirebilirsiniz.
Oturum Açma İşleminin Otomasyonu: Adım Adım
Şimdi, Playwright kullanarak oturum açma işlemini otomatikleştirelim. Aşağıdaki örnek, bir kullanıcı adı ve şifre kullanarak bir web sitesine giriş yapmayı göstermektedir:
const { chromium } = require('playwright');
async function login() {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://www.örneksite.com/login'); // Sitenizin giriş URL'sini girin
await page.fill('#username', 'kullanici_adi'); // Kullanıcı adı alanını doldurun
await page.fill('#password', 'sifre'); // Şifre alanını doldurun
await page.click('#login_button'); // Giriş butonuna tıklayın
// Giriş başarılıysa, devam eden işlemler burada gerçekleştirilir.
await browser.close();
}
login();
Bu örnekte, #username ve #password gibi seçiciler, sitenizin giriş formunun elemanlarını temsil eder. Sizin siteniz için doğru seçicileri kullanmanız gerekecektir. Ayrıca, giriş işlemini doğrulamak için ek kontroller ekleyebilirsiniz (örneğin, giriş sonrası belirli bir sayfanın yüklendiğini doğrulayın).
Gerçek Dünya Senaryoları: Vaka Analizleri
İşte birkaç gerçek dünya senaryosu ve bunların Playwright ve MCP ile nasıl test edilebileceği:
- E-ticaret Sitesi: Bir e-ticaret sitesinin farklı kullanıcı profilleri (müşteri, yönetici) ile test edilmesi. Yönetici paneline erişim kontrolünün doğru çalışıp çalışmadığını, müşteri siparişlerinin doğru bir şekilde işlendiğini ve ödeme sisteminin güvenli çalıştığını doğrulayabilirsiniz.
- Sosyal Medya Platformu: Bir sosyal medya platformunda farklı kullanıcı rolleri (kullanıcı, moderatör, yönetici) ile test edilmesi. Paylaşım, yorumlama, mesajlaşma gibi işlemlerin doğru çalıştığını ve erişim kontrolünün doğru uygulandığını doğrulayabilirsiniz.
- İçerik Yönetim Sistemi (CMS): Bir CMS'nin farklı kullanıcı rolleri (yazar, editör, yönetici) ile test edilmesi. İçerik ekleme, düzenleme, silme gibi işlemlerin doğru çalıştığını ve erişim kontrolünün doğru uygulandığını doğrulayabilirsiniz.
Bu senaryolarda, MCP Browser Extension sayesinde farklı kullanıcı profillerini kolayca yönetebilir ve Playwright ile otomatik testler çalıştırabilirsiniz. Her bir senaryo için özel test senaryoları geliştirmek ve bunları sürekli entegrasyon/sürekli dağıtım (CI/CD) süreçlerinize entegre etmek önemlidir.
İleri Düzey Teknikler: Beklemeler, Hata Yönetimi ve Paralel Testler
Daha karmaşık senaryolarda, bekleme mekanizmaları ve hata yönetimi çok önemlidir. Sayfanın tamamen yüklenmesini beklemek için page.waitForLoadState() veya özel seçiciler için page.waitForSelector() gibi fonksiyonları kullanabilirsiniz. Hataları yakalamak ve raporlamak için try...catch bloklarını kullanın. Ayrıca, paralel testler ile test sürenizi önemli ölçüde kısaltabilirsiniz. Playwright'ın Promise.all ile birden fazla testi aynı anda çalıştırma yeteneği sayesinde zamandan tasarruf edebilirsiniz. Daha fazla bilgi için (https://fatihsoysal.com) inceleyebilirsiniz.
try {
// Test kodları
} catch (error) {
console.error('Hata oluştu:', error);
}
Performans Karşılaştırmaları
| Yöntem | Hız | Karmaşıklık |
|---|---|---|
| Manuel Test | Yavaş | Yüksek |
| Playwright (Tek Profil) | Orta | Orta |
| Playwright + MCP (Paralel Testler) | Hızlı | Orta |
Öğrenme Yol Haritası
Yeni Başlayan:
- Playwright ve Node.js kurulumu
- Temel Playwright komutları (
goto,click,fill) - Basit bir oturum açma senaryosu oluşturma
Orta Seviye:
- MCP Browser Extension entegrasyonu
- Farklı kullanıcı profilleri ile testler oluşturma
- Beklemeler ve hata yönetimi
İleri Seviye:
- Paralel testler
- Raporlama ve test sonuçlarının analizi
- CI/CD entegrasyonu
Sonuç
Playwright ve MCP Browser Extension, oturum açmış halde test etmeyi kolaylaştırır ve daha kapsamlı, güvenilir testler oluşturmanıza olanak tanır. Bu rehberdeki adımları izleyerek, web uygulamalarınızın kalitesini artırabilir ve kullanıcı deneyimini iyileştirebilirsiniz.
Sıkça Sorulan Sorular
- MCP Browser Extension'ı nereden indirebilirim? Chrome Web Store'dan indirebilirsiniz.
- Playwright hangi tarayıcıları destekliyor? Chromium, Firefox ve WebKit'i destekliyor.
- Paralel testler nasıl yapılır? Playwright'ın
Promise.allfonksiyonu ile birden fazla testi aynı anda çalıştırabilirsiniz. - Test sonuçlarını nasıl raporlayabilirim? Playwright, test sonuçlarını konsolda veya özel raporlama araçları ile görüntüleyebilir.
- Güvenlik açıklarını nasıl tespit edebilirim? Oturum açmış halde yapılan testler, güvenlik açıklarını tespit etmenize yardımcı olabilir. Örneğin, yetkisiz erişim denetimlerini doğrulayabilirsiniz.
Yazar: Fatih Soysal