Playwright ile Otomasyon Testi Nasıl Yapılır

Ashley Goolam

Ashley Goolam

9 December 2025

Playwright ile Otomasyon Testi Nasıl Yapılır

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Satışa Başvurun

Son zamanlarda otomasyon testi alanını keşfediyorsanız, muhtemelen insanların Playwright'ı övgüyle bahsettiğini duymuşsunuzdur. Belki de tüm bu heyecanın ne hakkında olduğunu merak ediyorsunuzdur veya nereden başlayacağınızı bulmaya çalışıyorsunuzdur. Endişelenmeyin çünkü yalnız değilsiniz ve doğru yere geldiniz.

Bu rehber, otomasyon testi için Playwright hakkında bilmeniz gereken her şeyi, en temel bilgilerden başarıya ulaşmanızı sağlayacak kanıtlanmış en iyi uygulamalara kadar size açıklayacaktır. Otomasyona dalmak isteyen bir manuel test uzmanı, iş akışınıza güvenilir testler eklemek isteyen bir geliştirici veya modern test araçlarını merak eden biri olmanız fark etmez, bunu gerçekten anlamlı olacak bir şekilde açıklayacağız.

Düğme

Playwright Nedir ve Neden Önemsemelisiniz?

Playwright, Microsoft tarafından geliştirilen ve sorunsuz çalışan açık kaynaklı bir otomasyon testi framework'üdür. Düğmelere tıklama, formları doldurma ve davranışları doğrulama gibi işlemleri programatik olarak, alışıldık baş ağrıları olmadan tarayıcıları kontrol etmenizi sağlar. Kırılgan ve yavaş hissettiren eski araçların aksine, Playwright modern web uygulamalarını zarifçe yönetir, elemanları akıllıca bekler ve Chrome, Firefox ve Safari'de aynı kodla testleri çalıştırır. Zamanınızı boşa harcamayacak güvenilir testler istiyorsanız, Playwright dikkatinizi hak ediyor.

playwright

Otomasyon Testi İçin Neden Playwright'ı Seçmelisiniz?

Ekipler, somut avantajlar sağladığı için otomasyon testi için Playwright'ı benimser:

  1. Gerçek Tarayıcılar Arası Test: Bir kez yazın, her yerde çalıştırın. Chrome, Firefox, Safari, Edge—hepsi doğal olarak desteklenir.
  2. Olağanüstü Hız: Varsayılan olarak paralel yürütme, bir zamanlar saatler süren test paketlerinin artık dakikalar içinde tamamlanması anlamına gelir.
  3. Modern Uygulamalar İçin Tasarlandı: SPA'lar, shadow DOM, dinamik içerik—Playwright, günümüzün webini geçici çözümler olmadan ele alır.
  4. Akıllı Güvenilirlik: Otomatik bekleme, dalgalı testleri ortadan kaldırır. Rastgele uyku zamanlayıcıları serpmeye gerek yok.
  5. Zahmetsiz Hata Ayıklama: Ayrıntılı izler, ekran görüntüleri ve videolar, başarısızlıklar meydana geldiğinde neyin yanlış gittiğini tam olarak gösterir.

İlk Playwright Testinizi Kurma

a. Manuel Kurulum

Playwright ile başlamak şaşırtıcı derecede basittir. Karmaşık yapılandırmalar veya gizemli kurulum ritüelleri ile uğraşmanıza gerek yok.

Öncelikle, makinenizde Node.js kurulu olması gerekir. Bu hazır olduğunda, yeni bir proje dizini oluşturun ve şunu çalıştırın:

npm init playwright@latest

Bu komut sizi basit bir kurulum sürecinde yönlendirir. Hangi tarayıcılarda test yapmak istediğinizi (profesyonel ipucu: maksimum kapsama için üçüyle başlayın) ve bir GitHub Actions iş akışı eklemek isteyip istemediğinizi sorar. Tüm kurulum yaklaşık iki dakika sürer.

Tamamlandığında, şunları içeren bir proje yapınız olacaktır:

varsayılan playwright test klasörü ve yapılandırma dosyası
varsayılan test dosyası

b. VS Code ve Cursor ile Sorunsuz IDE Entegrasyonu

VS Code veya Cursor kullanıyorsanız, Playwright ile başlamak daha da sorunsuz hale gelir. Resmi Playwright uzantısı size tek tıklamayla test kaydı, hata ayıklama ve yürütme imkanı sunar, hem de doğrudan düzenleyicinizde.

vs code ve cursor için playwright

Pazaryerinden yükleyin, ve tahmini ortadan kaldıran "Yeni test kaydet" ve "Konumlandırıcı seç" komutlarını göreceksiniz.

playwright vs code uzantısını kullanın

