Chrome for Testing

Chrome for Testing, özellikle web uygulaması testi ve otomasyon kullanım alanlarını hedefleyen bir Chrome sürümüdür. Bu belgede, Chrome ekibinin bu özelliğe 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 son derece zordur. Bu zorluk, web geliştiricilerin en büyük sorunlarından biri olarak sürekli bildirilmektedir.

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 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. Ayrıca, iki ikili programın uyumlu olduğundan emin olmak için buna uygun sürümlü bir ChromeDriver ikili programına da ihtiyacınız vardır.

Bu sorunları çözmenin iyi bir yolu olmadığından birçok geliştirici, bu yaklaşımın bazı kusurları olsa da bunun yerine Chromium (Chrome değil) ikili dosyalarını indirir. Ö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 özel bir Chrome 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ümlendirilmiş bir ikili program.

Chrome for Testing logosu. Bu logo, siyah bir dikdörtgen içinde "Test" kelimesinin yer aldığı normal Chrome logosudur.

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 bahsedilen Chrome ve ChromeDriver ikili programıyla eşleşen bir sürümü 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.