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ılması fark etmeksizin yüksek kaliteli bir web deneyimi oluşturmanın önemli bir bileşenidir. Aynı zamanda, yeterli bir tarayıcı test ortamı oluşturmak da 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 her zaman 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 dosyası, 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 commit'leri ve dalları kontrol edebilir ve testleri o zamanki tarayıcı ikilisine 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 ikilisi indirmeniz gerekmez. İki ikilinin uyumlu olduğundan emin olmak için buna uygun bir ChromeDriver ikilisi de 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. İlk olarak, 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, Chrome'un test kullanım alanını hedefleyen özel bir sürümüdür. Otomatik güncelleme içermez, Chrome yayın sürecine entegre edilmiştir ve her Chrome sürümünde kullanılabilir. 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.
Test için Chrome'u 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 Test İçin Chrome 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, @puppeteer/browsers komut satırı yardımcı programımızı kullanmaktır. Bu yardımcı programa npm üzerinden erişebilirsiniz. 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ı bir genel bakış için Chrome for Testing kullanılabilirlik kontrol paneline bakın.