Chrome for Testing: tarayıcı otomasyonu için güvenilir indirmeler

Bugün, özellikle web uygulaması test ve otomasyon kullanım alanlarını hedefleyen yeni Chrome ürünü Chrome for Testing'i duyurmaktan mutluluk duyuyoruz. Bu makalede, Chrome ekibinin neden buna ihtiyaç duyduğunu açıklanmakta ve bir geliştirici olarak Chrome for Testing'in size fayda sağlayabileceği somut örnekler verilmektedir.

Arka plan

Tarayıcı testi, manuel veya otomatik olarak yapılmasından bağımsız olarak, yüksek kaliteli bir web deneyimi oluşturmak için son derece önemli bir bileşendir. Aynı zamanda, yeterli bir tarayıcı test ortamı oluşturmak herkesçe zor bir iştir. Öte yandan, bu ortam en iyi web geliştiricilerin karşılaştığı sorunlar arasında sürekli olarak bildirilir. Bugün, bu acıyı hafifletmeyi umduğumuz bir değişikliğin duyurusunu yapıyoruz.

Otomatik güncelleme: Kullanıcılar için harika, geliştiriciler için zor

Chrome'un en önemli özelliklerinden biri otomatik güncelleme yeteneğidir. Kullanıcılar; modern Web Platformu özellikleri, tarayıcı özellikleri ve hata düzeltmeleri de dahil olmak üzere her zaman güncel ve güvenli bir tarayıcı sürümüne sahip olduklarında sevinirler.

Ancak uçtan uca testler çalıştıran bir geliştirici olarak sizin bakış açınız tamamen farklı olabilir:

  • Tekrarlanan test çalıştırmalarında tutarlı, tekrarlanabilir sonuçlar istersiniz, ancak yürütülebilir tarayıcı veya ikili program iki çalıştırma arasında kendisini güncellemeye karar verirse bu olmayabilir.
  • Belirli bir tarayıcı sürümünü sabitlemek ve bu sürüm numarasını kaynak kodu deponuza kontrol etmek istersiniz. Böylece, eski kayıtları ve dalları inceleyebilir ve o andan itibaren tarayıcı ikili programıyla testleri yeniden çalıştırabilirsiniz.

Otomatik güncellenen bir tarayıcı ikili programıyla bunların hiçbiri mümkün değildir. Sonuç olarak, otomatik test için normal Chrome yüklemenizi kullanmak istemeyebilirsiniz. Bu, düzenli tarayıcı kullanıcıları için iyi olanla otomatik test yapan geliştiriciler için iyi olan şey arasındaki temel uyumsuzluktur.

Sürümlü tarayıcı ikili programları

Otomatik güncelleme özelliğini bir kenara bırakırsak, belirli bir sürüme sahip bir Chrome ikili programı bulmakta da zorlanmış olabilirsiniz. Kullanıcıların sürüm numaralarıyla ilgilenmesi gerekmemesi ve her zaman en kısa sürede en son sürüme güncellenmeleri gerektiği için Google, Chrome'un indirilmiş sürümlerini kasıtlı olarak kullanıma sunmaz. Bu, kullanıcılar için harika, ancak eski bir Chrome sürümünde hata raporunu yeniden oluşturmaya ihtiyacı olan geliştiriciler için zahmetli.

Bu sorunun daha spesifik bir örneği, tarayıcı otomasyonu için ChromeDriver'ı kullanmak istediğiniz zamandır. Bir şekilde Chrome ikili programını indirmeniz gerekmez. Aynı zamanda, iki ikili programın uyumlu olduğundan emin olmak için ilgili sürümdeki ChromeDriver ikili programına da ihtiyacınız olacaktır.

Bu sorunları çözmenin iyi bir yolu olmadığından, bu yaklaşımda bazı hatalar olsa da birçok geliştiricinin Chromium (Chrome değil) ikili programlarını indirdiğini biliyoruz. Öncelikle, bu Chromium ikili programları tüm platformlarda güvenilir şekilde kullanılamaz. İkinci olarak, Chrome sürüm sürecinden ayrı olarak derlenip yayınlandılar ve bu nedenle sürümleriyle gerçek kullanıcılara yönelik Chrome sürümleri eşleştirilmesi imkansız hale geldi. Üçüncüsü, Chromium Chrome'dan farklıdır.

Çözüm: Chrome for Testing

Bu sorunları çözmek üzere tasarlanan Chrome for Testing, test kullanım alanını hedefleyen, otomatik güncelleme içermeyen, her Chrome sürümü için sunulan Chrome sürüm sürecine entegre edilmiş özel bir Chrome sürümüdür. Test kullanım alanını olumsuz etkilemeden normal Chrome'a olabildiğince yakın olan sürümü oluşturulmuş bir ikili program.

Chrome for Testing'i oluşturmak için Chromium ve Chrome kod tabanlarında değişiklikler yaptık ve bu ikili programları, Chrome sürüm süreciyle tüm kanallarda (Kararlı, Beta, Yeni Geliştirilenler ve Canary) kilitlenen şekilde derleyip herkese açık bir pakete yüklemek için altyapıyı oluşturduk.

Chrome for Testing'deki altyapı, Chrome'un ötesindeki ilginç fırsatların önünü açıyor. Örneğin, daha önce eşleşen bir Chrome ve ChromeDriver ikili programı bulmayla ilgili olarak bahsettiğimiz zorluklar ChromeDriver sürüm sürecini Chrome for Testing altyapısına entegre ederek tamamen ortadan kaldırılabilir. Kullanıcıların karşılaştığı bu sorunu çözmeye ek olarak, ChromeDriver sürümlerini Chrome'un sürümüyle uyumlu hale getirir ve manuel ChromeDriver sürüm sürecini ortadan kaldırır.

Chrome for Testing ikili programlarını nasıl edinebilirim?

Platformunuz için Chrome for Testing ikili programlarını indirmenin en kolay yolu, npm üzerinden erişebileceğiniz @puppeteer/browsers komut satırı yardımcı programımızı kullanmaktır. Bazı örnekler:

# Download the latest available Chrome for Testing binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome@stable

# Download a specific Chrome for Testing version.
npx @puppeteer/browsers install chrome@116.0.5793.0

# Download the latest available ChromeDriver version corresponding to the Canary channel.
npx @puppeteer/browsers install chromedriver@canary

# Download a specific ChromeDriver version.
npx @puppeteer/browsers install chromedriver@116.0.5793.0

Bu ikili programları indirmek için kendi otomatik komut dosyalarınızı oluşturmayı tercih ederseniz, size yardımcı olabiliriz. Her Chrome sürüm kanalı (Kararlı, Beta, Yeni Geliştirilenler, Canary) için mevcut en son sürümleri içeren JSON API uç noktaları sunuyoruz. En son duruma hızlı bir genel bakış için Chrome for Testing kullanılabilirlik kontrol paneline bakın.