Playwright 1.56, bir test paketini planlayan, ilgili TypeScript betiklerini yazan ve bozulan belirleyicileri (locators) anında onaran üç yerleşik yapay zeka ajanıyla birlikte geliyor. Sonuç: manuel test rutini, yapay zeka destekli bir iş akışına dönüşüyor.
Bu değişiklik neden önemli
Otomasyon mühendisleri uzun süredir tekrarlayan bir döngüyü takip ediyor: gereksinimleri test senaryolarına dönüştürmek, betikleri elle kodlamak, çalıştırmak ve ardından kullanıcı arayüzü (UI) her değiştiğinde kararsız seçicilerin (selectors) peşinden koşmak. Bakım maliyeti, özellikle hızlı değişen ön yüzlerde (front-end), otomasyonun sağladığı zamandan çok daha fazla olabilir. Playwright, yapay zeka ajanlarını doğrudan test çerçevesine dahil ederek "düzelt ve çalıştır" döngüsünü kırıyor ve mühendislerin seçici avlamak yerine üst düzey test stratejisine odaklanmalarını sağlıyor.
Üç ajanın açıklaması
- Planner Agent – Uygulamanın ne yapması gerektiğine dair doğal dilde bir açıklama alır, canlı siteyi keşfeder ve yapılandırılmış bir Markdown planı sunar. Plan, temel kullanıcı akışlarını ve uç durum (edge-case) senaryolarını listeleyerek, herhangi bir kod yazılmadan önce net bir taslak sunar.
- Generator Agent – Markdown planını işler ve yürütülebilir TypeScript test kodu üretir. Seçicilerin kararlı olduğunu doğrulamak için çalışan tarayıcıyla iletişim kurar ve talimat verilirse Page Object Model'i (sayfa yapısını test mantığından ayıran bir tasarım deseni) takip edebilir.
- Healer Agent – Test süreçlerini izler; bir hata kullanıcı arayüzündeki bir değişikliğe dayanıyorsa, başarısız olan adımları tekrar oynatır, güncellenmiş DOM'u inceler ve düzeltilmiş bir seçici veya belirleyici (locator) önerir. Öneri, geliştiricinin kabul edebileceği veya üzerinde değişiklik yapabileceği bir taslak yama (patch) olarak görünür.
Ajanlar bir “ajan döngüsü” (agentic loop) içinde çalışır: Planner → Generator → Healer. Her adım bir sonrakini besleyerek, test edilen uygulama ile senkronize kalan, kendi kendini ayarlayan bir boru hattı (pipeline) oluşturur.
Genel yapay zeka araçlarından farkı nedir
Sohbet tarzı modeller veya kod tamamlama eklentileri kod parçacıkları üretebilir, ancak canlı DOM'a ve belirli proje yapılandırmasına doğrudan erişimleri yoktur. Playwright'ın ajanları, mevcut sayfa yapısını ve test çerçevesi ayarlarını modele aktaran bir Model Context Protocol kullanır; bu da yapay zekanın etkileşime gireceği tam öğeler hakkında mantık yürütmesini sağlar. Ürettiği kod sadece sözdizimsel (syntactically) olarak doğru olmakla kalmaz, aynı zamanda üretim anındaki gerçek kullanıcı arayüzüne de bağlıdır.
Birkaç komutla başlangıç
- Bir Node projesi kurun ve Playwright'ı bir bağımlılık (dependency) olarak ekleyin.
- Editörünüzün içinde yapay zeka döngüsünü başlatmak için
npx playwright init-agents --loop=vscodekomutunu çalıştırın. - Uygulamayı yükleyen minimal bir “tohum” (seed) test yazın; bu, ajanlara somut bir bağlam sağlar.
- Planner'ı tetiklemek için doğal dilde istemler (örneğin, “İndirim kodlarını kapsayan bir ödeme akışı oluştur”) verin, Generator'ın betiği üretmesine izin verin ve Healer'ın bunu sağlıklı tutmasını sağlayın.
Ajanların daha iyi çalışmasını sağlayan ipuçları
- Net bir tohum (seed) test – Başlangıç testi uygulamayı güvenilir bir şekilde başlatmalı ve ana kullanıcı arayüzü öğelerini ortaya çıkarmalıdır; belirsiz giriş noktaları Planner'ın kafasını karıştırır.
- Yapılandırılmış tohum verisi – Beklenen girdileri tanımlayan JSON fixture'ları sağlamak, Generator'ın uygun seçicileri seçmesine yardımcı olur.
- Page Object Model isteyin – Generator'a açıkça sayfa nesneleri (page objects) oluşturmasını söylemek, daha temiz ve bakımı kolay kod sağlar.
- Yapay zeka çıktısını bir taslak olarak değerlendirin – Üretilen betikleri onaylamadan (commit) önce gözden geçirin; ajanlar hala iş mantığı nüanslarını gözden kaçırabilir veya aşırı genel seçiciler üretebilir.