Daha derin proje entegrasyonu için, Cursor kullanıcıları Playwright MCP (Model Bağlam Protokolü) sunucusunu kullanarak doğal dil aracılığıyla test oluşturmayı ve proje kurulumunu otomatikleştirebilir. İşte iş akışınızı kolaylaştıran bir yapılandırma:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": {
        "PW_TEST_DIR": "./tests",
        "PW_CONFIG_PATH": "./playwright.config.js"
      }
    }
  }
}

Bu yapılandırma ile Cursor'dan "sayfa nesne modelini kullanarak bir giriş testi oluşturmasını" veya "ödeme akışına erişilebilirlik kontrolleri eklemesini" isteyebilirsiniz, ve bu, projenizin kurallarına uygun, düzgün yapılandırılmış test dosyaları oluşturacaktır. MCP sunucusu mevcut kod tabanınızı anlar, bu da yeni ekip üyelerini dahil etmeyi ve test standartlarını korumayı neredeyse zahmetsiz hale getirir.

İlk Test Betiğinizi Yazma

Hadi pratik bir şeyler oluşturalım. Uygulamanız için bir oturum açma sayfasını test ettiğinizi hayal edin. İşte bu testi nasıl yazabileceğiniz:

const { test, expect } = require('@playwright/test');

test('successful login flow', async ({ page }) => {
  await page.goto('https://your-app.com/login');
  
  await page.locator('data-testid=username').fill('testuser');
  await page.locator('data-testid=password').fill('securepassword');
  await page.locator('button:has-text("Login")').click();
  
  await expect(page.locator('h1')).toContainText('Dashboard');
  await expect(page).toHaveURL('**/dashboard');
});

Bunun ne kadar okunabilir olduğunu fark ettiniz mi? Kod neredeyse bir hikaye anlatıyor: giriş sayfasına gidin, kimlik bilgilerini doldurun, düğmeye tıklayın ve doğru yere geldiğinizi doğrulayın. Otomasyon testi için Playwright'ın güzelliği de budur—yolunuzdan çekilir ve nasıl test edeceğinize değil, neyi test ettiğinize odaklanmanızı sağlar.

En iyi uygulama ipucu: Anlamlı test adları kullanın ve öğelerinize data-testid nitelikleri ekleyin. Bu, testlerinizi UI değişikliklerine karşı daha dirençli hale getirir ve ekibinizin anlamasını kolaylaştırır.

Başarı İçin Temel Özellikler ve En İyi Uygulamalar

Temel bilgileri edindiğinize göre, Playwright'ı otomasyon testi için kullanırken amatörleri profesyonellerden ayıran en iyi uygulamalardan bahsedelim.

1. Sayfa Nesne Modelini Kullanın

Test paketiniz büyüdükçe, kodu düzgün bir şekilde düzenlediğiniz için kendinize teşekkür edeceksiniz. Sayfa Nesne Modeli (POM) deseni, uygulamanızın sayfalarını veya bölümlerini temsil eden yeniden kullanılabilir bileşenler oluşturmanıza yardımcı olur. Testleriniz boyunca konumlandırıcı stratejilerini tekrarlamak yerine, bunları bir sayfa nesnesinde bir kez tanımlarsınız.

class LoginPage {
  constructor(page) {
    this.page = page;
    this.usernameInput = page.locator('data-testid=username');
    this.passwordInput = page.locator('data-testid=password');
    this.loginButton = page.locator('button:has-text("Login")');
  }
  
  async login(username, password) {
    await this.usernameInput.fill(username);
    await this.passwordInput.fill(password);
    await this.loginButton.click();
  }
}

2. Yapılandırma Gücünden Yararlanın

playwright.config.js dosyası sizin komuta merkezinizdir. Sadece varsayılanları kabul etmeyin—ihtiyaçlarınıza göre ayarlayın. Farklı ortamlar (dev, staging, production) için farklı projeler yapılandırın, yeniden deneme stratejileri ayarlayın ve duyarlı test için görüntü alanı boyutlarını tanımlayın.

3. Konumlandırıcı Stratejilerinde Uzmanlaşın

Playwright, öğeleri bulmak için birden fazla yol sunar, ancak bazıları diğerlerinden daha güvenilirdir. Tercih sırasına göre:

  1. Rol konumlandırıcılar (page.getByRole('button', { name: 'Submit' })) - En erişilebilir ve sağlam
  2. Test Kimlikleri (page.locator('data-testid=submit-button')) - Belirgin rolleri olmayan öğeler için harika
  3. Metin (page.locator('text=Submit')) - Kullanıcıya görünür metinler için iyi
  4. CSS/XPath - Başka hiçbir şey işe yaramadığında son çare olarak kullanın

4. CI/CD'de Testleri Erken Çalıştırın

