Bugün, özellikle web uygulaması testi ve otomasyon kullanım alanlarını hedefleyen yeni bir Chrome çeşidi olan Chrome for Testing'i duyurmaktan mutluluk duyuyoruz. Bu makalede, Chrome ekibinin bunun neden gerekli olduğunu düşündüğü açıklanmakta ve Chrome for Testing'in bir geliştirici olarak size fayda sağlayabileceğ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şturmanın önemli bir bileşenidir. Aynı zamanda, yeterli bir tarayıcı test ortamı oluşturmanın ne kadar zor olduğu da bilhassa zor olduğundan bu durum, web geliştiricilerinin en büyük sorunu olarak sürekli bildiriliyor. Bugün, bu acıyı hafifleteceğini umduğumuz bir değişikliği duyuruyoruz.
Otomatik güncelleme: kullanıcılar için harika, geliştiriciler için zahmetli
Chrome'un en önemli özelliklerinden biri otomatik güncelleme özelliğidir. Kullanıcılar, her zaman modern Web Platformu özellikleri, tarayıcı özellikleri ve hata düzeltmeleri de dahil olmak üzere güncel ve güvenli bir tarayıcı sürümünü kullandıklarını bilmekten mutluluk duyarlar.
Ancak uçtan uca test paketi çalıştıran bir geliştirici olarak tamamen farklı bir bakış açısına sahip olabilirsiniz:
- Tekrarlanan test çalıştırmalarında tutarlı, tekrarlanabilir sonuçlar elde etmek istersiniz. Ancak, tarayıcı yürütülebilir veya ikili program iki çalıştırma arasında kendisini 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 kontrol etmek istersiniz. Böylece, eski kayıtları ve dalları kontrol edip testleri o andan itibaren tarayıcı ikili programına karşı 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 durum, normal tarayıcı kullanıcıları için iyi olan ile otomatik test yapan geliştiricilerin işine yarayan faydalar arasındaki temel uyumsuzluktur.
Sürümlü tarayıcı ikili programları
Otomatik güncelleme bir yana, belirli bir sürüme sahip bir Chrome ikili programını bulmakta da zorlanabilirsiniz. Kullanıcıların sürüm numaralarıyla ilgilenmek zorunda kalmaması gerektiği için Google, belirli bir sürüme sahip Chrome indirmelerini özellikle kullanıma sunmaz. Her zaman en kısa sürede en son sürüme güncelleme yapmaları gerekir. Bu, kullanıcılar için çok iyidir, ancak bir hata raporunu eski bir Chrome sürümünde yeniden oluşturmak isteyen geliştiriciler için can sıkıcı bir durumdur.
Bu sorunun daha spesifik bir örneği, tarayıcı otomasyonu için ChromeDriver'ı kullanmak istediğiniz zamandır. Bir Chrome ikili programı indirmenizin yanı sıra, bu ikili programın uyumlu olmasını sağlamak için, ilgili sürümü yapılmış bir ChromeDriver ikili programı da gereklidir.
Bu sorunları çözmenin iyi bir yolu olmadığından, birçok geliştiricinin bunun yerine Chromium (Chrome değil) ikili programlarını indirdiğini biliyoruz, ancak bu yaklaşımda bazı kusurlar da var. İlk olarak, bu Chromium ikili programları tüm platformlarda güvenilir bir şekilde kullanılamaz. İkincisi, bu sürümlerin Chrome sürüm sürecinden ayrı olarak oluşturulup yayınlanması nedeniyle, sürümlerinin gerçek kullanıcılara yönelik Chrome sürümleriyle eşleştirilmesi imkansızdır. Üçüncü olarak, Chromium Chrome'dan farklıdır.
Çözüm: Chrome for Testing
Bu sorunları çözmek için tasarlanan Chrome for Testing, her Chrome sürümü için kullanıma sunulan, Chrome sürüm sürecine entegre edilmiş, otomatik güncelleme olmadan test kullanım alanını hedefleyen ö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ı derleyip herkese açık bir pakete yükleyip tüm kanallarda (Kararlı, Beta, Geliştirici ve Canary) Chrome sürüm süreciyle birlikte herkese açık bir pakete yükleyecek bir altyapı oluşturduk.
Chrome for Testing'i temel alan altyapı, Chrome'un ötesindeki ilginç fırsatların kilidini de açıyor. Örneğin, ChromeDriver sürüm işlemini Chrome for Testing altyapısına entegre ederek eşleşen bir Chrome ve ChromeDriver ikili programı bulma konusunda daha önce bahsettiğimiz zorluklar tamamen ortadan kaldırılabilir. Kullanıcıların karşılaştığı bu sorunu gidermenin yanı sıra 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 ulaşabileceğiniz @puppeteer/browsers
komut satırı yardımcı programını 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 programları indirmek için kendi otomatik komut dosyalarınızı oluşturmayı tercih ediyorsanız bunu yapabilirsiniz. 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. Son duruma hızlıca göz atmak için Chrome for Testing kullanılabilirlik kontrol paneline bakın.