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

Mathias Bynens'tan daha fazla içerik
Mathias Bynens

Bugün, özellikle web uygulamaları testlerini ve otomasyonla ilgili kullanım alanlarını hedefleyen yeni Chrome aroması Chrome for Testing'i duyurmaktan mutluluk duyuyoruz. Bu makalede, Chrome ekibinin neden buna ihtiyaç duyduğunu düşünmesi ve Chrome for Testing'in bir geliştirici olarak size faydalı olabileceği somut örnekler açıklanmaktadır.

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 çok önemli bir bileşendir. Bununla birlikte, tarayıcı test ortamı oluşturmak herkesten zor bir işlemdir. Bu nedenle, bu ortam web geliştiricilerinin en sık karşılaştığı sorunlar arasında sürekli olarak bildirilir. Bugün, bu acıyı hafifletecek bir değişikliğin duyurusunu yapıyoruz.

Otomatik güncelleme: kullanıcılar için ideal, geliştiriciler için sıkıntılı bir süreç

Chrome'un en önemli özelliklerinden biri otomatik güncelleme yapabilmesidir. 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ını bilmekten memnundur.

Ancak, uçtan uca testler paketi yürüten bir geliştirici olarak tamamen farklı bir bakış açısına sahip olabilirsiniz:

  • 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 kod deponuza kontrol etmek istersiniz. Böylece eski kaydetmeleri ve dalları kontrol edebilir ve o noktadan sonra 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 olanlarla otomatik test yapan geliştiriciler için iyiler arasındaki temel uyumsuzluktur.

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

Otomatik güncelleme bir yana, belirli bir sürüme sahip Chrome ikili programını bulmakta da zorluk yaşamış olabilirsiniz. Kullanıcıların sürüm numaralarıyla ilgilenmeleri gerekmediğinden, Google, kullanıcıların Chrome indirmelerini kasıtlı olarak kullanıma sunmaz. En kısa sürede, sürüm numaralarının her zaman en son sürüme güncellenmesi gerekir. Bu, kullanıcılar için çok iyidir, ancak eski bir Chrome sürümünde hata raporunu yeniden oluşturması gereken geliştiriciler için can sıkıcı bir durumdur.

Bu sorunun daha spesifik bir örneği, tarayıcı otomasyonu için ChromeDriver'ı kullanmak istemenizdir. Chrome ikili programını bir şekilde indirmeniz gerekmez, ayrıca iki ikili programın uyumlu olmasını sağlamak için ilgili sürümü çalıştıran ChromeDriver ikili programına da ihtiyacınız vardır.

Bu sorunları çözmenin iyi bir yolu olmadığından, birçok geliştiricinin bunun yerine Chromium (Chrome değil) ikili programları indirdiğini biliyoruz, ancak bu yaklaşımda bazı hatalar vardır. Öncelikle, bu Chromium ikili programları tüm platformlarda güvenilir şekilde kullanılabilir değildir. İkincisi, bu sürümlerin Chrome sürüm sürecinden ayrı olarak oluşturulup yayınlanması, bu sürümlerin kullanıcılara yönelik gerçek Chrome sürümleriyle eşleştirilmesini imkansız hale getirir. Üçüncü olarak, 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, Chrome sürüm sürecine entegre edilen ve her Chrome sürümü için kullanıma sunulan özel bir Chrome çeşididir. Test kullanım alanını olumsuz etkilemeden normal Chrome'a mümkün olduğunca yakın bir sürümlü 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ı tüm kanallarda (Kararlı, Beta, Yeni geliştirilenler ve Canary) Chrome sürüm süreciyle uyumlu bir şekilde herkese açık bir pakete derleyip yüklemek için altyapıyı oluşturduk.

Chrome for Testing'deki altyapı, Chrome'un ötesindeki ilginç fırsatları ortaya çıkarır. Örneğin, eşleşen bir Chrome ve ChromeDriver ikili programı bulma konusunda daha önce bahsettiğimiz zorluklar ChromeDriver sürüm işleminin Chrome for Testing altyapısına entegre edilmesiyle tamamen ortadan kaldırılabilir. Bu işlem, kullanıcıların karşılaştığı bu sorunu çözmenin yanı sıra ChromeDriver sürümlerini Chrome'un sürümleriyle 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 aracılığıyla kullanılabilen @puppeteer/browsers komut satırı yardımcı programını 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ı oluruz. JSON API uç noktalarını, her Chrome sürüm kanalı (Kararlı, Beta, Yeni Geliştirilenler, Canary) başına mevcut en son sürümlerle sunuyoruz. En son durum hakkında hızlı bir genel bakış almak için Chrome for Testing kullanılabilirlik kontrol paneline bakın.