Playwright, sürekli entegrasyon ortamlarında öne çıkar. Kurulum komutu, sizin için bir GitHub Actions iş akışı oluşturmayı bile teklif eder. Her pull request'te otomasyon test paketinizin çalıştırılması, regresyonları üretime ulaşmadan önce yakalar. Bunu ilk günden itibaren bir alışkanlık haline getirin.

5. Test Hook'larını Akıllıca Kullanın

beforeEach ve afterEach hook'ları kurulum ve kaldırma için mükemmeldir, ancak bunları aşırı kullanmayın. Testleri bağımsız tutun—paylaşılan durum, güvenilir otomasyon testinin düşmanıdır. Her testin yalıtılmış bir şekilde çalışabilmesi gerekir.

Karmaşık Senaryoları Yönetme

Playwright'ın otomasyon testi için bu kadar popüler olmasının nedenlerinden biri, gerçek dünya karmaşıklığını ne kadar zarif bir şekilde ele almasıdır:

Dosya Yüklemeleri: Bazı araçların hackler gerektirmesinin aksine, Playwright dosya yüklemelerini birinci sınıf bir vatandaş olarak ele alır. Sadece page.locator('input[type="file"]').setFiles() kullanın.

Ağ Kesintisi: Uygulamanızın yavaş ağları veya API hatalarını nasıl ele aldığını test etmeniz mi gerekiyor? Playwright, ağ isteklerini anında kesmenize ve değiştirmenize olanak tanır.

await page.route('**/api/data', async route => {
  await route.fulfill({
    status: 500,
    body: JSON.stringify({ error: 'Server error' })
  });
});

Kimlik Doğrulama: Oturum açmayı gerektiren özellikleri mi test ediyorsunuz? Testler arasında kimlik doğrulama durumunu yeniden kullanmak, zaman kazanmak ve tekrarlayan oturum açma adımlarından kaçınmak için storageState kullanın.

playwright ile testler
Playwright ile Testler

Sıkça Sorulan Sorular

S1: Playwright sadece JavaScript geliştiricileri için mi?

C: Hiç de değil! Playwright orijinal olarak Node.js için geliştirilmiş olsa da, artık Python, Java ve .NET için resmi dil bağlayıcılarına sahiptir. Ekipler, yığınlarına en uygun dili seçebilir ve aynı güçlü otomasyon testi yeteneklerinden faydalanabilirler.

S2: Otomasyon testi için Playwright, Selenium ile nasıl karşılaştırılır?

C: Selenium'u güvenilir eski bir araba gibi düşünün—sizi oraya götürür, ancak daha fazla bakım gerektirir ve daha yavaş gider. Playwright ise modern elektrikli araçtır—daha hızlı, daha güvenilir ve günümüzün webi için inşa edilmiştir. Playwright'ın otomatik bekleme mekanizması, daha iyi hata ayıklama araçları ve doğal paralel yürütme ona önemli bir avantaj sağlar.

S3: Mevcut testlerimi Playwright'a taşıyabilir miyim?

C: Kesinlikle. Birçok ekip, Selenium, Cypress veya diğer araçlardan başarıyla geçiş yapmaktadır. Playwright, eylemlerinizi kaydedip test kodu oluşturabilen bir kod oluşturma özelliği bile sağlar, bu da mevcut test senaryolarını hızla yeniden oluşturmanıza yardımcı olur.

S4: Mobil test hakkında ne düşünüyorsunuz?

C: Playwright, mobil görünüm alanı emülasyonunu ve dokunma olaylarını destekleyerek duyarlı tasarımları etkili bir şekilde test etmenizi sağlar. Yerel mobil uygulama testi için başka araçlara bakmanız gerekebilir, ancak mobil web otomasyon testi için Playwright mükemmeldir.

S5: Yeni başlayanlar için öğrenme eğrisi ne kadar dik?

C: Şaşırtıcı derecede nazik. Temel programlama bilginiz varsa, Playwright ile bir gün içinde verimli olabilirsiniz. API sezgiseldir, dokümantasyon mükemmeldir ve yerleşik test oluşturucu, örneklerle öğrenmenize yardımcı olur.

Son Düşünceler

Playwright, gücünden ödün vermeden otomasyon testini erişilebilir kılar. Kritik kullanıcı akışlarını test ederek başlayın, bunları ilk günden itibaren CI/CD'de çalıştırın ve kademeli olarak genişletin. Araç sizinle birlikte büyür—basit kaydedilmiş betiklerden gelişmiş tarayıcılar arası süitlere kadar. Playwright'ı sonradan akla gelen bir şey olarak değil, geliştirme süreçlerinin bir parçası olarak gören ekipler, her sürümde güven kazanır. Öğrenme eğrisi naziktir, ancak etkisi anlıktır. Ona bir gün ayırın, neden beklediğinizi merak edeceksiniz.

Düğme

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin

Playwright ile Otomasyon Testi Nasıl Yapılır