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

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

Arka plan

Tarayıcı testi, manuel veya otomatik olarak yapılıp yapılmadığına bakılmaksızın yüksek kaliteli bir web deneyimi oluşturmanın önemli bir bileşenidir. Aynı zamanda, yeterli bir tarayıcı testi ortamı oluşturmak son derece zordur. Bu zorluk, web geliştiricilerin en büyük sorunlarından biri olarak sürekli bildirilmektedir. Bugün, bu zorlukların bir kısmını hafifleteceğini umduğumuz bir değişikliği duyuruyoruz.

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

Chrome'un en dikkat çekici özelliklerinden biri otomatik güncelleme yapabilmesidir. Kullanıcılar, modern web platformu özellikleri, tarayıcı özellikleri ve hata düzeltmeleri dahil olmak üzere güncel ve güvenli bir tarayıcı sürümü kullandıklarını bilmekten memnun olur.

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

  • Tekrarlanan test çalıştırmalarında tutarlı ve yeniden üretilebilir sonuçlar elde etmek istersiniz. Ancak tarayıcı yürütülebilir dosyası veya ikili program iki çalıştırma arasında kendini güncellemeye karar verirse bu durum gerçekleşmeyebilir.
  • Belirli bir tarayıcı sürümünü sabitlemek ve bu sürüm numarasını kaynak kodu deponuza eklemek istiyorsunuz. Böylece eski kaydetmeleri ve dalları kontrol edebilir ve testleri o zamanki tarayıcı ikili programına göre yeniden çalıştırabilirsiniz.

Otomatik olarak güncellenen bir tarayıcı ikilisiyle bunların hiçbiri mümkün değildir. Bu nedenle, otomatik test için normal Chrome yüklemenizi kullanmak istemeyebilirsiniz. Bu, normal tarayıcı kullanıcıları için iyi olan ile otomatik test yapan geliştiriciler için iyi olan arasındaki temel uyuşmazlıktır.

Sürümlendirilmiş tarayıcı ikili programları

Otomatik güncellemenin yanı sıra, belirli bir sürüme sahip Chrome ikilisi bulmak da zor olabilir. Google, kullanıcıların sürüm numaralarıyla ilgilenmesi gerekmediğinden ve en kısa sürede her zaman en son sürüme güncellenmeleri gerektiğinden, sürüm numarası içeren Chrome indirmelerini kasıtlı olarak kullanıma sunmaz. Bu durum kullanıcılar için harika olsa da eski bir Chrome sürümünde hata raporunu yeniden oluşturması gereken geliştiriciler için can sıkıcıdır.

Bu sorunun daha spesifik bir örneği, tarayıcı otomasyonu için ChromeDriver'ı kullanmak istediğinizde ortaya çıkar. Yalnızca bir Chrome ikili programı indirmeniz gerekmez. İki ikili programın uyumlu olduğundan emin olmak için buna uygun bir ChromeDriver ikili programı da indirmeniz gerekir.

Bu sorunları çözmenin iyi bir yolu olmadığından, birçok geliştiricinin bu yaklaşımın bazı kusurları olmasına rağmen Chrome (Chrome değil) ikili dosyalarını indirdiğini biliyoruz. Öncelikle, bu Chromium ikilileri tüm platformlarda güvenilir bir şekilde kullanılamaz. İkincisi, Chrome yayınlama sürecinden ayrı olarak oluşturulup yayınlandıkları için sürümlerini kullanıcıya yönelik gerçek Chrome sürümleriyle eşlemek mümkün değildir. Üçüncüsü, Chromium ile Chrome farklıdır.

Çözüm: Chrome for Testing

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

Chrome for Testing'i oluşturmak üzere Chromium ve Chrome kod tabanlarında değişiklikler yaptık ve bu ikili dosyaları tüm kanallarda (Mevcut Ürün, Beta, Yeni Geliştirilenler ve Canary) Chrome sürüm süreciyle birlikte oluşturup herkese açık bir pakete yüklemek için altyapı kurduk.

Chrome for Testing'in etrafındaki altyapı, Chrome'un kendisinin ötesinde ilginç fırsatlar sunar. Örneğin, daha önce bahsettiğimiz eşleşen bir Chrome ve ChromeDriver ikilisi bulmayla ilgili zorluklar, ChromeDriver yayın sürecini Chrome for Testing altyapısına entegre ederek tamamen ortadan kaldırılabilir. Bu değişiklik, kullanıcıların yaşadığı bu sorunu çözmenin yanı sıra ChromeDriver sürümlerini Chrome sürümleriyle uyumlu hale getirir ve manuel ChromeDriver sürüm sürecini ortadan kaldırır.

Chrome for Testing ikililerini nasıl edinebilirim?

Platformunuz için Chrome for Testing ikililerini indirmenin en kolay yolu, npm üzerinden kullanılabilen @puppeteer/browsers komut satırı yardımcı programımızı kullanmaktır. Aşağıda bazı örnekler verilmiştir:

# 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 dosyaları indirmek için kendi otomatik komut dosyalarınızı oluşturmayı tercih ederseniz size yardımcı olabiliriz. Chrome sürüm kanalı (Mevcut Ürün, Beta, Yeni Geliştirilenler, Canary) başına mevcut en son sürümleri içeren JSON API uç noktaları sunuyoruz. En son durumla ilgili hızlıca genel bilgileri edinmek için Chrome for Testing kullanılabilirlik kontrol paneline bakın.