Chrome ile otomasyon ve test

Otomatik tarayıcı testi, sağlam ve yüksek kaliteli web uygulamaları oluşturmak için gereklidir. Chrome; sürekli entegrasyon (CI) uçtan uca paketleri çalıştırıyor, tarayıcı sürümleri arasında regresyon testi gerçekleştiriyor veya tarayıcı etkileşimlerini otomatikleştiriyor olsanız da geliştiriciler ve test otomasyonu mühendisleri için tasarlanmış özel bir araç paketi ve yürütme modları sunar.

Bu genel bakışta, Chrome'un otomasyon ve test ekosistemindeki temel ürünler (Chrome for Testing, ChromeDriver, Puppeteer ve Chrome'un gözetimsiz modu) tanıtılmakta ve güvenilir, yeniden üretilebilir test iş akışları için bu ürünleri birlikte nasıl kullanabileceğiniz açıklanmaktadır.


Chrome for Testing

Chrome for Testing, web uygulaması testi ve otomasyon kullanım alanlarını hedefleyen özel bir Chrome sürümüdür.

Uçtan uca test paketleri veya sürekli entegrasyon (CI) ardışık düzenleri çalıştırırken genellikle tekrarlanan test çalıştırmalarında tutarlı ve yeniden üretilebilir sonuçlar elde etmeniz gerekir. Chrome for Testing, standart tarayıcı yüklemelerine güvenmek yerine test ortamlarınız için belirli Chrome sürümlerini indirip sabitlemenize olanak tanır.

Temel özellikler

  • İsteğe bağlı sürüm oluşturulmuş indirmeler: Her zaman tam olarak seçtiğiniz sürümle test yapabilmek için belirli, sürüm oluşturulmuş Chrome ikililerine erişin.
  • Kanallar arası eşleştirilmiş ikili dosyalar: Tüm kanallardaki (Mevcut Ürün, Beta, Yeni Geliştirilenler ve Canary) her Chrome sürümü için Chrome for Testing, ilgili ChromeDriver ikili dosyalarıyla eşleştirilmiş Chrome ikili dosyalarının yanı sıra otomatik testlerde hâlâ kullananlar için eski Chrome Headless kabuğunu (chrome-headless-shell) sağlar.
  • Kolay indirme otomasyonu: İkili dosyalar, @puppeteer/browsers komut satırı yardımcı programı kullanılarak kolayca indirilebilir veya kullanılabilirlik kontrol paneli üzerinden sorgulanabilir.

Daha fazla bilgi


ChromeDriver

ChromeDriver, W3C WebDriver standardını ve çift yönlü WebDriver BiDi protokolünü uygulayan açık kaynaklı bağımsız bir sunucudur. WebDriver tabanlı test çerçeveleri (ör. Selenium, WebDriverIO ve Nightwatch) ile Chrome tarayıcı arasında köprü görevi görür.

Temel özellikler

  • W3C WebDriver ve WebDriver BiDi desteği: Hızlı etkinlik dinleme, ağ izleme ve günlük yakalama için hem klasik WebDriver otomasyon komutlarını hem de WebDriver BiDi aracılığıyla gerçek zamanlı çift yönlü iletişimi destekler.
  • Chrome for Testing ile birlikte yayınlanır: ChromeDriver sürümleri doğrudan Chrome for Testing altyapısına entegre edilir. Her Chrome for Testing sürümüyle birlikte, eşleşen bir ChromeDriver sürümü yayınlanır. Böylece sürüm uyuşmazlığı sorunları ortadan kalkar.

Daha fazla bilgi


Puppeteer

Puppeteer, Google tarafından geliştirilen bir JavaScript kitaplığıdır. Chrome Geliştirici Araçları Protokolü (CDP) veya WebDriver BiDi üzerinden Chrome'u kontrol etmek için üst düzey bir API sağlar.

Temel özellikler

  • Kurulum gerektirmeyen otomasyon: Puppeteer, varsayılan olarak uyumlu bir Chrome for Testing ikili programını otomatik olarak indirir ve kutudan çıktığı gibi tarayıcı otomasyonunu etkinleştirir.
  • Chrome üzerinde tam kontrol: Ekran görüntülerini kolayca yakalayın, PDF oluşturun, form gönderimlerini otomatikleştirin, ağ isteklerini engelleyin ve kullanıcı arayüzü testlerini tam veya başsız modda çalıştırın.

Daha fazla bilgi


Chrome Gözetimsiz modu

Chrome Headless modu, Chrome'u görünür bir kullanıcı arayüzü olmadan gözetimsiz bir ortamda çalıştırmanıza olanak tanır. Komut satırında --headless işaretini ileterek Chrome'u sunucu ortamlarında, kapsayıcılarda ve CI/CD ardışık düzenlerinde sorunsuz bir şekilde çalıştırabilirsiniz.

Temel özellikler

  • Birleştirilmiş tarayıcı motoru: Modern Gözetimsiz mod (--headless), tam Chrome ile aynı tarayıcı uygulamasını paylaşır.
  • Zengin otomasyon ve hata ayıklama özellikleri: Ekran görüntüsü alma, PDF oluşturma, uzaktan hata ayıklama ve sanal ekran yapılandırmayı destekler.

Daha fazla bilgi


Örnek: Bu ürünleri birlikte kullanma

Tipik bir otomatik test veya sürekli entegrasyon (CI) iş akışında bu ürünler, tekrarlanabilir ve gözetimsiz bir test ortamı sağlamak için birlikte çalışır:

  1. Tarayıcı ikilisi (Chrome for Testing): Test sonuçlarınızın çalıştırmalar arasında deterministik olması için belirli bir sürümle sabitlenmiş Chrome for Testing ikilisi kullanın.
  2. Yürütme modu (Chrome Gözetimsiz modu): Bu ikili dosyayı Gözetimsiz modda (--headless) çalıştırın. Böylece testler, sunucularda, kapsayıcılarda veya CI ardışık düzenlerinde grafik ekran olmadan sorunsuz bir şekilde yürütülür.
  3. Otomasyon sürücüsü (Puppeteer veya ChromeDriver): Puppeteer gibi bir otomasyon kitaplığı veya WebDriver BiDi aracılığıyla bağlanan başka bir test çerçevesi kullanarak tarayıcıyı çalıştırın.

Puppeteer bu parçaları otomatik olarak bağlar. Yüklendiğinde, uyumlu bir Chrome for Testing ikili programı indirir ve varsayılan olarak gözetimsiz modda başlatır.

W3C WebDriver çerçevelerini (ör. Selenium veya WebdriverIO) kullanırken eşleşen bir Chrome for Testing ve ChromeDriver ikilisi otomatik olarak indirebilir ve --headless işaretini ileterek kullanıcı arayüzü olmadan çalıştırabilirsiniz.


Enterprise ve sürüm kanallarıyla ilgili rehberlik