Daha eski Chrome sürümleri
Chrome'un eski sürümleri için desteklenen ChromeDriver sürümlerini aşağıda bulabilirsiniz.
Doğru ChromeDriver sürümünü seçme hakkında daha fazla bilgi için Sürüm Seçimi sayfasına bakın.
ChromeDriver 148
Hata düzeltmeleri
- DOM erişimi: Kendi kapalı gölge kökü içinde yerleştirilmiş bir iFrame'de düğme tıklaması simüle edilirken oluşan kilitlenme sorunu düzeltildi. Daha önce sahip çerçeve öğesi kimliğini bulmak için kullanılan JavaScript, kapalı gölge köklerine nüfuz edemiyordu. Yeni uygulama, çerçeveyi çözmek için doğrudan
f.X.d.Y.e.Zbiçimini kullanıyor (crrev.com/c/7594919, Hata: 469831357). - Güvenlik: Konumsal bağımsız değişken ekleme ile ilgili olası bir güvenlik açığını önlemek için Chrome bağımsız değişken temizleme işlemi güçlendirildi (crrev.com/c/7695604, Hata: 494464734).
- Test: AddressSanitizer (ASAN) altında çalışırken
commands_unittestiçindekikImplicitWaittestleri içinFindElement(s)WhileNavigatingzaman aşımı artırıldı. Varsayılan 3 saniyelik zaman aşımı, yeniden deneme döngüsünün ASAN ek yükü altındaki tüm sahte hataları tüketmesi için yeterli değildi ve bu durum kararsızlığa neden oluyordu (crrev.com/c/7657276).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
//chrome.ccdosyalarındabase/functional/callback_forward.h'nin gereksiz dahil edilmesi değiştirildi ve geri çağırmalar gerçekten kullanıldığındacallback.h'nin kullanılması zorunlu kılındı (crrev.com/c/7200285, Bug: 40318405). Derleme verimliliğini artırmak içinlogging::LoggingSettings,base/logging.hkonumundan kendi başlığınabase/logging/logging_settings.htaşındı (crrev.com/c/7173024, geri alma işleminden sonra crrev.com/c/7170750 crrev.com/c/7160150 yeniden yerleştirildi).base/logging.hile ilgili çeşitli IWYU hataları giderildi (crrev.com/c/7730403, Bug: 499476145). - C++ standartları: Arama işlemlerinin ardından gelen gereksiz harita
count(key)kontrolleri, daha verimlifind(key)yineleyici erişimleriyle değiştirildi (crrev.com/c/7705392, crrev.com/c/7693277, Hata: 452950815). Kapsüllemeyi iyileştirmek içinThreadDelegate,Threadoluşturucu aracılığıyla yerleştirildi ve iş parçacıklarının yeniden başlatılması gereken durumları karşılamak içinThread'yeRestartableseçeneği eklendi (crrev.com/c/7696887, Bug: 40881604). - Bellek güvenliği:
chrome/genelinde dosya genelindeki#pragma allow_unsafe_buffers, ayrıntılıUNSAFE_TODO()makrolara dönüştürüldü (crrev.com/c/7132241, Hata: 409340989).IOBuffer->span().first()kısaltılarakIOBuffer->first()(crrev.com/c/7159119) olarak değiştirildi. - Bağımlılıklar:
crossbenchbağımlılığı kullanıma sunuldu. Bu sayede macOS ve Android'de yerel olarak oluşturulan ChromeDriver ikililerinin keşfedilmesiyle ilgili düzeltmeler eklendi (crrev.com/c/7673978). - Test: Temel derleme ve test altyapısında yapılan düzeltmelerin (crrev.com/c/7707960) ardından
chromedriver_py_testsmoduleşeması yeniden etkinleştirildi.
ChromeDriver 147
Hata düzeltmeleri
- Test:
ElementClicköğesinin, özellikle site izolasyonu senaryolarında, yer paylaşımı öğeleri içeren kaynaklar arası iFrame'lerdeki tıklamaları doğru şekilde işlediğini doğrulamak için hermetik bir regresyon testi eklendi. Bu, tıklamaların görünür yer paylaşımı yerine yanlışlıkla yerleştirilmiş içeriğe yönlendirilmemesini sağlar (crrev.com/c/7261984, Hata: 42321834, Hata: 42322220).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları: URL kod çözme modları ve işlevleri, Google C++ stil kılavuzuna uyacak şekilde yeniden adlandırıldı.
DecodeURLMode,DecodeUrlModeolarak,DecodeURLEscapeSequences()iseDecodeUrlEscapeSequences()olarak değiştirildi (crrev.com/c/7593238). Kod tabanında URL kod çözme işleminin kullanımını basitleştirmek içinurl::UrlEscapeDecoderişlevi kullanıma sunuldu (crrev.com/c/7610180).//chromedosyalarındaki gereksizbuild/branding_buildflags.hinclude'lar kaldırıldı (crrev.com/c/7595125, Bug: 40318405). ChromeDriver hariç (crrev.com/c/5485913, Bug: 41481724)//chromeiçindekiBUILDFLAG(IS_FUCHSIA)mantığı kaldırıldı. - Bellek güvenliği (spanlaştırma): ChromeDriver yardımcı programlarındaki
UNSAFE_TODOişaretçileri güvenli span tabanlı uygulamalara (crrev.com/c/7562602, Hata: 435317390) taşıyarak çözüldü.
ChromeDriver 146
Hata düzeltmeleri
- Kararlılık: Pencere eşzamanlı olarak kapatılırsa (ör. gezinmenin tamamlanması beklenirken) bir komut işlenirken oluşabilecek ChromeDriver kilitlenmesi düzeltildi. Düzeltme,
WebViewnesnesinin erken bertaraf edilmesini önlemek için nesne üzerinde kilit oluşturur (crrev.com/c/7257074, Hata: 468228355). - Güvenlik: ChromeDriver HTTP sunucusuna gelen WebSocket bağlantıları için
Originbaşlık kontrolü eklendi. Bu sayede, olası kaynaklar arası ele geçirme önlendi (crrev.com/c/7538400, Hata: 478783560). - Test:
testWebviewDetactedDuringClick, kararsız filtreye taşındı. Böylece, yalnızca gözetimsiz modda değil tüm çalıştırmalarda atlandı (crrev.com/c/7545378, Hata: 481485821).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
base::DictValuevebase::ListValue,//chromegenelinde modern eşdeğerleri (base::Value::Dictvebase::Value::List) olarak yeniden adlandırıldı (crrev.com/c/7515855, crrev.com/c/7514475, Bug: 478100525).base::Contains()kullanımlarıstd::ranges::contains()ile değiştirildi (crrev.com/c/7461026, Bug: 470391351). Uygun durumlardastd::setvestd::unordered_set,base::fixed_flat_set'ye taşındı (crrev.com/c/7521991, Bug: 473916362). Ayrıştırma seçeneklerini belirtmeyenbase::JSONReader::Readçağrıları yeniden düzenlendi (crrev.com/c/6990988, crrev.com/c/6980533, Bug: 446188265). Çeşitlibase::JSONWriter::Write()çağrılarıbase::WriteJson()ile değiştirildi (crrev.com/c/6969134, crrev.com/c/6929101, Bug: 443929217).#includesırası temizlendi (crrev.com/c/7366868). Yorumlardaki taşınan hata referansları, Monorail kimlikleri yerine Buganizer kimliklerini kullanacak şekilde değiştirildi (crrev.com/c/7528268, Hata: 321899722). Netlik içinIS_OZONE_*derleme işaretleriSUPPORTS_OZONE_*olarak yeniden adlandırıldı (crrev.com/c/7535923). - Bellek güvenliği (spanlaştırma):
base/strings/utf_string_conversion_utils.cciçinde güvenli olmayan işaretçi kullanımıbase::spanile değiştirildi (crrev.com/c/7496410, Hata: 439964610, Hata: 40284755).base::Filetestlerinde//chromekullanım alanları daha fazla Spanified (crrev.com/c/7489592, Bug: 435317390).memset,//chromegenelinde toplu başlatma ile değiştirildi (crrev.com/c/6875520, Hata: 435317390). Kalan#pragma allow_unsafe_buffersişaretleriUNSAFE_TODOişaretlerine dönüştürüldü (crrev.com/c/7132241, Hata: 409340989). - DSE Prewarm: macOS ve Windows için
fieldtrial_testing_config.json'deDSEPrewarmözelliği etkinleştirildi. Bunun nedeni, ilgili ChromeDriver testindeki kararsızlığın giderilmesiydi (crrev.com/c/7489009, geri alma işleminden sonra crrev.com/c/7452344 crrev.com/c/7002185 yeniden yayınlandı). (Not: Bu yeniden ekleme, Windows'da test çalışma sürelerinin artması nedeniyle daha sonra tekrar geri alındı (crrev.com/c/7517985, Hata: 478888140)). - Teşhisler: Daha iyi hata ayıklama için
WaitableEventveConditionVariableizleme etkinliklerine arayanın konumunu izleme özelliği eklendi (crrev.com/c/7487755, Hata: 476408124).
ChromeDriver 145
Yeni özellikler
- Test:
run_py_tests.pytest çerçevesi,input,textareavecontenteditableöğelerini hedefleyen, farklı uzunluklarda (ör. 53, 101 ve 501 karakter) deterministik dize testlerini kabul edecek şekilde güncellendi. Bu, uzunsend_keysişlemleri sırasında hiçbir karakterin bırakılmamasını sağlayan regresyon kapsamı sunar (crrev.com/c/7221410, Hata: 428116078). - Test: HTML
<selectlist>öğesi için özel bir test eklendi (crrev.com/c/7420729, Hata: 342889200).
Hata düzeltmeleri
- Ekran görüntüleri: WebDriver spesifikasyonu ölçeklendirmeyi öngörmediği ve diğer ekran görüntüsü işlevleriyle tutarsız olduğu için öğe ekran görüntülerinin ölçeklendirilmesi geri alındı (crrev.com/c/7409603, Hata: 42323022).
- Test: ChromeDriver test beklentilerini, Geliştirici Araçları Ön Ucu'nda (crrev.com/c/7408699, Hata: 474179501) kullanıma sunulan son doğru değerlerle (platform, platformVersion, model ve mobile alanları için) eşleşecek şekilde güncelleyerek
testClientHintsDeviceNameIPhoneXvetestClientHintsDeviceNameIPadalanlarındaki hatalar düzeltildi.
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
//chromegenelindebase::Contains()kullanımının çeşitli örnekleristd::ranges::contains()olarak değiştirildi (crrev.com/c/7411011, Bug: 470391351). Gerekli biçimlendirme düzeltmeleri de yapıldı (crrev.com/c/7247217).std::string_viewparametreleri,substr()kullanılırken gereksiz dize ayırmalarını önlemek için yeniden düzenlendi (crrev.com/c/7350716).<map>includes from//chromebaşlıklarındaki gereksiz öğeler kaldırıldı (crrev.com/c/7225838, Bug: 40318405). Bazı dosyalarda include sıralaması düzeltildi (crrev.com/c/7366868).SimpleURLLoaderkullanımlarında eskiBodyAsStringCallbackDeprecatedgeri çağırmaları,std::unique_ptryerinestd::optionalkullananBodyAsStringCallbackile değiştirildi (crrev.com/c/7210000, Hata: 40258809). - Test: Görünüm hiyerarşisine eklenmemiş bekleyen bilgi çubukları işlenirken ChromeDriver tarayıcı testlerinde kilitlenmeleri önlemeye yönelik düzeltmeler de dahil olmak üzere
InfobarPrioritizationalan denemesi yapılandırması yeniden etkinleştirildi (crrev.com/c/7223590, Hata: 447176374). Daha önce alakasız test hataları nedeniyle geri alınan Glic özelliği için ülke ve yerel ayar filtreleme işlevi yeniden etkinleştirildi (crrev.com/c/7245749, geri alma işleminden sonra crrev.com/c/7148759 yeniden etkinleştirildi crrev.com/c/7233767, Hata: 454431875).
ChromeDriver 144
Yeni özellikler
- İzinler:
SetPermissionkomutu, üst düzey kaynağın yanı sıra mevcut çerçevenin URL'sini (yerleştirilmiş kaynak) kullanarak en son W3C spesifikasyonuna uyacak şekilde güncellendi. Bu, yerleştirilmiş bağlama (crrev.com/c/7106801, geri döndürme işleminden sonra yeniden yerleştirme crrev.com/c/7093216, crrev.com/c/7104484, Hata: 384959114) dayalıstorage-accessgibi izinleri doğru şekilde yapılandırır. - Test: Yapılandırılmış test kimlikleri (crrev.com/c/7124354, Bug: 456432041) kullanılırken güvenilirlik onaylayıcısını desteklemek için ChromeDriver test yükleme yüküne
testMetadata(test adı dahil) eklendi.
Hata düzeltmeleri
- Hedef yaşam döngüsü: Bir alt çerçeve komut yanıtı beklerken üst çerçeve ayrılırsa ChromeDriver'ın duraklamasına neden olan hata düzeltildi. ChromeDriver artık bir üst
WebViewImplkilitlendiğinde ve komut işleme sırasında ayrılmış olarak işaretlendiğinde alt çerçeveleri açıkça geçişli olarak ayırıyor (crrev.com/c/7080912, Bug: 438436830). - Pencere Yönetimi: Özellikle ChromeDriver oturumları için, kapalı pencerelerin arka plana alınması devre dışı bırakıldı. Bu değişiklik, tarayıcı bir pencereyi yanlışlıkla kapalı kabul edip kısıtladığında testlerin başarısız olabileceği WebDriver BiDi'deki sorunları giderir (crrev.com/c/7128058, Bug: 458027819).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
//chrome.ccdosyalarındabase/functional/callback_forward.h'nin gereksiz dahil edilmesi kaldırıldı ve geri çağırmalar gerçekten kullanıldığındacallback.h'nin kullanılması zorunlu kılındı (crrev.com/c/7200285, Bug: 40318405). Derleme verimliliğini artırmak içinlogging::LoggingSettings,base/logging.hkonumundan kendi başlığınabase/logging/logging_settings.htaşındı (crrev.com/c/7173024, geri alma işleminden sonra crrev.com/c/7170750 crrev.com/c/7160150 yeniden yerleştirildi).base::HexEncodekullanım alanları daha yeni olanbase::HexEncodeLower'e taşındı (crrev.com/c/7103100, Hata: 456472080). - Bellek güvenliği (spanlaştırma):
PipeBuildervePipeConnectionbirim testlerindekiWriteToPipeveWriteToPipeNoBestEffort,base::span'ı kabul edecek şekilde taşındı. Böylece güvenli olmayan arabellek kullanımı düzeltildi (crrev.com/c/7090293, Hata: 455758227). Dosya genelindeki#pragma allow_unsafe_buffersmakroları,chrome/genelinde ayrıntılıUNSAFE_TODO()makrolara dönüştürüldü (crrev.com/c/7132241, Hata: 409340989).IOBuffer->span().first()kısaltılarakIOBuffer->first()(crrev.com/c/7159119) olarak değiştirildi.
ChromeDriver 143
Hata düzeltmeleri
- Kararlılık:
OverrideNetworkConditionsiçinde Use-After-Free (UAF) kilitlenmesi düzeltildi. Sonraki uygulama için kaydedilen ham işaretçi, arka arkaya yapılan aramalar arasında serbest bırakılıyordu. Bu sorun düzeltildi (crrev.com/c/7047422, Hata: 42323833). - Test: Daha güvenilir senkronizasyon için
WaitForConditionAPI'si kullanılarak kararsız Android ChromeDriver dokunma testleri düzeltildi (crrev.com/c/6978928, Hata: 42321861). - DSE Prewarm:
--disable-features=Prewarmanahtarı aracılığıyla ChromeDriver'daPrewarmözelliği varsayılan olarak devre dışı bırakıldı. Böylece, önceden ısıtılmış sayfaların test yürütme ve hedef keşfiyle etkileşime girmesi önlendi (crrev.com/c/7007072, Hata: 431928370).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları: Yalnızca akıllı işaretçinin kullanıldığı
//chromeüstbilgilerinderef_counted.hyerinescoped_refptr.hkullanılarak derleme verimliliği artırıldı (crrev.com/c/7080753, Bug: 40245294). Dize ayırmayı net bir şekilde belirtmek ve yanlışlıkla performans cezası alınmasını önlemek içinGURLerişimcileriGet*varyantlarına (ör.spec()yerineGetSpec()) taşıdı (crrev.com/c/7002119, Hata: 448174617). - Test etme:
devtools_client_impl_unittest.cc'daki gereksiz kontrol kalıplarıADD_FAILURE()kullanılarak kaldırıldı (crrev.com/c/6998270).crbug.com/413382905için regresyon testi eklendi (crrev.com/c/6879417).
ChromeDriver 142
Yeni özellikler
- Teşhisler: Tarayıcı tarafından bellek tasarrufu için proaktif olarak sonlandırılan işlemler ile bellek yetersizliği (OOM) hataları nedeniyle çöken işlemleri ayırt etmek için
TERMINATION_STATUS_EVICTED_FOR_MEMORYdurumu eklendi. Şu anda bu durum, OOM kilitlenmesiyle (üzgün sekme görüntüleme) aynı şekilde davranıyor ancak gelecekteki farklı işlemler için zemin hazırlıyor (crrev.com/c/6991933, Hata: 394092280). - Teşhisler: Masaüstü tarayıcının ana işlem kimliğini döndüren WebDriver yanıtına
goog:processIDözelliği eklendi. Bu değişiklik, ChromeDriver'ı Firefox'unmoz:processIDile uyumlu hale getirir ve platform erişilebilirlik API'lerinin test edilmesine yardımcı olur (crrev.com/c/5825307, Hata: 438884256). - Test: ChromeDriver'ın Python entegrasyon testleri için ResultSink'e yapılandırılmış test kimliği yüklemeleri desteği eklendi (crrev.com/c/6916708, Hata: 418015486).
Hata düzeltmeleri
- Teşhisler: Normal Chrome çıkışında değiştirilen ChromeDriver'ın davranışı, artık
user-data-dirkullanımıyla ilgili kafa karıştırıcı ve genel bir hata mesajı vermeyecek şekilde değiştirildi. Artık örneklerin sonlandırıldığı açıkça belirtiliyor ve kullanıcı, Chrome tarafından oluşturulan belirli hatayla ilgili ayrıntılı günlükleri (crrev.com/c/6977507, Bug: 42323434) incelemeye yönlendiriliyor. - Başlatma: ChromeDriver'ın başlatma yapısı, Selenium WebDriver v4.16.0 değişiklikleriyle (crrev.com/c/6630600) uyumlu kalacak şekilde güncellendi.
- Android: Paket yöneticisi tarafından
--user curişaretinin desteklenmediği eski Android sürümlerinde (Android 11'den eski)CheckAppInstalledsorunu düzeltildi (crrev.com/c/6785949, Hata: 433885051). - Test:
IgnoreDuplicateNavs'nin ChromeDriver'daki varsayılan özellik anahtarlarını yanlışlıkla geçersiz kılmasına neden olan hata düzeltildi. Bu özellik, ChromeDriver oturumları için devre dışı bırakıldı veSwitches::SetFromSwitchesmantığı düzeltildi (crrev.com/c/6949166, Hata: 445332809).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları: Birkaç kullanımdan kaldırılmış
base::JSONWriter::Write()çağrısı,base::WriteJson()ile değiştirildi. Böylece, dönüş değeri kontrol edilmediğinde başarısızlık durumunda boş dize döndürme davranışı korundu (crrev.com/c/6969134, crrev.com/c/6929101, Bug: 443929217).base::JSONReader::Readvebase::JSONReader::ReadAndReturnValueWithError'de uyumlu olmayan JSON ayrıştırma seçenekleri (ör. yorumlara izin verme) için açıkça etkinleştirme zorunluluğu getirildi (crrev.com/c/6990988, crrev.com/c/6980533, Hata: 446188265). Manuel olarak span oluşturma çalışmalarının ardından dosya genelinde#pragma allow_unsafe_bufferspragmalar kaldırıldı (crrev.com/c/6778035, Hata: 409340989). Sızıntı yapanLazyInstancemakrosunun kullanımları temizlendi (crrev.com/c/6781377, Bug: 432815283). IWYU aracılığıylahttp_response_headers.hiçin eksik üstbilgiler eklendi (crrev.com/c/6894196, Hata: 40216326). - Bellek güvenliği (spanlaştırma): Linux derlemeleri için
chrome/dizinindeki çok sayıda işaretçi otomatik olarak spanlaştırıldı. Boyut parametrelerinin gereksiz olduğu düşünülen yerlere ölümcül olmayanCHECK'ler eklendi (crrev.com/c/6734592, Hata: 431824299). - Test: macOS'te
testDoesntCrashOnClosingBrowserFromAsyncScriptgeçici olarak devre dışı bırakıldı (crrev.com/c/6995358, Hata: 446461733). "Sertifikalar"ı içeren test yöntemi adlarındaki yazım hataları düzeltildi (crrev.com/c/6950683). Otomatik olarak biçimlendirilen//chrome/testGN dosyaları (crrev.com/c/6789277, Hata: 40760278). - FedCM: Hesaplar iletişim kutusunun gösterilip gösterilmeyeceğini eşzamanlı olarak kontrol etmek için
IdentityDialogController'eShouldShowAccountsPassiveDialogişlevi eklendi. Bu işlev, eşzamansız kontroller ve Geliştirici Araçları enstrümantasyonuyla ilgili bir kilitlenmeyi düzeltir (crrev.com/c/6780413, Hata: 425801332). - DSE Prewarm: Ön ısıtmayı manuel olarak etkinleştirmek veya devre dışı bırakmak için kısa vadeli bir çözüm olarak DevTools Protokolü'ne
Page.setPrewarmingAllowedeklendi. Ayrıca, ilgili testler ana sayfayla doğru şekilde etkileşime girecek şekilde düzeltildi (crrev.com/c/6847287, Hata: 431928370). Kararsızlık sorunları çözüldükten sonra macOS ve Windows içinDSEPrewarmözelliğinifieldtrial_testing_config.json'de etkinleştirdik (crrev.com/c/6951835, Hata: 431928370, Hata: 435621391). (Not: CDP komutu ve saha denemesi etkinleştirme, WebDriver kullanıcıları için beklenmedik hedefleri ortaya çıkaran ve sırasıyla diğer aşağı akış sorunlarına neden olan değişiklikler olduğu için geri alındı (crrev.com/c/6966133, crrev.com/c/6966161, Hata: 445883308)). - Temizleme: Android kodunda desteklenmeyen
WebLayerprojesiyle ilgili kalan referanslar kaldırıldı (crrev.com/c/6792520, Hata: 40272607).
ChromeDriver 141
Yeni özellikler
- Test etme:
run_web_tests.pydavranışıyla eşleşenrun_wpt_tests.pyiçin--enable-per-test-tracingişareti desteği eklendi. Bu işlem, dahili bir ChromeDriver arabelleğinden JSON izleme etkinliklerini alır ve bunları test sonuçları dizinine kaydeder (crrev.com/c/6820247, Hata: 434017035).
Hata düzeltmeleri
- Teşhis:
kTabCrashedhatası döndürülürken ChromeDriver'ın kendi dahili yığın izleme (stack trace) yazdırması engellendi. Bu sayede, kullanıcıların kafası karıştırılmazken oluşturucu çökmeyle sonuçlanan yığın izlemenin günlüklerde kalması sağlanır (crrev.com/c/6841669, Hata: 395131239).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları: Oluşturucuların atlanmasını önlemek ve bellek güvenliğini sağlamak için
chrome/genelinde standart C++ toplu başlatma (instance = {}) ile potansiyel olarak güvenli olmayanmemsetçağrıları değiştirildi (crrev.com/c/6875520, Hata: 435317390). IWYU aracılığıyla//base/time/time.hiçin eksik#includeyönergeleri eklendi (crrev.com/c/6832689, Hata: 40216326). Güvenli olmayan arabellek pragmaları zorunlu kılma yeniden yazıldı (crrev.com/c/6828538). - Test:
crbug.com/413382905için gerileme testi eklendi (crrev.com/c/6879417). - Görünüm geçişleri: ChromeDriver test hatalarıyla bağlantılı önceki spekülatif geri döndürmenin yanlış olduğu kanıtlandıktan sonra, tamamlanmış söz çözülmeden önce yapılan görünüm geçişleri düzeltme güncelleme çalışması yeniden başlatıldı (crrev.com/c/6846765, geri döndürme crrev.com/c/6808537 sonrasında crrev.com/c/6806850 yeniden başlatıldı).
ChromeDriver 140
Hata düzeltmeleri
- Hedef seçimi: Chrome,
--auto-open-devtools-for-tabsile başlatıldığında Geliştirici Araçları penceresinin birincil pencere olarak seçilmek için ana sayfayla yarışabilmesi sorunu düzeltildi. ChromeDriver artık birincil pencere belirlenirkendevtools://önekli hedefleri açıkça hariç tutuyor (crrev.com/c/6769505, Hata: 427908560). - Hedef seçimi: Üst öğeler tarafından uygulanan
overflow:hiddenkırpma işlemini yoksayarak ChromeDriver'ın öğelerin görünümdeki odak noktasını yanlış hesaplaması engellendi. Bu değişiklik, hesaplamayı WebDriver spesifikasyonu ve diğerPerformActionssenaryolarıyla (crrev.com/c/6735230, Bug: 42322257) uyumlu hale getirir. - Android: Paket yöneticisi için
--user curişaretinin desteklenmediği eski Android sürümlerinde (Android 11'den önceki sürümler)CheckAppInstalledişlevi düzeltildi (crrev.com/c/6785949, Hata: 433885051). - Test etme:
chromedriver_py_teststest paketindeDSEPrewarmözelliğinden kaynaklanan kararsızlık düzeltildi. ChromeDriver, artık bir CDP istemcisi bağlıyken ön ısıtma tetikleyicisini devre dışı bırakarak testler sırasında beklenmedik hedef sayılarını önler (crrev.com/c/6764274, Hata: 423465927, Hata: 431928370). - Test:
ShouldShowAccountsPassiveDialogişlevininIdentityDialogController'e (FedCM'nin bir parçası) eklenmesi geri alındı. Bu durum, gerilemeye neden oluyordu (crrev.com/c/6780413, Hata: 425801332).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları: Include What You Use (IWYU) aracılığıyla eksik
std::vector#include'ler eklendi (crrev.com/c/6652818, Hata: 40216326).gurl.h(crrev.com/c/6578272) ve<queue>(crrev.com/c/6570349, Bug: 40318405) öğelerinin//chromebaşlıklarındaki gereksiz dahil etme işlemleri kaldırıldı.IWYUiçinNOTIMPLEMENTED(),//chrome'de düzeltildi (crrev.com/c/6655452, Hata: 41493641). - Bellek güvenliği (spanlaştırma): Linux derlemelerinde otomatik işaretçi spanlaştırma aracını çalıştırarak boyutların bilindiği yerlerde span kullanmak için kodu güncelledi (crrev.com/c/6734592, Hata: 431824299). Taşıma işlemi tamamlandıktan sonra
chrome/genelinde dosya genelindeki#pragma allow_unsafe_bufferspragmaları kaldırıldı (crrev.com/c/6778035, Hata: 409340989). Uyarıyı genel olarak etkinleştirmek içinchrome/testhedefleri-Wexit-time-destructorsuyarısından hariç tutuldu (crrev.com/c/6736532, Bug: 40031409, Bug: 430332953).//chromealtındaki sızıntı yapanLazyInstancekullanımları temizlendi (crrev.com/c/6781377, Bug: 432815283). - Temizleme: BiDi Mapper'ın gizli bir hedefte çalıştırılmasına geçiş tamamlandığı ve kararlı olduğu için
--debug-bidi-mapperCLI işareti kaldırıldı (crrev.com/c/6672011, Hata: 408992812). - Temizleme: Desteklenmeyen
WebLayerprojesiyle ilgili kalan referanslar kaldırıldı (crrev.com/c/6792520, Hata: 40272607). Hedef referansları kısaltmak için otomatik olarak biçimlendirilmiş//chrome/testGN dosyaları (crrev.com/c/6789277, Hata: 40760278). - Test:
PerformActionspointerMovesorununun düzeltildiğini doğrulamak için kabul testi eklendi (crrev.com/c/6648646, Hata: 42322257). - Test:
testBrowserWithUsedUserDataDirtestinin paralel sürücü oluşturma bölümü,chrome-headless-shellkullanılırken macOS'te özel kilitlemeyle ilgili hatalara neden olduğundan yorum satırına alındı (ve bir izleme hatası gönderildi) (crrev.com/c/6470455, Hata: 411407649, Hata: 380903149). - Test: iOS için
run_cwt_chromedriver.pysarmalayıcısı,--platform-typebağımsız değişkenini destekleyecek şekilde güncellendi (crrev.com/c/6771517, Hata: 427548014). - SAHİPLER:
nvitkov,chrome/test/chromedriver/OWNERSdosyasından kaldırıldı (crrev.com/c/6771413).
ChromeDriver 139
Hata düzeltmeleri
- Başlatma yapısı: ChromeDriver başlatma yapısı, Selenium WebDriver v4.16.0 güncellemeleriyle (crrev.com/c/6630600) uyumlu kalacak şekilde güncellendi.
- Bağımsız değişken ayrıştırma: Yalnızca sağlanan son bağımsız değişkeni almak yerine, birden fazla
--js-flagsbağımsız değişkeni (--enable-features'ün işlenme şekline benzer şekilde) birleştirildi. Bu, karmaşık V8 işaretleri iletilirken kullanılabilirliği artırır (crrev.com/c/6612042, Hata: 421941798).
Dahili değişiklikler ve yeniden düzenlemeler
- Bellek güvenliği (spanlaştırma):
//chrome/testgenelinde, kullanımdan kaldırılanbase::MakeStringPiece()kullanımlarıstd::string_viewile değiştirildi (crrev.com/c/6628089, Bug: 422940464).base/strings/string_view_util.höğesinin kullanıldığı yerlerdebase::as_string_view()öğesi eklendi. Gelecekteki ad alanı taşımalarına hazırlık yapıldı (crrev.com/c/6625024, Hata: 423048781). - C++ standartları:
//chromegenelinde,<vector>(crrev.com/c/6652818),base/notimplemented.h(ve kullanılmadığı durumlardabase/notreached.h'ı kaldırma) (crrev.com/c/6655452, Hata: 41493641),base/strings/string_util.h(crrev.com/c/6607646),base/strings/string_number_conversions.h(crrev.com/c/6593576) öğelerini açıkça dahil ederek vebase/debug/stack_trace.h'nin gereksiz dahil etmelerini kaldırarak (crrev.com/c/6622838) "Kullanmadığınızı Dahil Edin" (IWYU) uyumluluğu iyileştirildi. - Test:
--driver-loggingseçeneğirun_wpt_tests.py'e taşındı. Böylece komut dosyası, daha düşük ayrıntı düzeylerinde bile ChromeDriver ve tarayıcıstderr'i dökebilir (crrev.com/c/6608138, Hata: 421262910). - Test: Daha önce devre dışı bırakılan ChromeDriver entegrasyon testleri yeniden etkinleştirildi: ekran görüntüsü testleri (
testTakeElementScreenshot*) (crrev.com/c/6598797, Hata: 42321815), JavaScript aracılığıyla pencere kapatma testleri (testCloseWindowUsingJavascript*) (crrev.com/c/6598978, Hata: 42321150) veheadless-shellpencere boyutu testleri (crrev.com/c/6621336, Hata: 42323661). - Test: APK'yı ayrıştırarak Clank'ın (Android) mevcut kararlı sürümünü doğru şekilde tanımlamak ve kullanmak için
run_wpt_tests.py --stabledüzeltildi. Ayrıca, ilgili ChromeDriver sürümünü Chrome for Testing'den (CfT) indirmek için komut dosyası güncellendi. Böylece, ödeme işlemi kirletilmeden geçici bir dizine indirme işlemi gerçekleştirilecek (crrev.com/c/6635694, Hata: 402548382). - Derleme altyapısı:
write_build_config.pyüzerinde gereksiz bir derleme bağımlılığı kaldırıldı. Artık bildirim birleştirme ve R.java paket adlandırma işlemleri özel özelliklerle (crrev.com/c/6625266, Hata: 413331591) yapıldığındanandroid_resources()hedeflerinin bildirimleri olmasına izin verilmiyor. - FedCM: FedCM ile ilgili bir Finch yapılandırma özellik bayrağı düzeltildi (crrev.com/c/6614137, Hata: 421959289).
ChromeDriver 138
Yeni özellikler
- Görüntüleme özelliği yönetimi: Görüntü alanı segmentleri için ChromeDriver davranışı, CSS Çalışma Grubu'nun yakın tarihli bir kararına uygun şekilde güncellendi. Artık katlanabilir bir cihaz düz olarak kullanıldığında veya tüm katlanamayan cihazlarda tek bir segment içeren bir dizi döndürüyor. Bu, medya sorgusu davranışıyla eşleşir ve parmak izi oluşturma risklerini azaltır (crrev.com/c/6469455, Hata: 414430842).
- Tercihler ve yerel durum (Android): ChromeDriver, Android cihazlara karşı çalıştırılırken
localStateveprefsözellikleri için destek eklendi. Bu işlem için ADB kullanılır ve özel biruser-data-dirişareti gerekir. Şu anda durum, varsayılan şablonlarla (crrev.com/c/6397155, Hata: 406427226) başlatılır.
Hata düzeltmeleri
- Kararlılık: Kullanıcı, İlk Çalıştırma Deneyimi (FRE) iletişim kutusunu "devam" düğmesiyle kapattığında macOS'te meydana gelen ChromeDriver kilitlenmesi düzeltildi. Kilitlenme,
kTargetDetachedhata durumunun geçersiz kılınmasından ve geçersiz birWebView'ye (crrev.com/c/6538867, Hata: 410599467) erişilmeye çalışılmasından kaynaklandı. - Performans testi: Windows'daki
crossbenchtest çalıştırıcısının,--browser=release_x64iletildiğinde ChromeDriver ikili programını eski bir../Release_x64yolu kullanarak yanlış bir şekilde bulmaya çalışan ve yerel derlemeyi kullanmak yerine eski bir ikili programı indirmeye geri dönmesine neden olan Pinpoint botları düzeltildi (crrev.com/c/6502134).
Dahili değişiklikler ve yeniden düzenlemeler
- Bellek güvenliği (spanlaştırma):
WebSocket::OnReadDuringHandshakeveWebSocket::OnReadDuringOpeniçindeki işaretçilerbase::spanile değiştirilerekunsafe-buffer-usageuyarıları giderildi (crrev.com/c/6557346, Hata: 354307328). Diğer taşımalardan sonra artık gerekli olmayan#pragma allow_unsafe_bufferspragmalarıchrome/test/chromedrivergenelinde kaldırdık (crrev.com/c/6503154, Bug: 414858406). - C++ standartları:
chrome/başlıklarındaki gereksiz#include "url/gurl.h"ve#include <queue>yönergeleri kaldırıldı, derleme sürelerini iyileştirmek için uygun yerlere ileri bildirimler eklendi (crrev.com/c/6578272, crrev.com/c/6570349, Bug: 40318405). - API taşıma:
RSAPrivateKey,crypto::PrivateKey'e veSHA256HashString,crypto::Sha256'a taşındı. Yeni anahtar oluşturma API'leri hatasız olduğundan eski bir hata işleme durumu temizlendi (crrev.com/c/6490294, Hata: 372283556). - Test: Compute Pressure API otomasyon komutlarına (hem CDP hem de testdriver uygulamaları)
OwnContributionEstimateözelliği eklendi (crrev.com/c/6373001, Hata: 402033762). - Test: Görünüm alanı segmentlerinin varsayılan görünüm alanı boyutuna geri döndüğünü kontrol etmek için onaylamaları basitleştirerek Sürekli Entegrasyon (CFT) botlarında
ClearDisplayFeaturesdoğrulayan entegrasyon testleri düzeltildi (crrev.com/c/6535067, Hata: 417195296). - Test: Daha yavaş CI botlarındaki kararsızlığı gidermek için Protected Audience WebDriver testlerinde zaman aşımları artırıldı (crrev.com/c/6494277).
ChromeDriver 137
Yeni özellikler
- Görüntüleme özelliği yönetimi: Görüntüleme özelliklerini taklit etmek ve temizlemek için ChromeDriver komutları eklendi. Böylece, Viewport Segments API'leri (CSS ve JS) için otomasyon şartları uygulandı. Bu, geliştiricilerin çift ekranlı veya katlanabilir cihazlarda katlama ya da menteşe senaryolarını programatik olarak test etmesine olanak tanır (crrev.com/c/6368674, Hata: 40137084).
- BiDi: ChromeDriver, varsayılan olarak BiDi Mapper'ı gizli bir hedefte çalıştıracak şekilde güncellendi. Bu, eşleyici
data:,sayfasının test işleminin ve görünürlüğün müdahale etmesini engeller. Eşleyiciyi hata ayıklamak için istemciler,--debug-bidi-mapperişaretini ileterek görünür bir sekmede çalıştırabilir (crrev.com/c/6441064, crrev.com/c/6439633 geri alındıktan sonra crrev.com/c/6433672 yeniden yayınlandı, Hata: 402339952).
Hata düzeltmeleri
- BiDi: Diğer CDP veya BiDi oturumları tarafından oluşturulan hedeflerin izini kaybetmesi durumunda, BiDi komutları (ör.
browsingContext.close) işlenirken ChromeDriver'ın tarayıcı oturumunun tamamını yanlışlıkla kapatması engellendi. Artık tarayıcıyı sonlandırmaya karar vermeden önce üst düzey sekmeleri açıkça senkronize ediyor (crrev.com/c/6440293, Hata: 42323838). - BiDi: ChromeDriver'ın
goog:channelcapability nesnesini boş dize olarak iletilirse kaldırmasını sağlayarak, eksik bir kanal gibi davranarak (crrev.com/c/6438865, Hata: 409282307) yukarı akış WebDriver BiDi spesifikasyonuyla uyumlu hale getirildi. - Giriş: ChromeDriver, işaretçi hareket ettirme komutlarında kesirli (kayan nokta) x ve y koordinatlarını destekleyecek şekilde güncellenerek dokunma ve işaretçi etkinliklerinin başarısız olduğu veya yanlış davrandığı sorun düzeltildi (crrev.com/c/6440834, Hata: 409684333).
- Hedef seçimi: Misafir görünümlerinde (
PdfOopifözelliği devre dışı bırakıldığında) açılan işlem dışı PDF iFrame'lerinin (OOPIF) üst düzey hedef listesine sızması engellendi. Filtreleme mantığı, buchrome-extension://önekli hedefleri (crrev.com/c/6383500, Hata: 396611138) düzgün şekilde hariç tutacak şekilde genişletildi.
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
LogMessageve izleme etkinliklerinde dosya adları içinstd::string_viewkullanma değişikliği yeniden uygulandı. Böylece, önceki geri döndürmelere neden olan, null ile sonlandırılmış dize işleme sorunları çözüldü (crrev.com/c/6430129, crrev.com/c/6395097 yeniden uygulandı, geri döndürme crrev.com/c/6383699 sonrasında crrev.com/c/6387020 yeniden uygulandı). - C++ standartları:
//chromegenelindeEnvironment::GetVarçağrıları, çıkış parametreleri yerinestd::optionaldöndüren API'yi kullanacak şekilde modernize edildi (crrev.com/c/6417343, Hata: 400758498). - C++ standartları: Döngüsel bağımlılık sorunlarını önlemek için Windows'a özgü işleyici yardımcıları
win_util.h'dan ayrılarak özel birwindows_handle_util.hüstbilgi dosyasına yeniden düzenlendi (crrev.com/c/6418805, Hata: 406023316). - Test: Android'e özel bir
Browseralan işleyici eklendi ve Android pencere oluşturma testlerini desteklemek içinBrowser.getWindowForTargetAPI'si uygulandı (crrev.com/c/6427605, Hata: 404932444). - Test: Uzantıların başlatılması çok uzun sürdüğü için macOS testlerinde oluşan kararsızlık sorunu düzeltildi (crrev.com/c/6423229, Hata: 407804497).
- Test:
chrome-headless-shellile çalışırkentestBrowserWithUsedUserDataDir'de paraleluser-data-diroluşturma işlemi, macOS'teki özel kilitleme ile çakıştığı için geçici olarak devre dışı bırakıldı (crrev.com/c/6470455, Hata: 411407649, Hata: 380903149). - Uzantılar:
ExtensionManifestV2Unsupportedalan denemesi etkinleştirildiğinde Chrome testlerinin başarılı olması için güncellendi. Bu temel bir adımdır ancak deneme sürümü, diğer depolardaki güncellemeler beklenirken devre dışı kalmaya devam eder (crrev.com/c/6415997, Hata: 367395349). (Not: Bu denemeyi yapılandırma üzerinden etkinleştirme girişimi, crrev.com/c/6397497 ile crrev.com/c/6358257 geri alınarak iptal edildi). - Bağımlılıklar:
catapultbağımlılığı manuel olarak kullanıma sunuldu ve ilişkilipydepsdosyaları iledevil_utilreferansları güncellendi (crrev.com/c/6480814, crrev.com/c/6466865, geri alma işleminden sonra crrev.com/c/6406098 yeniden kullanıma sunuldu crrev.com/c/6448910, Hata: 397459590).
ChromeDriver 136
Yeni özellikler
- Tarayıcı yaşam döngüsü: ChromeDriver'ı varsayılan
SIGKILLyerine tarayıcıyı düzgün bir şekilde durdurmaya (Browser.closeveya SIGTERM kullanarak) zorlayan Chrome'a özgü bir özellikquitGracefullyeklendi. Bu,rrgibi hata ayıklayıcılara işlem sonlandırılmadan önce kayıtlarını boşaltma süresi tanır (crrev.com/c/6322538, kısa bir geri döndürme işleminden sonra crrev.com/c/6269180 yeniden yerleştirme crrev.com/c/6320536, Hata: 339644807). - Test: Tarayıcı ikili programının önüne hata ayıklayıcıyı (ör.
rr) ve bağımsız değişkenlerini ekleyen geçici bir sarmalayıcı komut dosyası oluşturarakrun_wpt_tests.py --wrapperbağımsız değişkenini bağladı. Bu,argsanahtar olarak işlendiğinde ChromeDriver'ın ikili programı doğrudan değiştirememesi sorununu giderir (crrev.com/c/6271108, Hata: 339644807). - Test:
TranslateEnabledTest'de tercih yoluyla çeviri etkinleştirildi. Böylece, ChromeDriver'ın tarayıcı sürecini yönettiği ve--user-data-dirörtülü olduğunda yeni--remote-debugging-portkısıtlamasını atladığı bir test ortamı destekleniyor (crrev.com/c/6354089, Hata: 327797500). - DevTools: Android'de başka bir pencerede yeni bir sekme açmak için Geliştirici Araçları'nın aynı anda çalışan birden çok kopya özelliğine destek eklendi (crrev.com/c/6352169, Hata: 401269942, Hata: 382183406).
Hata düzeltmeleri
- Hedef seçimi:
PdfOopifözelliği devre dışı bırakıldığında, konuk görünümlerinde açılan PDF işlem dışı iframe'lerin (OOPIF'ler) üst düzey hedef listesinden filtrelenmemesine neden olan sorun düzeltildi. Filtre,chrome-extensionönekini içerecek şekilde genişletildi. Bu sayede hata giderildi ve sekme oluşturan MV3 Chrome uzantıları için kapsam eklendi (crrev.com/c/6383500, Hata: 396611138). - Hedef seçimi: Paketlenmiş Chrome Uygulamaları hedeflenirken
getWindowHandles()komutununconnection refuseddurumuyla başarısız olmasına neden olan gerileme düzeltildi (crrev.com/c/6317161, Hata: 396622746).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
LogMessageve izleme etkinliklerindeki dosya adları içinstd::string_viewkarakterini kullanan değişiklik yeniden uygulandı. Bu sayede, null ile sonlandırılmış dizeleri garanti etmeyen Rust günlük yapılarıyla uyumluluk iyileştirildi (crrev.com/c/6387020, geri alma crrev.com/c/6383699 ve başka bir geri alma crrev.com/c/6395097 işlemlerinden sonra crrev.com/c/5765705 yeniden uygulandı). - C++ standartları: Performansı optimize etmek için gereksiz
base::Value::Clone()çağrıları kaldırıldı (crrev.com/c/6361818). Derleme çıkışını temizlemek için Windows'a özgü dosyalarda ek-Wunsafe-buffers-in-libc-callsuyarılar devre dışı bırakıldı (crrev.com/c/6369920, Hata: 390223051). - Uzantılar: Bir sorun nedeniyle
ExtensionManifestV2Unsupportedaşaması içinfieldtrial_testing_config.jsongirişinin eklenmesi geri alındı (crrev.com/c/6397497, crrev.com/c/6358257 geri alınıyor, Hata: 367395349, Hata: 406523920). - Dokümanlar: Android'e özel ChromeDriver test dokümanları iyileştirildi (crrev.com/c/6354040).
ChromeDriver 135
Yeni özellikler
- BiDi:
--enable-unsafe-extension-debuggingbelirtildiğinde ChromeDriver izinlerini devralmak için BiDi Mapper güncellendi. Bu, WebDriver BiDi istemcilerinin genellikle WebDriver istemcisi tarafından tutulan izinler gerektiren uzantıları etkili bir şekilde test etmesini sağlar (crrev.com/c/6288627, Hata: 393500934).
Hata düzeltmeleri
- Test: Daha önce başarısız olarak işaretlenen çeşitli WDSpec testleri için beklentiler yeniden etkinleştirildi ve güncellendi. Bu değişiklik, başarılı testler için spesifikasyon uygunluğu kapsamını geri yükler (crrev.com/c/6310420).
Dahili değişiklikler ve yeniden düzenlemeler
- Temizleme: Lacros desteği sonlandırıldığından ve
IS_CHROMEOS(crrev.com/c/6284446, Hata: 354842935) standardı benimsendiğindenchrome/test/'den Lacros'un tüm izleri (IS_CHROMEOS_LACROSve ilgili test verileri dahil) kaldırıldı. - Temizleme:
md5sumyardımcı programınındevil_utilile değiştirilmesinin ardından, eski derleme bağımlılıklarını temizleyerek (crrev.com/c/6309939, Bug: 397452007)md5sumyardımcı programının tüm izleri kaldırıldı. - C++ standartları:
chrome::ad alanıResultCodeveIsNormalResultCode()'den kaldırıldı, bunlar genel ad alanına taşındı ve eski ChromeOS başlangıç içe aktarmaları kaldırıldı (crrev.com/c/6196899, Bug: 41050580). - Bellek güvenliği:
std::ranges::lower_bound(crrev.com/c/6223172, Hata: 392116519) kullanılarak ChromeDriver'dastd::lower_boundçağrısı basitleştirildi. Gelecekteki yaptırımlara hazırlık için başlangıçta tanımlanan, uyumlu olmayan dosyalarla ilgiliunsafe_libc_calluyarıları devre dışı bırakıldı (crrev.com/c/6187925, Hata: 390223051). Güvenliği artırmak ve derleme zamanı değerlendirmesini iyileştirmek içinstd::to_arrayişlevinin dönüş değericonstexprolarak işaretlendi (crrev.com/c/6298909).
ChromeDriver 134
Yeni özellikler
- Hemen çıkma durumunu izleme çözümleri (DIPS):
RunBounceTrackingMitigationskomutunu kullanarak hemen çıkma durumunu izleme çözümleri için yeniden ChromeDriver desteği eklendi. Entegrasyon testi, ayrı sayfalar kullanacak şekilde yeniden yapılandırıldı. Böylece, komut yürütülmeden önce durum bilgisi içeren yönlendirmelerin doğru şekilde kaydedilmesi sağlandı. Bu özellik,nav-tracking-mitigationsspesifikasyonunu destekler ve//chrome'te uygulanır (crrev.com/c/4935955, Hata: 1474656). (Not: İlk olarak crrev.com/c/4873672 adresinde eklenmiş, daha sonra geri alınmıştır). - BiDi: ChromeDriver, standart WebDriver BiDi uzantı özelliklerini
goog:önekiyle kullanacak şekilde güncellendi. Bu değişiklik, yukarı akışchromium-bidideğişiklikleriyle uyumludur. Eskichannelözelliğine artık izin verilmiyor (crrev.com/c/6179410). - Windows: Windows'daki
chromedriver.exeikili programa bir sürüm kaynağı eklendi (crrev.com/c/61114586, Hata: 385300323).
Hata düzeltmeleri
- MPArch/Targets: ChromeOS'te birincil hedef belirlenirken Chrome uzantısı hedeflerinin (
chrome-extension://) yanlışlıkla keşfedilip eklenmesine ve sonraki komutların (ör. gezinme) başarısız olmasına neden olan gerileme düzeltildi. Uzantı hedefleri artık bu ilk aşamada düzgün şekilde atlanıyor (crrev.com/c/6183202, Hata: 385241097). - MPArch/Targets: Uzantı hedefi desteği devre dışı bırakıldığında uzantı
background_page'ları için sekme hedeflerinin üst düzey web görünümlerinden düzgün şekilde filtrelenmediği başka bir regresyon düzeltildi (crrev.com/c/6160774, Hata: 385731198). - MPArch/Navigation: MPArch etkinleştirme sırasında bir sekmeye anlık olarak etkin sayfa eklenememesine ve bunun sonucunda ChromeDriver'ın bu durumu yanlışlıkla hata durumu olarak görmesine neden olan sorun düzeltildi. ChromeDriver artık durumu çözmeden önce sekmenin yeni bir sayfa edinmesini ve gezinme işlemini tamamlamasını bekliyor (crrev.com/c/6177606).
- Günlük İşleme: Çok baytlı karakterler içeren günlük dizelerinin uygun şekilde kesilmemesinden kaynaklanan kilitlenme (
DCHECKbase::Value()'da hata) düzeltildi. Geçerli kod noktaları sağlamak için mantık, basitstd::stringuzunluk kontrolleri yerineUnicodeStringsınır algılamayı kullanacak şekilde güncellendi (crrev.com/c/6210809, Hata: 367752739). - Test: Son MPArch yeniden düzenlemesi, ChromeDriver'ın bunları doğru şekilde çalıştırmasına olanak tanıdığından (crrev.com/c/6168830, Bug: 42323502, Bug: 366257368) önceden oluşturmayla ilgili WPT'lerin çoğunu (bilinen API sorunları olan birkaç tanesi hariç)
content_shell'denheadless_shell'ye taşıdık.
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
base::rangeskullanımı standartstd::rangesile değiştirildi (crrev.com/c/6200893, crrev.com/c/6177197, Bug: 386918226). Mümkün olan yerlerdeb ? "true" : "false"yerinebase::ToString(bool)kullanmak içinb ? "true" : "false"kalıpları yeniden yazıldı (crrev.com/c/6165810, Hata: 335797528). Güvenli olmayanStringPrintfNonConstexpr()işlevi kaldırıldı ve daha güvenli dize biçimlendirme alternatifleriyle değiştirildi (crrev.com/c/6149756). Güvenli olmayan arabellek uyarılarını (crrev.com/c/6217045, Bug: 392116519) çözmek için işaretçi aritmetiği (+ std::size) standartbegin/endyineleyicilerle değiştirildi. - Temizleme:
FedCmIdpSigninStatusözellik bayrağı ve çalışma zamanı işareti (crrev.com/c/6111321, Hata: 381211734) kaldırıldı. (Not: Önceki kaldırma girişimi, bozulmalar nedeniyle geri alınmıştır crrev.com/c/6082405).
ChromeDriver 133
Yeni özellikler
- Mimari: Çoklu sayfa mimarisini (MPArch) ve sekme hedeflerini desteklemek için ChromeDriver yeniden düzenlendi.
WebViewImplartıkAutoAttachüzerinden sekme hedeflerine bağlanıyor. Daha önce bir sayfayı tutan komutlar artık bir sekme altındaki etkin sayfayı arıyor. Bu değişiklik, uzantı arka plan sayfalarının incelenmesini sağlar. Bu sayfalar artıkenable_extension_targetsözelliğiyle hedeflenebilir (varsayılan olarak uzantı hedefleri atlanır) (crrev.com/c/5961156, Hata: 379767670, Hata: 42323502).chrome-extension://URL sayfalarının yanlışlıkla uzantı hedefi olarak dahil edildiği regresyon düzeltildi. Seçim yalnızcatype=background_pageolarak geri döndürüldü (crrev.com/c/6093588, Hata: 383141569).enableExtensionTargets, üst düzey bir özellik yerine Chrome Seçenekleri'ne taşındı (crrev.com/c/6093032). - Klasik: Çok anahtarlı öğe referansları için destek yeniden etkinleştirildi. Genellikle hem W3C hem de W3C dışı modlarla uyumlu referanslar oluşturmak için kullanılan bu belgelenmemiş özellik artık resmi olarak destekleniyor ve entegrasyon testleri kapsamında (crrev.com/c/6063257, Bug: 379584343).
Hata düzeltmeleri
- Kararlılık:
browsingContext.closekomutu işlenirken ChromeDriver'ın süresiz olarak engellemesi önlendi. Tarayıcının kapatılması gerekip gerekmediğini belirlemek için farklı bir mekanizma kullanan ChromeDriver, artıkbeforeunloadistemlerini duraksamadan düzgün bir şekilde işleyebilir (crrev.com/c/6080431, Hata: 42323838, Hata: 379049702). - Gezinme: URL'si
about:blank?testolan sahte bir sayfanın duraksamaya neden olduğu hata düzeltildi. Yanıt vermeyen yeni bir pencereyi (baseURL==about:blankvedocumentURL!=about:blank) tanımlaması amaçlanan sezgisel yöntem, artık bu sorgu dizesi URL'lerini özel bir durum olarak doğru şekilde işliyor (crrev.com/c/6038039, Hata: 377410086). - Gezinme:
AbortedByNavigationhatasıyla başarısız olan komutları yeniden deneme mantığı eklendi. ChromeDriver, standart birTimeouthatasıyla (crrev.com/c/6012427, Hata: 42323825) pes etmeden önce komutu birkaç kez deneyecek. - Teşhisler:
kTargetCrashedhatası doğrudanNavigationTrackerüzerinden iletildi. Bir hedef, gezinme algılama sırasında kilitlenirse artık genel bir zaman aşımı yerine bu hata kullanıcıya gösterilerek teşhisler iyileştiriliyor (crrev.com/c/6032612, Hata: 377410086). - Android:
chrome_android_impl.cc'da (crrev.com/c/6110492, Hata: 384781876) sekme hedefi aramaları düzeltildi. - Test:
win11-arm64üzerinde çeşitli pencere boyutlandırma testlerindeki (ör. gizlenmiş öğeleri tıklama) kararsızlık düzeltildi. Testler artık yeniden boyutlandırma işleminden sonra, pencerenin yavaşça yeniden çizilmesini de hesaba katarak pozitif bir yüksekliği doğru şekilde kaydedene kadar iç pencere boyutunu tekrar tekrar sorguluyor (crrev.com/c/6012658, Bug: 378470046). - Test: Genel Python bağlantı hatalarını
WebSocketConnectionClosedExceptionile eşleyerek entegrasyon testlerindeki birden fazla hata düzeltildi, hata işleme basitleştirildi (crrev.com/c/6054134), anında yan etkilerin beklendiği yerlerdePostCommandyerineSendCommandkullanılarak yarışma durumu önlendi (crrev.com/c/6054137) veExecuteScriptöğesinin anında etkilerine güvenmek yerine daha güvenilir gezinme algılama mekanizmaları kullanıldı (crrev.com/c/6063040, Bug: 42323825). - Test:
FedCmIdpSigninStatusözellik işaretinin kaldırılması, bozulmalara neden olduğundan (crrev.com/c/6082405, crrev.com/c/6078693 geri alınıyor, Hata: 384866916, Hata: 381211734) bu özellik işaretinin kaldırılması geri alındı. - Araçlar:
log_replaykomut dosyasındaPrintkomutu için destek eklendi (crrev.com/c/6010809, Hata: 378451938).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları:
Mojo.InvalidUTF8Stringhistogram kaldırıldı. Böylece herkese açık mojo başlıkları temizlenebildi ve IWYU'nun basamaklı olarak çalışması sağlandı (crrev.com/c/6133861, Bug: 40509710, Bug: 386793084). - C++ standartları:
std::list'denbase::circular_deque'e geçilerekWaitableEvent::Wait()'deki ayırmalar önlendi (crrev.com/c/6097198). - C++ standartları: Mümkün olan yerlerde
chrome/kod tabanında kullanıcı tanımlı boş oluşturucular ve yıkıcılar varsayılan olarak ayarlandı (crrev.com/c/6101911, crrev.com/c/6056220, Bug: 381119547). - Bellek güvenliği (spanification):
-Wunsafe-buffer-usageuyarılarını gidermeye yönelik daha kapsamlı bir çalışmanın parçası olarakchrome/genelinde C tarzı dizilerstd::array'ye taşındı (crrev.com/c/6043879, Hata: 378069401). Aralık işlevlerinde (crrev.com/c/6026238, crrev.com/c/6020621) sıkısize_tkullanımı uygulandı. - Test:
testdriverartık bunları desteklediğinden (crrev.com/c/6088404) tam ekran{ref,crash}tests,wpt_internal/'e geri aktarıldı. - Test:
--build-directoryöğesi doğru şekilde bağlandığından (crrev.com/c/6014940, Bug: 374199289, Bug: 355218109), varsayılan olmayan çıkış dizinleri (ör.//out/*-ios-wpt-fyi-rel/) kullanılırken ChromeDriver sarmalayıcısının doğru şekilde bulunması için iOS'tewptrunnerdüzeltildi. - Test: Müşteriler tarafından fark edilmeyen ölümcül hataların olduğu regresyon durumlarını göstermek için
testBrowserCrashWhileWaitingForEventsentegrasyon testi eklendi (crrev.com/c/6025145, Hata: 379049702). - Test: Oluşturucuları dengelemek için
headless_shellaltında ChromeDriver ile birlikte çalıştırıldığında kilitlenen belirli WPT'ler devre dışı bırakıldı (crrev.com/c/6032163, Hata: 377410086).
ChromeDriver 132
Yeni özellikler
- Test: ChromeDriver entegrasyon testlerine
repeatveretry-limitkomut satırı parametreleri için destek eklendi. Bu parametreler, standartisolated-script-test-repeatveisolated-script-test-launcher-retry-limitbağımsız değişkenleriyle eşlendi (crrev.com/c/5938195, Hata: 374681919). Yerel olarak yürütülen testler (CI olmayan) için varsayılanretry-limitdeğeri 0 olarak değiştirildi (crrev.com/c/5953326, Hata: 374681919). - WebSockets:
WebSocketConnectionve ilgili sınıflarEmbeddedTestServeriçinde uygulandı. Böylece WebSocket ile ilgili testlerinSpawnedTestServer'den taşınmasına olanak tanındı. Buna, protokole göre çerçeveleme ve basitleştirilmiş işleyici kaydı (crrev.com/c/5849732, Hata: 40812029) dahildir.
Hata düzeltmeleri
- Kararlılık: Tıklama komutu tarayıcının kapanmasına neden olursa oluşabilecek bir ChromeDriver kilitlenmesi, daha önceki yeniden düzenlemelerde (crrev.com/c/5934524, Bug: 42323264) kullanıma sunulan
kTargetDetachedhata durumu düzgün şekilde işlenerek düzeltildi. - Kararlılık: Bir yarış durumu çözülerek Mac ARM64'teki
testClickNavigateRemoteToLocalentegrasyon testinde aralıklı olarak meydana gelen kilitlenme sorunu düzeltildi (crrev.com/c/5975526, Hata: 375971185). - Gezinme: Daha önce doküman etkin durumdan uzaklaşırken (devam eden bir gezinme olduğunu gösterir)
Page.getNavigationHistoryçağrıldığında başarısız olanGoBackveGoForwardkomutları düzeltildi. ChromeDriver artık bu senaryoda komutu doğru şekilde yeniden deniyor (crrev.com/c/6011739, Hata: 378433873). - Komut dosyası yürütme: Gezinmeyi tetikleyen veya bir pencereyi kapatan komut dosyalarının, tarayıcı tarafı bir sonuç garanti etmediğinde standart bir
ScriptTimeouthatası döndürdüğünden emin olundu. Bu sayede, kullanıcıdan belirsiz test yapılarından kaçınması istendi (crrev.com/c/5934265, Hata: 372883701). - Komut dosyası yürütme: Günlük tekrar oynatma işlevinin "beklenmeyen komut yanıtı" hatasıyla başarısız olmasına neden olan sorun düzeltildi (crrev.com/c/5961142, Hata: 42323342).
- Hata kodları: ChromeDriver'ın hata işleme yöntemi düzeltildi. Artık tüm istisnalar "code" özelliğiyle genel bir "javascript error" içine zorla sarmalanmayacak. Bu sayede, "eski öğe referansı" (
call_function.js) ve "geçersiz öğe durumu" (Selenium AtomsCLEARişlevinden) gibi standart hataların kullanıcıya doğru şekilde iletilmesi sağlanır (crrev.com/c/5937893, Hata: 42323409). Eksik etiket adı bilgilerini doğru şekilde "nesne bir öğe değil" olarak yorumlamak içinGetElementTagNameiçinde hata işleme iyileştirildi (crrev.com/c/5929087). - BiDi: Özel bir kullanıcı profili kullanıldığında BiDi oturumlarının başlatılamamasına neden olan sorun düzeltildi. Özel profilin yüklü sayfası, BiDiMapper'ın başlatılmasını engelleyebiliyordu. ChromeDriver artık eşleyici için temiz bir başlangıç sağlamak üzere ilk sekmenin her zaman
data:,ile yüklenmesini sağlıyor (crrev.com/c/5960656, Hata: 366886096). - Gizli mod: ChromeDriver'ın gizli modda çalışırken yeni sekmeler oluşturmasını engelleyen hata düzeltildi (crrev.com/c/5952980, Bug: 42323352).
- Test:
testScriptNavigateRemoteToLocalentegrasyon testindeki (%8,33 oranında başarısız oluyordu) kararsızlık düzeltildi ve yarış durumuyla ilgili düzeltmeyi yeniden üretip doğrulamak için C++ entegrasyon testleri eklendi (crrev.com/c/6010867, Hata: 378387680). - Test: Mac (
testWindowMinimize) ve Windows'da (ChromeDownloadDirTest.testFileDownloadAfterTab,InvalidCertificateTest.*) ve genel olarak (testShadowDomFindElement, öğe ekran görüntüsü testleri) daha önce kararsız olan çok sayıda entegrasyon testi yeniden etkinleştirildi. Kararsızcss/css-scrollbars/WPT testleri, geçici olarak gözetimsiz kabuktan içerik kabuğuna geri taşındı (crrev.com/c/5953708, crrev.com/c/5948803, crrev.com/c/5941351, crrev.com/c/5941098, crrev.com/c/5959254, Hata: 42323825, Hata: 40848017, Hata: 40736504, Hata: 40176424, Hata: 40927590).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: En son yukarı akış düzeltmelerini ve protokol güncellemelerini (crrev.com/c/5953339, crrev.com/c/5865478, Bug: 4226) dahil etmek için
chromium-bidieşleyici bağımlılığı yükseltildi. (Not: WPT hataları nedeniyle kısa süreliğine geri alınan harita oluşturucu artışı, daha sonra yeniden kullanıma sunuldu (crrev.com/c/5961113)). - Mimari: Testler arasında durum paylaşımıyla ilgili hataları önlemek ve açık oturum işlemeyi basitleştirmek için ChromeDriver'da iş parçacığına özel oturum nesnesinin kullanımı en aza indirildi (crrev.com/c/5978486, Hata: 42323555). Ortak bir test düzeneği kullanmak için C++ entegrasyon testleri yeniden düzenlendi (crrev.com/c/5971474, Hata: 42323555).
- Temizleme: Eski
chrome-headless-shellkodu artık Chrome'da bulunmadığı için "eski gözetimsiz" moduna özgü, desteği sonlandırılmış geçici çözümler kaldırıldı (crrev.com/c/5961602, Hata: 42323387). - Temizleme: Daha önce kaldırılan ChromeDriver kabul testlerinden kalan kullanılmayan
java_tests.txtdosyası kaldırıldı (crrev.com/c/5970994, Bug: 357737793). - Test: ChromeDriver'ın aynı
user-data-dirile yanlışlıkla paralel oturumlar oluşturmadığını veya oturumlar arasında URL'leri sızdırmadığını doğrulamak için bir C++ entegrasyon testi eklendi. Bu durum, kararsızlığa neden olabilirdi (crrev.com/c/5961137, Hata: 375312517). - Test: Kaynakları boşaltmak için entegrasyon testleri tarafından oluşturulan geçici ChromeDriver örneklerinin mümkün olduğunca hızlı bir şekilde kapatılması sağlandı (crrev.com/c/5997970, Hata: 375974725).
ChromeDriver 131
Yeni özellikler
- BiDi: En son protokol güncellemelerini ve hata düzeltmelerini içeren
chromium-bidieşleyici bağımlılığı v0.8.0'a yükseltildi (crrev.com/c/5899240, crrev.com/c/5865478, Bug: 4226). - DOM erişimi:
GetElementShadowRootkomutunda kapalı gölge kökleri için destek eklendi. Daha önce, bu komut kapalı bir gölge köke erişmeye çalışırkenNoSuchShadowRoothatası döndürüyordu (crrev.com/c/5923865, Bug: 372834222). - DOM erişimi: Pencere ve çerçeve tanımlayıcıları için destek uygulandı. Böylece, pencerelere veya çerçevelere (OOP iFrame'ler dahil) yapılan referansların, daha fazla referans kaldırma için yürütülen komut dosyalarından döndürülmesine olanak tanındı (crrev.com/c/5890437, crrev.com/c/5923555, Hata: 366272556, Hata: 40229283).
- WebAuthn: WebAuthn otomasyon API'si,
userNameveuserDisplayNameözelliklerini içerecek şekilde genişletildi (crrev.com/c/5905423, Hata: 367915823).
Hata düzeltmeleri
- Giriş: Fare etkinliklerini en üstteki çerçeveye göndermek yerine hedef çerçevenin aynı kaynaklı en üstteki üst öğesine yönlendirerek uzak çerçevelerdeki fare tıklamalarıyla ilgili yarışma durumu düzeltildi (crrev.com/c/5836968, Hata: 42323535).
- Giriş:
Input.dispatchTouchEventkomutuyla gönderilen zaman damgası biçimi, milisaniyeden saniyeye düzeltilerek WPT işaretçi etkinlikleri testindeki kilitlenmeler giderildi (crrev.com/c/5924253, Hata: 360918166). - Test: İlişkili kararsızlık hataları artık yeniden üretilemediği için Mac (crrev.com/c/5923569, crrev.com/c/5922823, crrev.com/c/5921444, crrev.com/c/5920851, crrev.com/c/5921442) ve Windows'da (crrev.com/c/5923955) çok sayıda ChromeDriver testi yeniden etkinleştirildi.
Dahili değişiklikler ve yeniden düzenlemeler
- Bellek güvenliği (spanlaştırma):
net::HttpUtil'de (crrev.com/c/5854420) güvenli olmayan işaretçi kullanımıbase::spanile değiştirildi vebase::File::WriteAtCurrentPos(), span tabanlı eşdeğerine taşındı (crrev.com/c/5818972). Harita işaretçisi değerleri (ör.std::map,std::unordered_map)raw_ptrolarak yeniden yazıldı (crrev.com/c/5867189, Hata: 329428315). - C++ standartları: Abseil özelliği makroları (
ABSL_ATTRIBUTE_*) standartbase/makrolarıyla (crrev.com/c/5852373) değiştirildi. Değere göre iletilen dizeleri/vektörleri uygun yerlerdestd::string_viewveya const referanslarıyla değiştirerek istenmeyen kopyaları önledik vestd::string_viewbağımsız değişkenlerinden gereksizconstniteleyicilerini kaldırdık (crrev.com/c/5914620, crrev.com/c/5906184, Bug: 369952985). - Altyapı: Fuchsia,
web-engine'ı kontrol etmek için ChromeDriver'ı kullanacak şekilde yapılandırıldı (crrev.com/c/5867896, Hata: 40935291). - Test: Eski içerik kabuğu çalıştırıcısı, WebAuthn testdriver API'sini (crrev.com/c/5920770, Hata: 372169469) desteklemeyi yakında bırakacağından, sınırlı çerçeveler WebAuthn testi, ChromeDriver ile başsız Chrome'a taşındı.
ChromeDriver 130
Yeni özellikler
- BiDi: BiDi Mapper bağımlılığı güncellendi. Böylece, yukarı akıştan en son protokol güncellemeleri ve hata düzeltmeleri getirildi
chromium-bidi(crrev.com/c/5850570, crrev.com/c/5840080 geri alındıktan sonra crrev.com/c/5837065 yeniden yayınlandı; crrev.com/c/5717956, Hata: 4226). - BiDi: BiDi oturumu başlatılırken
unhandledPromptBehavioröğesinisession.newkomutu aracılığıyla doğrudan Mapper'a iletmek için ChromeDriver güncellendi. Bu,MapperOptions'dan (crrev.com/c/5682934, crrev.com/c/5766077, Bug: 42323841, Bug: 356371297) uzaklaşma işlemini tamamlar. - Test: Masaüstü derlemeleri için
bisect-builds.pykomut dosyasına--chromedriverbağımsız değişkeni desteği eklendi. Bu sayede komut dosyası, WebDriver/ChromeDriver'a bağlı testler için ikiye bölme sırasında ChromeDriver'ın doğru sürümünü otomatik olarak indirip kullanabilir (crrev.com/c/5861048, Hata: 352344089).
Dahili değişiklikler ve yeniden düzenlemeler
- C++ standartları: Çeşitli sınıflardaki "beş kuralı" sorunları giderildi. Chrome stil eklentisi, satır dışı taşıma oluşturucuları zorunlu kılmadan satır dışı yıkıcılar konusunda ısrarcı olduğundan derleyici, taşıma operatörlerini örtülü olarak siliyordu ve sessizce kopyalara geri dönüyordu. Bu eksik bildirimler eklendi (crrev.com/c/5846757, Hata: 364788123).
- Test: Sabit kodlanmış
chromedizesini kullanılan gerçek ürünle değiştirerek ve ayrıntılıcommandyapıyı özet çıktısından gizleyerekwptrunnertest sonuçları özetini temizlendi (crrev.com/c/5825633, Hata: 41494889). - Test: Bu işletim sistemindeki testler Mac14'tekinden önemli ölçüde daha fazla zaman gerektirdiğinden, belirli zaman aşımları iki katına çıkarılarak macOS 15'teki (Mac15) ChromeDriver entegrasyon testlerinde yaşanan büyük test hataları düzeltildi. Ayrıca, güvenilirlik sorunları nedeniyle dört sanal sensör testi de yoksayılanlar listesine eklendi (crrev.com/c/5817455, Hata: 354939744).
- Test: Mac'teki kararsız
ChromeDriverSiteIsolation.testClickNavigateLocalToLocaltesti (crrev.com/c/5806894, Hata: 361521805) ve Windows 11'deki kararsızChromeDriverTest.testClickElement*ObscuredByScrollBartestleri (crrev.com/c/5804083, Hata: 360058651) devre dışı bırakıldı. - Test: Çeşitli altyapı sorunları nedeniyle ChromeDriver kabul testleri (mevcut ChromeDriver'a karşı test etmek için eski Chrome sürümlerini indiriyordu) kaldırıldı. Bu testler, daha sonra otomatik olarak yeni sürüme geçme özelliğiyle CI'ya yeniden eklenebilir (crrev.com/c/5812142, Hata: 357737793).
ChromeDriver 129
Yeni özellikler
- BiDi: ChromeDriver oturum başlatma yardımcısı, BiDi Mapper'a
session.newkomutu gönderecek şekilde güncellendi. Böylece, Mapper'ın özellikleri doğrudan işlemesine olanak tanındı. Bu,MapperOptions(crrev.com/c/5741432, Bug: 356371297) öğesini kaldırmaya yönelik ilk adımdır. (Not: İşlenmişunhandledPromptBehaviorsağlayan ilgili değişiklik crrev.com/c/5754093, test kapsamındaki düşüş nedeniyle crrev.com/c/5755744 ile geri alınmıştır). - Compute Pressure: Compute Pressure spesifikasyonunun Otomasyon bölümünü uygulayarak sanal basınç kaynağı yönetimi için yeni uzantı komutları eklendi. Bu komutlar ayrıştırılıp CDP katmanına iletilir (crrev.com/c/5666583, Hata: 347031400).
- Uzantılar MV2: Devam eden Uzantı Manifest V2 Kullanımdan Kaldırma alan denemesi (crrev.com/c/5685054, Hata: 339061151) kapsamında
ScopedTestMV2Enablerkullanmak için MV2 davranışını uygulayan testler güncellendi.
Hata düzeltmeleri
- Klasik serileştirme: WebDriver Classic komut dosyası yürütme sonuçlarında
Setserileştirilirken görünen nesneleri izleyerek sonsuz döngüleri önler veArray.prototype.includesgeçersiz kılmalarına izin verir (crrev.com/c/5765833, Hata: 357472850). (Not: Bu değişiklik, WPT regresyonu nedeniyle daha sonra geri alındı crrev.com/c/5773175).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı,
chromium-bidi(crrev.com/c/5756587, crrev.com/c/5717956, Bug: 4226) ile ilgili en son hata düzeltmelerini ve protokol güncellemelerini içerecek şekilde güncellendi. - Bellek güvenliği (spanification):
WebSocketFrameParser::Decode,MaskWebSocketFramePayloadveWriteWebSocketFrameHeader'deki güvenli olmayan arabellek kullanımıbase::spanile değiştirildi (crrev.com/c/5764863, crrev.com/c/5743019, crrev.com/c/5722108, Bug: 40284755, Bug: 354307327). Diğer düzeltmelere hazırlık olarakchrome/*genelinde#pragma allow_unsafe_bufferseklendi (crrev.com/c/5717950, Bug: 40285824) ve uyumlu olmayanUNSAFE_BUFFERS()makrolarıUNSAFE_TODO()olarak dönüştürüldü (crrev.com/c/5786346).base::spanalanlarıbase::raw_spanolarak yeniden yazıldı (crrev.com/c/5515096, Hata: 332587642). - C++ standartları: Dizi uzunlukları açıkça
constexprolarak işaretlenerek kod tabanında tehlikeli değişken uzunluklu dizilerin (VLA'lar) kullanımı kaldırıldı (crrev.com/c/5738737, Hata: 349656479). Daha önce geçişli olarak çekilen gerekli<unordered_map>üstbilgileri eklendi (crrev.com/c/5792881). - Mimari:
WebSocketEncoderuygulamasının//services/network/public/cpp/server'ye geçişini geri alarak ve tutarlı güncellemeler sağlamak için mantığı tekrar//net/serveriçinde merkezileştirerekWebSocketEncoderuygulamasının çatallanmasını kaldırdık (crrev.com/c/5768214, Hata: 40205564).
ChromeDriver 128
Yeni özellikler
- Özellikler:
unhandledPromptBehaviorözelliği için sözlük kullanımına izin verildi. Bu özellik, standart özellik yapılarıyla uyumlu olsa da henüz Mapper tarafından tam olarak desteklenmiyor (crrev.com/c/5692204, crrev.com/c/5682934, Hata: 42323841). - Başlangıç: ChromeDriver'a
--ignore-explicit-portkomut satırı bağımsız değişkeni eklendi. Bu geçici çözüm, ChromeDriver'ı açıkça sağlanan bağlantı noktasını yoksaymaya ve bunun yerine ücretsiz bir bağlantı noktası bulup bu bağlantı noktasına bağlanmaya zorlayarak web platformu test işlemi sırasında TCP bağlantı noktası yarışlarını çözümler (M132'den sonra kaldırılması amaçlanmaktadır) (crrev.com/c/5724574, crrev.com/c/5703976, Hata: 42323836).
Hata düzeltmeleri
- Sensörler:
ExecuteUpdateVirtualSensorkomutununsetSensorOverrideReadingsCDP komutu değer döndürmediğinden (crrev.com/c/5703589)SendCommandAndGetResult()yerineSendCommand()kullanması düzeltildi. - FedCM: FedCM ChromeDriver testlerindeki yarış durumu düzeltildi. Artık bir iletişim kutusu beklenirken
NoSuchDialogdöndürülmediği onaylanıyor. Böylece, iletişim kutusu çok hızlı görünürse testlerin başarısız olması önleniyor (crrev.com/c/5713515, Hata: 346530330). - Test: Temel sorun (crbug.com/40233722) düzeltildikten sonra Mac'te WebAuthn sanal kimlik doğrulayıcı testleri yeniden etkinleştirildi (crrev.com/c/5635806, Hata: 329130177).
- Hata Mesajları:
execute/asynckomutunun hata mesajındaki yazım hatası düzeltildi (crrev.com/c/5697913).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı yükseltilerek
chromium-bidiprojesinden en yeni protokol özellikleri, hata düzeltmeleri ve WPT beklenti güncellemeleri getirildi (crrev.com/c/5717956, crrev.com/c/5644823, crrev.com/c/5630727, crrev.com/c/5615110, crrev.com/c/5614670, Bug: 4226, Bug: 347863537, Bug: 324436866). - Kullanımdan kaldırılan
GrowableIOBuffer::StartOfBufferyöntemi,spanile değiştirilerek kontrol edilmeyen işaretçiler ortadan kaldırıldı ve böylece bellek güvenliği iyileştirildi (crrev.com/c/5706088, Hata: 329476354). - Bellek güvenliğini artırmak için
DecodeyöntemleriWebSocketFrameParserile birleştirildi (crrev.com/c/5722108, Hata: 354307327). - Eski Abseil başlıklarını kaldırarak ve
std::optional'ye (crrev.com/c/5691505, Bug: 40242125) geçerekabsl::optional'nin kalan kalıntıları temizlendi. - ChromeDriver, tüm bilinmeyen hedef türlerini (
shared_storage_workletdahil) hata olarak değerlendirmek yerineWebViewInfo::kOtherolarak işleyecek şekilde değiştirildi. Bu sayede Chrome, WPT'leri hemen bozmadan yeni hedef türleri kullanıma sunabilir (crrev.com/c/5680542, crrev.com/c/5679146, Hata: 42323839). linux-builder-perfoluşturucusu için, bisect arşivleri için sembolleri kaldırılmış ikili dosyalar oluşturmaya yönelik bir yükleyici hedefi eklendi ve pinpoint oluşturucuları, farklıadditional_compile_targets'leri (crrev.com/c/5668198, Bug: 344643694) kabul edecek şekilde yapılandırıldı.- Performans derlemeleri sırasında ChromeDriver konumunu bulup
crossbench'ye iletmek içinrun_performance_tests.pygüncellendi (crrev.com/c/5624538, Hata: 338629299). crossbenchbağımlılığı kullanıma sunuldu (crrev.com/c/5681849).- Mac'te
FedCmSpecificTest.testClickErrorMoreDetailsveFedCmSpecificTest.testClickErrorGotIttestleri kararsız olarak işaretlendi (crrev.com/c/5704320, crrev.com/c/5677564, Bug: 352821422, Bug: 346530330). - Kararsız
BidiTest.testFocusInFirstTabtesti devre dışı bırakıldı (crrev.com/c/5676686, Hata: 350916212).
ChromeDriver 127
Hata düzeltmeleri
- Kararlılık: Geliştirici Araçları istemcisi diğer komutları aktif olarak işlerken
target.detachFromTargetkomutu (veyatarget.detachedFromTargetetkinliği) alındığında meydana gelen ChromeDriver kilitlenmesi düzeltildi. BöyleceWebViewveDevToolsClientnesnelerinin (crrev.com/c/5527584, Bug: 339773537) erken yayınlanması önlendi. - Kararlılık: Komut yürütme sırasında bir web görünümü ayrılırsa
Switch To Windowkomutunun yanlışlıkla "bilinmeyen hata" döndürmesine neden olan sorun düzeltildi. Artık "web görünümü bulunamadı" dahili hatası doğru şekilde yoksayılıyor. Bu sayede, hedef pencere gerçekten kapandıysa standart bir "böyle bir pencere yok" yanıtı veriliyor (crrev.com/c/5583730, Hata: 338616700). - Kararlılık: ChromeDriver'ın, dahili WebView listesini güncellerken hedef ayrılmasını tolere etmesi sağlandı. Güncelleme sırasında bir hedef ayrılırsa ChromeDriver artık standart olmayan bir hata döndürmek yerine yeniden deneyecek. Böylece, pencerelerin hızlı bir şekilde oluşturulup yok edildiği ortamlarda kararsızlık azalacak (crrev.com/c/5565103, Bug: 338616700, Bug: 4771).
- Gezinme: Öğeler aranırken uzak uç tarafından algılanan bir gezinmenin beklenmesi için ChromeDriver'a mantık eklendi. Bu, gezinme işlemi bir öğe bulma işlemiyle çakıştığında ChromeDriver'ın standart dışı bir hata döndürmesini veya
DCHECKile kilitlenmesini önler (crrev.com/c/5563113, crrev.com/c/5563420 geri alınıyor, crrev.com/c/5562089 yeniden yayınlanıyor, Hata: 4771). - BiDi: Oturum oluşturma sırasında ChromeDriver ile BiDiMapper arasındaki yarış durumu düzeltildi. ChromeDriver artık NewSession komutunu tamamlamadan önce
browsingContext.getTreekomutunun boş olmayan bir liste döndürmesini bekliyor. Böylece yeni oluşturulan varsayılan sekmenin düzgün şekilde kaydedilmesi sağlanıyor (crrev.com/c/5575497, Bug: 341048786, Bug: 1503101). - BiDi: Oturum oluşturulduktan sonra odağın etkin kullanıcı sekmesi yerine BiDiMapper arka plan sekmesinde kalmasına neden olan sorun, odağı açıkça ilk kullanıcı sekmesine vererek düzeltildi (crrev.com/c/5594070, Hata: 341048786, Hata: 1503101).
- BiDi: BiDi komutları (ör.
browsingContext.close) işlenirken ChromeDriver'ın bir hedef eklemeye çalışması durduruldu. Böylece, kullanıcı istemi açıkken CDP komutlarının süresiz olarak durması önlendi ve işleme tamamen önceden bağlanmış BiDi katmanına (crrev.com/c/5541915, crrev.com/c/5539818 geri alındı, crrev.com/c/5522393 yeniden yerleştirildi, Hata: 4758) devredildi. - FedCM: Bir iletişim kutusunun yanlışlıkla kapalı olarak işaretlendiği
fedcm-loginhint.https.htmlWPT testi hatası düzeltildi. Durum artık yalnızcaselectAccountişlemi gerçekten başarılı olursa güncelleniyor (crrev.com/c/5398379, Hata: 331237776). - Test: Bir karakter tam olarak
kExtendedASCIIStartsınırına ulaştığında JSON ayrıştırma sırasında oluşanDCHECKhatası düzeltildi (crrev.com/c/5565276, Hata: 40284755). - Test: iframe öğesini kaydırma kaynağı olarak kullanarak ve işaretçi hareket girişlerini tam sayılara yuvarlayarak
scrollend-event-fires-to-iframe-window.htmlWPT testini düzeltti. Böylece, kesirli dokunma konumlarıyla ilgili ChromeDriver hataları önlendi (crrev.com/c/5570150, Hata: 340956654). - Test:
run_py_tests.pytarayıcı ikili programını bulamadığında (crrev.com/c/5604204, Hata: 4781) denenmiş yolları yazdırarak ChromeDriver entegrasyon testlerinde iyileştirilmiş teşhis.
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: En son protokol güncellemeleri ve hata düzeltmeleriyle uyumlu olacak şekilde BiDi Mapper bağımlılığı güncellendi (crrev.com/c/5614670, crrev.com/c/5593796, crrev.com/c/5537892, crrev.com/c/5471839, Hata: 4226).
NOTREACHED()öğesinin kesinlikle[[noreturn]]olmasını sağlamak içinchrome/dizinindekiNOTREACHED()kullanımlarıNOTREACHED_IN_MIGRATION()ile değiştirildi (crrev.com/c/5539004, Hata: 40580068).- Dağıtım şartlarına uymak için
licenses.pyaracı kullanılarak ChromeDriver içinTHIRD_PARTY_NOTICES.txtoluşturulması etkinleştirildi (crrev.com/c/5596355, Hata: 4777). - Chromium'un WPT kapsamı tamamen
headless_shell+ ChromeDriver'a (crrev.com/c/5589930) geçiş yaptığındanrun_wpt_tests.pydesteği kaldırıldı.content_shellBu değişikliğin işlevsel bir etkisi olmadan uygulanabilmesi içinwptrunneranahtarları, yerleştiriciye özel olacak şekilde yeniden düzenlendi (crrev.com/c/5589793, Hata: 338412391). - JavaScript iletişim kutusu algılama ve işleme mantığı,
JavaScriptDialogManager'dan doğrudanDevToolsClientImpl'ye taşınarak birleştirildi. Böylece, test etme ve akıl yürütmeyi basitleştirmek için ayrı yönetici sınıfı kaldırıldı (crrev.com/c/5545630, Hata: 4757). - Kararsızlık nedeniyle Mac'te
PureBidiTest.testBrowsingContextTreeIsNotEmptydevre dışı bırakıldı (crrev.com/c/5588665, Hata: 343891977). - Son Mapper güncellemelerini hesaba katmak için BiDi WPT beklentileri güncellendi (crrev.com/c/5615110, Bug: 4226, Bug: 324436866).
- Kod kapsamını artırmak için
WebView::SendBidiCommandveBidiTrackerile ilgili birim testleri eklendi (crrev.com/c/5588400, Bug: 341048786, Bug: 1503101).
ChromeDriver 126
Yeni özellikler
- BiDi: WebDriver BiDi oturumu için tarayıcı başlatılırken
--disable-background-timer-throttlinganahtarının sağlanması amacıyla ChromeDriver güncellendi. Böylece arka plan sekmelerinin sıklık sınırlamasına tabi tutulması önlendi (crrev.com/c/5515013, Hata: 4762). - BiDi: Ayrıntılı günlük kaydı gerektiğinde hata ayıklama mesajları (
sendDebugMessage) göndermek için BiDi Mapper desteği eklendi. ChromeDriver, bu etkinlikleri ayrıştırma içinbidi messagesolarak işaretler ancakBidiTrackerşu anda bunları yoksayar (crrev.com/c/5465782, Hata: 4753). - Klasik:
beforeunloadiletişim kutularının (uyarılar) otomatik olarak kabul edilmesi uygulandı. Bu, WebDriver standardına uygun olarak Klasik oturumda hiçbir zaman gösterilmemeleri gerektiğini belirtir (crrev.com/c/5517510, Hata: 4757).
Hata düzeltmeleri
- Klasik: Öğeyi alma mantığındaki gereksiz maksimum deneme sınırlaması kaldırıldı. Artık yalnızca örtülü zaman aşımıyla sınırlanan alma işlemi, işlemin erken ve yanlış bir şekilde başarısız olabileceği ve standart olmayan bir
NoSuchExecutionContexthatası döndürebileceği senaryoları önler (crrev.com/c/5478668, Hata: 4379). - Klasik: Alma isteğinde geçersiz bir konum stratejisi kullanıldığında ChromeDriver'ın
invalid selectorhatası yerinejavascript errorile yanıt vermesine neden olan regresyon düzeltildi (crrev.com/c/5490662, Hata: 4743). - Klasik: Android'deki pencere komutlarının (Büyüt, Küçült, Tam Ekran) devam etmek yerine standartlara uygun
unsupported operationhatasını döndürmesi sağlandı. Bunun nedeni, bu işlemlerin Android tarayıcı tarafından desteklenmemesidir (crrev.com/c/5490224, Hata: 4689). - Klasik: ChromeDriver'ın hiçbir zaman
kChromeNotReachabledahili hata kodunu döndürmemesi için düzeltildi. Artık HTTP istemcisi tarayıcıya bağlanamadığında standartkSessionNotCreatedhatasını düzgün şekilde döndürüyor (crrev.com/c/5476390, Hata: 4379). - Klasik: Pencere komutları yürütülürken ChromeDriver'ın hiçbir zaman standart olmayan
kNoSuchExecutionContexthatasını döndürmemesi için düzeltildi (crrev.com/c/5483606, Hata: 4379). - Klasik: Desteklenen hata kodları listesinden kullanılmayan ve desteklenmeyen
kForbiddenhata kodu kaldırıldı (crrev.com/c/5476927, Hata: 4379). - BiDi: Özel Mapper sekmesini kapatmadan önce kullanıcıya istem göstermek için ChromeDriver güncellendi. Bu güncelleme, yukarı akış
chromium-bidideğişiklikleriyle uyumludur (crrev.com/c/5508600, Bug: 4761).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı güncellenerek
chromium-bidiprojesindeki en yeni özellikler ve hata düzeltmeleri eklendi (crrev.com/c/5490428, crrev.com/c/5471839, crrev.com/c/5509316, crrev.com/c/5458234, Hata: 4226). (Not: Bir harita oluşturucu artışı, bir bahçıvan tarafından kısa süreliğine geri alınmış ve ardından yeniden uygulanmıştır (crrev.com/c/5374839, crrev.com/c/5374366)). //chromegenelindebase::StringPiecekullanımlarıstd::string_viewile değiştirildi (crrev.com/c/5467746, Bug: 40506050).std::to_string()kullanımı//chrome'ten kaldırıldı vebase::NumberToString()veyabase::FormatNumber()ile değiştirildi (crrev.com/c/5505593, Hata: 335672557).- Chrome Geliştirici Araçları Protokolü'ne korunmasız uzaktan erişimin çok tehlikeli olduğu düşünüldüğünden (crrev.com/c/5512634, Hata: 327558594), eski gözetimsiz modda
--remote-debugging-addressanahtarı için destek kaldırıldı. - ChromeDriver (crrev.com/c/5473870, Bug: 41481724) hariç olmak üzere
//chrome'dan Fuchsia derleme kuralları kaldırıldı. - Kod tabanındaki eski
TODO(crbug.com/...)referansları yeni sorun izleyici kimliği biçimine (TODO(b/...)) taşındı (crrev.com/c/5492605, crrev.com/c/5486477, crrev.com/c/5461380, Bug: 321899722). - Karmaşık bir temel hata nedeniyle Mac'te (hem gözetimsiz hem de
chromedriver_py_testsiçin) WebAuthn (kimlik doğrulayıcı) testleri devre dışı bırakıldı. Böylece botların macOS 14'e yükseltilmesinin engeli kaldırıldı (crrev.com/c/5525435, crrev.com/c/5518820, Hata: 329130177). - ChromeDriver ve Content Shell ile birlikte WPT'leri çalıştırmadaki zorluklar nedeniyle
content_shelliçin WPT oluşturucular devre dışı bırakıldı (crrev.com/c/5512439, Hata: 40214293). - Geriye doğru gezinme için
focus-navigationWPT'leritest_driver.action_sequence()üzerindenShift+Tabkullanacak şekilde güncelleyen bir değişiklik yeniden uygulandı.focus-utils.js'da, Shift tuşu için yanlış tuş kodunun (E008yerineE050) kullanılmasıyla ilgili hata düzeltildi (crrev.com/c/5467843, crrev.com/c/5466531 geri alındı, crrev.com/c/5463903 yeniden yayınlandı, Hata: 40597271). - Performans derleme hedeflerine
crossbenchvechromedrivereklendi (crrev.com/c/5521874, Hata: 338627700).
ChromeDriver 125
Yeni özellikler
- Cihaz Duruşu: Cihaz duruşu yönetimi için ChromeDriver komutları eklendi. Cihaz Duruşu spesifikasyonunun Otomasyon bölümü destekleniyor. Bu, donanım tarafından belirlenen cihaz duruşunun geçersiz kılınmasına ve geçersiz kılmanın uzantı komutlarıyla kaldırılmasına olanak tanır (crrev.com/c/5437993, Hata: 330376761).
Hata düzeltmeleri
- BiDi: Gelen BiDi komutunun
idara depolamasıDoubleyerinebase::Valueolarak değiştirildi. Bu sayede, JSON serileştirme işleminden sonra beklenmeyen bir ondalık nokta veya kesirli kısım olmadaniddeğeri yanıtta tam olarak yansıtılır (crrev.com/c/5444225, Hata: 4676). - FedCM: IDP'ler hazır olduktan sonra kimlik onaylama uç noktasında CORS'u etkinleştirmek için değişiklik yeniden uygulandı (crrev.com/c/5440132, crrev.com/c/5381316 geri alındı, crrev.com/c/5370086 yeniden uygulandı, Bug: 40284123).
- FedCM:
selectAccountkomutu başarılı olursa iletişim kutusunun yalnızca kapalı olarak işaretlenmesini sağlayarak iletişim kutusunun yanlışlıkla kapalı olarak işaretlenmesine neden olan hata düzeltildi. Bu, beklenen bir hesap seçici olmadanselectAccountçağrıldığında test hatalarını giderir (crrev.com/c/5398379, Hata: 331237776). Bu hatanın tetiklenmesini önlemek için hesap seçicinin beklenmediği durumlardafedcm_get_and_select_first_accountçağrılmasından kaçınıldı (crrev.com/c/5398800). - Test: İşlem dizileri birleştirilerek ve
pointerUpişlemi için kaynak olarak ana çerçevenin dokümanı kullanılarakpopover-light-dismiss.htmlWPT testindeki hata düzeltildi. Böylece ChromeDriver'ın eşzamanlıpointerUpetkinliklerini çerçeveler arasında yanlışlıkla göndermesi önlendi (crrev.com/c/5402096, Hata: 325981758). - Test:
wptrunner,stderrçıkışını (--enable-chrome-logskullanılırken yazılan tarayıcı günlükleri dahil)crash_logyerinestderryapayına doğru şekilde yönlendirecek şekilde düzeltildi ve koşum hataları (tarayıcı yığın izini içeren)crash_log'a taşındı (crrev.com/c/5437023, Hata: 41494889). - Test: Tarayıcı günlüklerinin doğru test yapıtına yönlendirilmesi için
wptrunnerdüzeltildi. Çıktıyı ChromeDriver işlemiyle gruplandırarak, paralel test işlemi sırasında günlüklerin iç içe geçmesi ve yetim kalması önlendi (crrev.com/c/5320681, Hata: 41494889).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: En son protokol geliştirmelerini ve hata düzeltmelerini entegre ederek BiDi Mapper bağımlılığını güncelledi (crrev.com/c/5433300, crrev.com/c/5393442, Hata: 4226). (Not: Önceki bir artış crrev.com/c/5374366 geri alındı crrev.com/c/5374839 ve ardından güvenilir olmayan testler devre dışı bırakılıp lisanslar güncellenerek yeniden uygulandı crrev.com/c/5374914).
- Teşhis: Chrome'un
StackTrace, ChromeDriver istisnalarına dahil edildi. Bu özellik, bir oturum sayfa/sekme kilitlenmesi nedeniyle silindiğinde (ör. Mac'te askıda kalan işaretçiler) hata mesajında tarayıcı yığını izlemesini göstererek hata ayıklama kolaylığını önemli ölçüde artırır (crrev.com/c/5374371, Bug: 330009945). - Test: Mac'te (özellikle
mac-arm64) kararsıztestTakeLargeElementViewportScreenshotentegrasyon testi geçici olarak devre dışı bırakıldı (crrev.com/c/5447515, Hata: 333826980). - Test: Test ortamlarındaki (CEL) ChromeDriver başlatma bağımsız değişkenleri, Selenium 4+ söz dizimine uyacak şekilde güncellendi (crrev.com/c/5448812, Hata: 308885357).
- Test: Her WPT testini çalıştırmak için kullanılan tam
chromekomut satırı,chromedrivergünlüğündencommandadlı bir ResultDB yapay ürününe çıkarıldı. Bu,run_blink_wptserve.pyile manuel hata ayıklamayı kolaylaştırır (crrev.com/c/5441189, Hata: 41494889). - Bağımlılıklar:
Closure,selenium-atomsbağımlılık listesinden ve dolayısıyla ChromeDriver'ın üçüncü taraf bildirimlerinden (crrev.com/c/5424804, Bug: 4226) kaldırıldı. - Bağımlılıklar: Temel depoda (crrev.com/c/3398908, Hata: 1282422)
dynamic_annotationsile ilgili kullanılmayan bağımlılıklar kaldırıldı. - Biçimlendirme: Yeni
clang-formatyapılandırması, sorunlu Windows başlıklarına uygulandı (crrev.com/c/5367127, Hata: 329138753).
ChromeDriver 124
Yeni özellikler
- BiDi: Kaynak eşleyici artık CIPD'den küçültülmemiş olarak indirildiğinden (crrev.com/c/5310075, Hata: 4226),
BiDiMapperkomut dosyasını ChromeDriver'a yerleştirmeden önce küçültmek için bir derleme adımı eklendi. - WebAuthn: İstemcilerin WebAuthn kimlik bilgilerinin yedekleme işaretlerini güncellemesine olanak tanıyan
SetCredentialPropertieskomutu eklendi (crrev.com/c/5296389, Hata: 40945430). - WebAuthn: WebDriver üzerinden WebAuthn yedekleme işaretlerini kullanıma sundu. Bu, "Sanal Kimlik Doğrulayıcı Ekle" komutuna
defaultBackupEligibilityvedefaultBackupState, "Kimlik Bilgisi Ekle" komutuna isebackupEligibilityvebackupStateeklenerek yapıldı (crrev.com/c/5297117, Bug: 40945430). - Test: Hata ayıklamaya yardımcı olmak için test çalıştırmasını ilk hatada durdurarak ChromeDriver Python entegrasyon testlerine
--failfastkomut satırı bağımsız değişkeni için destek eklendi (crrev.com/c/5374546). - Test:
testdriver-vendor.jsAPI'leri aracılığıylaSetRPHRegistrationModewebdriver komutu için içerik kabuğu desteği eklendi (crrev.com/c/5205730, Hata: 1359103).
Hata düzeltmeleri
- Kararlılık:
ChromeImpl::SetWindowBoundsiçinde zaman aşımı süresinin sona erme kontrolü, yoklama ve bekleme döngüsü gövdesinin içine taşındı. Bu düzeltme, yüksek yük altında zaman aşımının ilk döngü yinelemesi gerçekleşmeden önce sona erebileceği sorunu giderir (crrev.com/c/5366899, Hata: 4642). - Performans: Pencere sınırları henüz istenen duruma ulaşmadıysa yalnızca eksponansiyel geri yükleme beklemesi uygulayarak
ChromeImpl::SetWindowBounds'deki bekleme süresini en aza indirme, WPT kurulum gecikmesini azaltma (crrev.com/c/5366457, Hata: 4642). - Başlatma:
content_shelliçin veri dizini belirtilirken--data-pathyerine--user-data-dirkullanılacak şekilde ChromeDriver güncellendi. Böylece, etkin Geliştirici Araçları bağlantı noktasının okunma şekliyle (crrev.com/c/5226609, Hata: 1295373) uyumlu hale getirildi.
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: En son protokol düzeltmelerini ve özelliklerini içeren BiDi Mapper bağımlılığı güncellendi (crrev.com/c/5374366, crrev.com/c/5349491, crrev.com/c/5317650, Bug: 4226). (Not: Bir artış, test hataları nedeniyle kısa süreliğine geri alınmış ve ardından yeniden uygulanmıştır crrev.com/c/5374839, crrev.com/c/5368680, crrev.com/c/5319423).
absl::optional, tür takma adına dönüştürüldükten sonra (crrev.com/c/5296147, Bug: 1500249) kod tabanındaabsl::optionalkullanımlarıstd::optionalile değiştirildi.MiraclePtr(raw_ptr) kapsamı,std::list,std::unordered_set,base::flat_set,std::stackvestd::queuedahil olmak üzere ek standart kapsayıcılara genişletildi (crrev.com/c/5306923, Hata: 325302189).- Büyük endian baytları yazarken güvenliği artırmak için
WriteBigEndian(),base::numericsbayt dönüşümlerini veyaBigEndianWriter'ı (artıkbase::spankabul ediyor) kullanacak şekilde dönüştürüldü (crrev.com/c/5202348, Bug: 1490484). content_shellile Web Platform Testleri'ni (WPT) çalıştırmak için ChromeDriver kullanmaya geçildi (sanal testler ve yukarı akış hata düzeltmeleri bekleyen referans testleri hariç) (crrev.com/c/5347371, Hata: 40214293).- Mevcut tüm Generic Sensor web testleri, Generic Sensor spesifikasyonunun yeni Otomasyon bölümüne (crrev.com/c/4770867, Bug: 1278377, Bug: 1471996) uygun olarak JS/Mojo sahteleri yerine
test_driver.jsve sanal sensörler kullanacak şekilde dönüştürüldü. append_notices.pyeklenerekBiDiMapperbağımlılıkları için krediler oluşturulması ve üçüncü taraf bildirimleri içinlicenses.pyçağrısının kesinlikleselenium-atomsREADME'ye dayanacak şekilde güncellenmesiyle lisans oluşturma işlemi iyileştirildi (crrev.com/c/5350601, crrev.com/c/5339957, Bug: 4729, Bug: 4735).
ChromeDriver 123
Yeni özellikler
- FedCM: Otomasyon arayüzünde kalıcı görünümler için destek ekleme de dahil olmak üzere (crrev.com/c/5231438, Hata: 1518356) tek hesap düğmesi akışları için kalıcı iletişim kutularını gösterin.
- FedCM: FedCM iletişim kutularındaki bağlantıların açılması için ChromeDriver desteği uygulandı. Bu bağlantılar, otomasyonun kolaylığı için düğme olarak değerlendirilir (crrev.com/c/5225543, Hata: 1513520).
- Sensörler: Yön sensörüyle ilgili son spesifikasyon güncellemelerine uygun olarak, kuaterniyonlar yerine Euler açılarını (alfa-beta-gama) okumak için değiştirilmiş WebDriver sanal sensör komutları. Dahili CDP ve hizmet katmanları, dönüştürme adımı aracılığıyla dörtlüleri kullanmaya devam ediyor (crrev.com/c/5229177, Hata: 1506995, Hata: 1520912, Hata: 1520919).
Hata düzeltmeleri
- Klasik: Bir komut dosyası aracılığıyla farklı bir çerçeveden düğüm döndürmenin yanlışlıkla
StaleElementReferencehatasına neden olduğu sorun düzeltildi. Artık WebDriver standardına uymak için doğru şekildeJavaScriptErrordöndürülüyor (crrev.com/c/5222746, Hata: 4668). - Test: Dokunarak sürükleme işlemi pencere sınırlarının dışına çıktığı için Chrome/ChromeDriver'da başarısız olan aşırı kaydırma etkinlikleri testi düzeltildi. Sürükleme işlemi artık düzgün şekilde sınırlandırılıyor (crrev.com/c/5297676, Hata: 40832230).
- Test:
open-close.https.htmlMIDI testlerinin gereksiz yere söz oluşturmaması için düzeltildi. Böylece, ChromeDriver'ın testi geçememesine neden olan işlenmemiş söz reddetmeleri önlendi (crrev.com/c/5239869, Hata: 1499775). - Test:
wpt_internal/system-wake-lock/idlharness*testlerindetest_driver.set_permission(...)'ünnullveyaWindowProxyyerine yanlışlıklafalse'i geçirdiği ve ChromeDriver'ı (crrev.com/c/5271087, Hata: 40287920) karıştırdığı izin seti düzeltildi.
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: En son düzeltmeleri ve özellikleri getiren BiDi Mapper bağımlılığı güncellendi (crrev.com/c/5205452, crrev.com/c/5255321, crrev.com/c/5238148, crrev.com/c/5237125, Hata: 4226). (Not: Bir artış, derleme hataları nedeniyle kısa süreliğine geri alınmış ve ardından yeniden uygulanmıştır crrev.com/c/5238855).
- Hem
ChromeImplhem deDevToolsClientImpliçinde temel sınıftan türetilmiş sınıfa güvenli olmayan statik yayınları ortadan kaldırarak ChromeDriver kodunun sağlığını iyileştirdik. Böylece, olası tanımlanmamış davranışlar önlendi (crrev.com/c/5277062, crrev.com/c/5272562, Hata: 4702). WebViewImpl'daki güvenli olmayan yayınlar kaldırıldı (crrev.com/c/5272230, Hata: 4702).base::Base64Encode()ile ilgili kullanımdan kaldırılan biçimler kaldırıldı. Out parametreleri (crrev.com/c/5179900, crrev.com/c/5246585, Bug: 1486214) kullanmak yerine daha yeni olanstd::stringdöndüren varyanta geçildi.- Tutarlılık için
#includeyönergelerinin tümübase/...yerine""kullanacak şekilde güncellendi (crrev.com/c/5237376, Hata: 1500249).<> chrome/test/içindeki tümDIR_METADATAdosyaları Buganizer'a taşındı (crrev.com/c/5284119, Bug: 1518875).- stderr zaten stdout'a yönlendirildiğinden (crrev.com/c/5282721) gereksiz
chromedriver --log-path=-anahtarı kaldırılarak-vvviletilirken wptrunner'ın yerel bir-dosyası oluşturması engellendi. - Regresyonlar oluştuğunda test sonuçlarını özetlemek için wptrunner geliştirildi. Alt test sonuçları ve ChromeDriver yığın izlemeleri doğrudan özet çıktısına dahil edildi (crrev.com/c/5238662, Hata: 1521922).
--remote-chromedriver-portparametresinirun_py_tests.py'e ekleyerek ChromeDriver entegrasyon testlerinin hata ayıklamasını basitleştirme. Bu sayede, hata ayıklayıcı altında çalışan mevcut bir örneğe bağlanma olanağı sunulur (crrev.com/c/5237254, Hata: 4693).- Derleyicinin doğru boyutu tahmin etmesine olanak tanımak için iki bağımsız değişkenli
base::HexEncode()veRandBytes()çağrıları önlenerek kod basitleştirildi (crrev.com/c/5241357).
ChromeDriver 122
Hata düzeltmeleri
- BiDi:
loaderId'ı içerecek şekilde derin düğüm serileştirme güncellendi. Böylece ChromeDriver ve BiDi Mapper, düğümleri aşırı gidiş dönüş olmadan düzgün şekilde referanslayıp referanssızlaştırabilir (crrev.com/c/5116240, Hata: 1420968). - Özellikler:
acceptInsecureCertsözelliğinin başlatma sırasında hemen BiDi Mapper'a iletilmesi için ChromeDriver güncellendi. Böylece, özelliğin çok geç uygulanabileceği yarış koşulları önlendi (crrev.com/c/5125711, Hata: 4643). - Classic:
<frame_id>.<loader_id>.<backend_node_id>biçimini kullanmak için öğe referansı oluşturma yeniden tasarlandı. Bu sayede ChromeDriver, çerçeve gezinmeleri ve DOM güncellemeleri sırasında geçerli, bilinmeyen ve eski öğe referansları arasında kesin bir ayrım yapabilir (crrev.com/c/5094519, Hata: 4379). - Classic: Yeni oluşturulan bir hedef, ChromeDriver kendisine bağlanmadan önce kendi kendini kapatırsa (ör. yarış durumu)
window/handleskomutunun "böyle bir pencere yok" hatasıyla başarısız olmasına neden olan sorun düzeltildi (crrev.com/c/5147409, Bug: 1506833). - FedCM: FedCM iletişim kutusu kapatıldığında bildirim göndermek için dahili bir etkinlik dinleyici eklendi.Böylece, iletişim kutusu harici olarak (ör.
AbortController.abortaracılığıyla) kapatılırsadialogtypekomutunun eski veriler döndürmesi önlendi (crrev.com/c/5067504, Hata: 1506292). - FedCM:
ClickDialogButtonkomutundaki satıcı öneki, FedCM spesifikasyonunda onaylandığı için kaldırıldı (crrev.com/c/5092527, Hata: 1499341).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı en son sürüme yükseltildi (crrev.com/c/5205452, Hata: 4226).
- Her
DevToolsEventListeneröğesinden gönderilen gereksizPage.enableçağrıları kaldırarak ChromeDriver ve Chrome Geliştirici Araçları Protokolü (CDP) trafiği azaltıldı. Bu işlem,DevToolsClientImpltarafından hedef başına zaten gerçekleştiriliyordu (crrev.com/c/5088789, Hata: 4600). - ChromeDriver entegrasyonu devam ederken protokol modunda test çalıştırma şu anda tam olarak desteklenmediğinden (crrev.com/c/5225148, Hata: 1474702),
content_shelliçin tüm Wptrunner oluşturucular deneysel duruma değiştirildi. content_shellüzerindewindow.test_driver_internal.get_computed_rolegerektiren testler henüz uygulanmadığı için atlandı veTypeErrorhatası önlendi (crrev.com/c/5189678, Hata: 1517744).OZONE_PLATFORM_*yerine platformdan bağımsızIS_OZONE_{X11, WAYLAND}işaretlerini kullanmak için yeniden düzenleme yapıldı (crrev.com/c/5086329, Hata: 1500494).selenium-atomsbağımlılığı en son düzeltmeye (crrev.com/c/5110808, Hata: 4662) yükseltildi.- İşaretçi hareket girişlerini yuvarlayarak, kaydırmalar için
originparametresini zorunlu kılarak ve kesirli kaydırma/ofset farklılıklarını (assert_approx_equals) işlemek için yaklaşık olarak onaylama (crrev.com/c/5097343) kullanarak SnapEvents testlerinde tam Chrome ikilisine karşı çalıştırıldığında mantık düzeltildi. - Biçim dizeleri derleme zamanı sabitleri olmadığında
StringPrintf()ile ayırt etmek içinStringPrintfNonConstexpr()yardımcı işlevi eklendi (crrev.com/c/4950568, Hata: 1371963). - Oluşturulan GN hedef adlarında çakışmaları önlemek için
chromium::import!rust makro çıkışının bire bir işlev kullandığından emin olundu (crrev.com/c/5132119, Hata: 1512174). - Yıkıcıya oluşturucu ve erken dönüşler ekleyerek
ScopedTempDirWithRetryuygulamasını temizledi (crrev.com/c/5113843).
ChromeDriver 121
Yeni özellikler
- Test: Derleme botlarında standart Chrome tarayıcının yanı sıra
chrome-headless-shell'ye karşı ChromeDriver entegre testlerinin (chromedriver_py_test) çalıştırılması için destek eklendi. Bu,--browser-nameparametresine göre tarayıcı ikili programını keşfetme ve belirli test setlerini koşullu olarak çalıştırma (crrev.com/c/4995189, crrev.com/c/4989442, Hata: 4358) olanağını içerir.
Hata düzeltmeleri
- Kararlılık:
KeyboardLayoutEnginevarsayılanıStubKeyboardLayoutEngineolarak başlatıldı. Böylece,KeyboardLayoutEngineManager::SetKeyboardLayoutEngineiçindeDCHECKisabetinden kaynaklanan ChromeDriver çökmeleri önlendi (crrev.com/c/5017859, Hata: 4625). - Kararlılık: İstemci aynı bağlantıyı kapatmayı zaten istemişken oturum iş parçacığı bağlantıyı kapatmayı isterse ChromeDriver'ın kilitlenebileceği bir kararsızlık sorunu düzeltildi (crrev.com/c/4994636, Hata: 4606).
- Kaynak yönetimi: Bir ChromeDriver komutu tarafından istisna oluşturulsa bile tarayıcı işleminin sonlandırılmasını sağlayarak ChromeDriver entegrasyon testlerindeki kaynak sızıntıları düzeltildi (
RemoteBrowserTest) (crrev.com/c/5009554, Hata: 4614). - Kaynak yönetimi: ChromeDriver işlemi tarafından terk edilen tarayıcı işlemlerini algılamak ve sonlandırmak için ChromeDriver entegrasyon testlerinde mantık uygulandı (crrev.com/c/5014093, Hata: 4617).
- Başlangıç: Tarayıcı adı
chrome-headless-shellolduğundadata:,bağımsız değişkenini tarayıcı komut satırına ekleyerekchrome-headless-shell'ın boş bir hedef listesi döndürmesine ve oturum oluşturulmasını engellemesine neden olan sorun düzeltildi (crrev.com/c/5010392, crrev.com/c/5009535, Hata: 4615, Hata: 4358). - FedCM: FedCM iletişim kutusu kapatıldığında bildirim gönderen yeni bir etkinlik eklendi.Böylece, iletişim kutusu harici olarak (ör.
AbortController.abortaracılığıyla) kapatılırsadialogtypeve diğer komutların eski veriler döndürmemesi sağlandı (crrev.com/c/5067504, Hata: 1506292). - Test: Windows'da
chrome-headless-shelliçin daha önce devre dışı bırakılan tüm ChromeDriver entegrasyon testleri düzeltildi ve yeniden etkinleştirildi (crrev.com/c/5027594, Hata: 4358). - Test: Tarayıcı oluşturmayla ilgili tuhaflıkların neden olduğu kararsızlığı gidermek için
testElementRegionTestiçindeki aşırı katı onaylar, WebDriver standardıyla uyumlu olacak şekilde zayıflatıldı (crrev.com/c/5017865, Hata: 4526).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı güncellendi (crrev.com/c/4994305, Hata: 4226).
- Bir hata nedeniyle (crrev.com/c/5086571, crrev.com/c/5083096 geri alınıyor, hata: 1500494)
IS_OZONE_{X11, WAYLAND}yerineOZONE_PLATFORM_*kullanıldı. - Kullanımdan kaldırılan
base::Passedyerinebase::BindLambdaForTestingkullanmak içincommands_unittest.cciçindeki kod taşındı (crrev.com/c/5078589, Hata: 1326449). session.new, standart özellik işleme (ör.testName,binary,browserName) için özel bir yöntem oluşturacak şekilde yeniden düzenlendi ve komutun, özellikleri klasik komuta benzer şekilde kullandığı doğrulandı (crrev.com/c/5004665, crrev.com/c/5001510, Bug: 4358, Bug: 4610).- Kullanımdan kaldırılan
base/strings/string_piece_forward.hbaşlığının kullanımı kaldırıldı (crrev.com/c/5008994, Bug: 691162). - Sahiplik içermeyen sınıflara geçiş için
net::IOBufferyerine sahiplik içeren durumlardanet::IOBufferWithSizekullanıldı (crrev.com/c/4996470, Bug: 1493389). - İkili değerlerin dizelerde depolanmasını önlemek için
base::RandBytesAsVector()tanıtıldı ve kullanıldı (crrev.com/c/5018451). - LUCI analizinin aklanması nedeniyle yeşil derlemelere neden olmalarını önlemek için Mac'te sürekli olarak başarısız olan birkaç Python entegrasyon testi devre dışı bırakıldı (crrev.com/c/4998771, Hata: 1486604, Hata: 1486520, Hata: 1486474, Hata: 1481915).
- Linux deneme derleyicilerinde WPT paketi adlandırma kurallarını standartlaştırmak için
webdriver_tests_suite(vewpt_tests_suite)chrome_wpt_testsolarak yeniden adlandırıldı (crrev.com/c/5014293, Hata: 1474702). ConfirmIdpLoginFedCM webdriver komutunu,DialogButtonparametresini kabul eden daha genişletilebilir birClickDialogButtonkomut olarak yeniden tasarladık (crrev.com/c/5003255, Hata: 1499341).crossbenchbağımlılığı, daha iyi sürücü türü ayrıştırma, ağ saplamaları ve iOS desteği (crrev.com/c/5009937) dahil olmak üzere çok sayıda düzeltme ve özellik ile güncellendi.- IWYU uyumluluğu için
chrome_finder.höğesine eksik#include <string>eklendi (crrev.com/c/4994605, Hata: 957519).
ChromeDriver 120
Yeni özellikler
- BiDi:
session.newvesession.endkomutları için destek eklendi. Bu sayede kullanıcılar, oturumları doğrudan BiDi komutları aracılığıyla oluşturup sonlandırabilir (crrev.com/c/4941941, Hata: 4496). - BiDi:
session.statusPureBiDi komutu için destek eklendi. Bu komut, kullanıcıların herhangi bir oturuma bağlı olmayan bir WebSocket bağlantısı oluşturmasına ve oturum durumunu almasına olanak tanır (crrev.com/c/4938596, Hata: 4496). (crrev.com/c/4922097 adresindeki önceki geri alma işleminden sonra yeniden etkinleştirildi) - BiDi: BiDi Mapper bağımlılığı güncellendi ve yeni, basitleştirilmiş Mapper çalıştırma süreciyle uyumlu hale getirildi (crrev.com/c/4952609, Hata: 4226).
- Sensörler:
browser_protocol.pdlve CDP katmanında (Emülasyon alanı) sanal sensör komutları uygulandı. Genel Sensör spesifikasyonunun Otomasyon bölümü için destek eklendi (crrev.com/c/4770864, Hata: 1278377). - Sensörler: Sanal sensör yönetimi için ChromeDriver uzantı komutları eklendi. WebDriver parametreleri yeni CDP çağrılarına çevrildi (crrev.com/c/4770866, Hata: 1278377).
- Sensörler:
testdriver.jsüzerinden sanal sensörlerin manipülasyonu içincontent_shellkod yolu eklendi. Bu sayede, web testlerinde ChromeDriver tamamen atlandı (crrev.com/c/4770865, Hata: 1278377). - İzlemeyi Azaltma: Bounce Tracking Mitigations (DIPS) için ChromeDriver desteği eklendi. Bu sayede
nav-tracking-mitigationsspesifikasyonunun (crrev.com/c/4873672, Bug: 1474656) otomasyonu etkinleştirildi. (Not: Bu değişiklik, crrev.com/c/4938394 adresindeki Mac'te test hataları nedeniyle geçici olarak geri alındı.)
Hata düzeltmeleri
- Başlatma: ChromeDriver'a Gözetimsiz Kabuk keşfi eklendi. Bu sayede, capability nesneleri aracılığıyla istenmesi ve açık bir yol sağlanmaması durumunda
chrome-headless-shellikili program aranabiliyor (crrev.com/c/4987262, Hata: 4358). (crrev.com/c/4984449 adresindeki önceki geri döndürme işleminden sonra yeniden etkinleştirildi) - WebSockets: WebSocket kapatma el sıkışması için kısmi destek uygulandı. Böylece, uzak uçtan bir el sıkışması alındığında ChromeDriver'ın
CLOSEçerçevesiyle yanıt vermesi sağlandı (crrev.com/c/4931500, Bug: 4499). - İzinler: Satıcı derlemelerinin (ör. Microsoft Teams) devre dışı bırakmasına izin vermek için
options.disclaim_responsibility, derleme işareti olarak kullanıma sunuldu. Bu sayede macOS izin istemlerinin test otomasyonunu durdurması önlendi (crrev.com/c/4929495, Hata: 1223643). - C++ standardına uygunluk: Aralık kontrolleri eklenerek aralık dışı bir çift sayının int'e dönüştürülmesi sırasında UBSan tarafından yakalanan tanımlanmamış davranış (UB) düzeltildi (crrev.com/c/4980055, Hata: 1394755).
- FedCM: Eski başlık söz dizimi desteği kaldırıldı ve standart
login-status-httpsöz dizimine uygunluk sağlandı (crrev.com/c/4957073, Hata: 1381501).
Dahili değişiklikler ve yeniden düzenlemeler
- ChromeDriver'ın
testReturnFrameElementöğesini eski bir referans olarak ele alma davranışını doğrulamak içintestReturnFrameElemententegrasyon testi eklendi (crrev.com/c/4983549, Hata: 4477).window.frameElement - ChromeDriver'ın tarayıcı ikili programını bulmaya çalıştığı belirli yolları günlüğe kaydetmesini sağlayarak günlük kaydı iyileştirildi (crrev.com/c/4976116, Hata: 4539).
- Çeşitli
base::Timeişlevleri daha açıklayıcı olacak şekilde yeniden adlandırıldı (ör.FromDoubleT(),FromSecondsSinceUnixEpoch()olarak değiştirildi) (crrev.com/c/4956111). - Gereksiz dize kopyalarını ve sıfır uzunluklu ayırmaları önlemek için
net::StringIOBufferoluşturucu veIOBufferörneklemeleri yeniden düzenlendi (crrev.com/c/4938384, crrev.com/c/4959174). - Geçerli olan yerlerde
base::StrCatyerine+kullanılarak vebase::AppendHexEncodedByte()(crrev.com/c/4963465, crrev.com/c/4977165) kullanılarak dize işleme temizlendi. - Netlik için
DIR_SOURCE_ROOT,//chrome*testindeDIR_SRC_TEST_DATA_ROOTolarak yeniden adlandırıldı (crrev.com/c/4916045, Hata: 1264897). - Mac derleyicilerinde kararsız
PureBidiTesttestler devre dışı bırakıldı (crrev.com/c/4983555, Hata: 1496826).
ChromeDriver 119
Yeni özellikler
- BiDi: Uzak işlev çağrıları sırasında uzak uç tarafından döndürülen zayıf yerel nesne referanslarının çözümlenmesi için destek uygulandı (crrev.com/c/4886760, Hata: 4536).
- FedCM: IDP Sign-In Status API'nin kaynak denemesini desteklemek için satıcı ön ekli
confirmidpsigninkomutu eklendi (crrev.com/c/4811725, Hata: 1451884).
Hata düzeltmeleri
- Mobil cihaz emülasyonu: İstemci ipuçları olmayan önceden tanımlanmış cihazların (ör. eski yapılandırmalar) mantıklı varsayılan değerlerle doldurulması nedeniyle bozulduğu sorun düzeltildi (crrev.com/c/4887254, Hata: 4550).
- Klasik:
MapveSetnesnelerinin sabit serileştirilmesi;lengthözelliği olmadığından artıkCollectionyerineObjectolarak doğru şekilde serileştiriliyor (crrev.com/c/4881378, Hata: 4031). - Classic: Testler sırasında her zaman en son uyumlu ChromeDriver sürümünü indirme ve kullanma mantığı yeniden etkinleştirildi. Yalnızca uyumluluk sorunları ortaya çıktığında belirli sürümlere geri dönülüyor (crrev.com/c/4779613, crrev.com/c/4778973 geri alınıyor).
- FedCM: En son FedCM spesifikasyonu tartışmalarıyla (crrev.com/c/4901302, Bug: 1451884) uyumlu olması için
Signin,Login(confirmidplogin) olarak yeniden adlandırılarak tarayıcı otomasyon komutları standartlaştırıldı. - Test: Test yürütme sırasında IDP oturum açma durumu API'si açıkça etkinleştirilerek üçüncü taraf çerezleri devre dışı bırakıldığında başarısız olan FedCM testleri düzeltildi (crrev.com/c/4889802, Hata: 1484833).
- Test: Yaklaşan Chromium URL standardı zorunluluğu değişikliklerine uymak için test çalıştırıcılarında geçersiz URL yer tutucusu
~NOTFOUND,^NOTFOUNDile değiştirildi (crrev.com/c/4845589, Bug: 1416013).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı, en yeni düzeltmeleri ve özellikleri içeren 0.4.27 sürümüne güncellendi (crrev.com/c/4862031, crrev.com/c/4890322).
- Daha iyi güvenlik ve kolaylık için
//urliçindeki birden fazla işaretçi/uzunluk API'sistd::string_viewile değiştirildi (crrev.com/c/4897456). generateWebDriverValueyardımcı programı, BiDi protokolü (crrev.com/c/4889644) tarafından yerel olarak sağlanan derin serileştirme seçeneğini (serializationOptions.serialization: deep) kullanacak şekilde değiştirildi.- Eski bir öğe referansı altında arama yapıldığında "eski öğe referansı" hatasının doğru şekilde döndürüldüğünü doğrulamak için entegrasyon testleri eklendi (crrev.com/c/4886793, Hata: 4440).
call_function.js(crrev.com/c/4882511, Hata: 4031) içinde geliştirilmiş kod stili biçimlendirmesi.- Kullanıcıları, WebSockets üzerinden bağlandıklarında boruların desteklendiği ve daha iyi güvenilirlik ve güvenlik için önerildiği konusunda açıkça bilgilendirerek kullanıcı geri bildirimini iyileştirme (crrev.com/c/4882626, Hata: 3480).
results.htmltestleri içinwebdriver_tests_suitearşivlemek üzere WPT paketi yapılandırması güncellendi. Böylece, sonuçları görüntülemek için daha iyi bir kullanıcı arayüzü sağlandı (crrev.com/c/4873223).- WebView WebContents'i işaretleyip Geliştirici Araçları türünü
otheryerinepopup_pageolarak ayarlayarak WebView ile Geliştirici Araçları entegrasyonu düzeltildi (crrev.com/c/4842093). - Tutarlılık için WPT derleme hedefi
chrome_wpt,chrome_wpt_testsolarak yeniden adlandırıldı ve gereksizwebdriver_wpt_testshedefi kaldırıldı (crrev.com/c/4847474, Hata: 1474702). - Kullanımdan kaldırılan
optparsekitaplığındakirun_py_tests.py,argparsekitaplığına taşındı (crrev.com/c/4849411, Hata: 4557).
ChromeDriver 118
Yeni özellikler
- Entegrasyon Testi: ChromeDriver için C++ entegrasyon testleri kullanıma sunuldu. Bu testler, belirli sınıfların gerçek CDP trafiğine karşı test edilmesine olanak tanıyarak birim testleri ile Python entegrasyon testleri arasındaki boşluğu dolduruyor (crrev.com/c/4707855, Hata: 4528).
- Crossbench: Yeni güç karşılaştırması hikayeleri, daha iyi platform ve cihaz desteği, gelişmiş hata ayıklama ve çeşitli düzeltmeler (crrev.com/c/4803743) dahil olmak üzere çok sayıda iyileştirme ile
crossbenchbağımlılığı güncellendi.
Hata düzeltmeleri
- Özellikler: Varsayılan yapılandırmalarda döndürülen özelliklerde
debuggerAddressözelliğinin eksik olmasına neden olan sorun düzeltildi. Bu özellik artık Selenium'un CDP tabanlı BiDi iletişimini desteklemek için doğru şekilde döndürülüyor (crrev.com/c/4789068, Hata: 4533). - Özellikler: ChromeDriver'ın, WebDriver spesifikasyonunun (crrev.com/c/4797735, Hata: 4548) gerektirdiği şekilde standart
platformNamedeğerler (ör. "linux", "windows", "mac") döndürmesi sağlandı.
Dahili değişiklikler ve yeniden düzenlemeler
- Güvenliği artırmak için
MockSocketiçindeki taşınan kodda ham işaretçiler yerinebase::span<>tercih edildi (crrev.com/c/4832086). - Otomatik temizleme (crrev.com/c/4773481) aracılığıyla, niteliksiz biçimleri
raw_ptrveraw_reflehinebase::raw_ptrvebase::raw_reföğelerinin desteği sonlandırılan kullanımları kaldırıldı. - Windows'un kararlı/beta kanallarında çökmelere neden olduğundan (crrev.com/c/4778973, crrev.com/c/4777430 geri alınıyor) her zaman en yeni ChromeDriver'ı kullanan bir değişiklik geçici olarak geri alındı.
pointer_touch.pyiçinde yalnızca hata ayıklamaya yönelik hataların bastırılması ve kapalı çerçeveler için tarayıcı tarafında odak doğrulaması uygulanması (crrev.com/c/4844810, crrev.com/c/4572517) dahil olmak üzere WPT (Web Platform Tests) yapılandırmaları ayarlandı.- IWYU uyumluluğu için
client_hints.h'e eksik#include <vector>eklendi (crrev.com/c/4767547). - Apple'a özgü temel türler (
ScopedTypeRef,ScopedCFTypeRef,scoped_nsautorelease_pool)base::apple::ad alanına taşındı. Crashpad için geçici yönlendirme başlıkları bırakıldı (crrev.com/c/4799213, crrev.com/c/4790744, crrev.com/c/4790741, crrev.com/c/4784010).
ChromeDriver 117
Yeni özellikler
- Pipes Communication: Windows dahil olmak üzere desteklenen tüm platformlarda ChromeDriver ile Chrome arasındaki varsayılan iletişim modu WebSockets'ten pipes'a (
--remote-debugging-in-pipeve--remote-debugging-out-pipe) değiştirildi (crrev.com/c/4634299, crrev.com/c/4628834, crrev.com/c/4635378, Bug: 3480). - BiDi: BiDi Mapper bağımlılığı güncellendi (crrev.com/c/4670516, Hata: 4226).
Hata düzeltmeleri
- Kararlılık: ChromeDriver'ın kilitlenmesine ve bunun sonucunda test çalıştırmaları sırasında
ConnectionRefusedhatalarına neden olan bir boş işaretçi erişimi düzeltildi (crrev.com/c/4675633, Hata: 1457101). - Gezinme: Gezinme sırasında Chrome'un
NoSuchExecutionContextveNoSuchWindowhatalarının tutarlı bir şekilde işlenmemesine neden olan sorun düzeltildi. Artık her ikisi de işlemi yeniden denemek için düzgün şekilde eşleniyor (crrev.com/c/4667156, Hata: 4459). - Mobil emülasyon:
clientHints.mobileiçin çıkarım mantığı düzeltildi. Artık Android'dekiuserAgentöğesinden doğru şekilde çıkarılıyor ve diğer platformlarda varsayılan olarak yanlış ayarlanıyor. Böylece, tabletlerin yanlışlıkla mobil cihaz olarak bildirildiği sorun düzeltildi (crrev.com/c/4649348, Hata: 4243). - Oturum oluşturma: Oturum oluşturma, başarısızlık durumunda standart
SessionNotCreatedhata kodunu doğru şekilde döndürecek ve W3C WebDriver spesifikasyonuna (crrev.com/c/4638223, Hata: 4379) sıkı bir şekilde uyacak şekilde güncellendi. Not: Bu değişiklik, bazı belirli kod yollarının farklı hata kodları gerektirmesi nedeniyle daha sonra geri alındı (crrev.com/c/4651188).
Dahili değişiklikler ve yeniden düzenlemeler
- ChromeDriver artık Chrome yayınlama sürecine tamamen entegre edildiği ve Chrome for Testing altyapısı üzerinden kullanılabildiği için (crrev.com/c/4520687, Hata: 4142) manuel ChromeDriver yayınlama süreci komut dosyaları kaldırıldı.
- Özel
run_webdriver_tests.pyyerine resmiwptrunnerkoşumunu kullanmak için WPT (Web Platform Tests) altyapısı taşındı. Bu sayede yürütme hızı ve güvenilirliği önemli ölçüde iyileştirildi ve kilitlenmeleri izole etmek için testler arasında ChromeDriver'ın yeniden başlatılması sağlandı (crrev.com/c/4723147, crrev.com/c/4676070, crrev.com/c/4639168). - Kanallara geçişi desteklemek,
DevToolsHttpClientile bağlantıyı gevşetmek ve WebSocket mantığını özel dallara taşımak içinChromeLauncherve ilgili sınıflar kapsamlı bir şekilde yeniden düzenlendi (crrev.com/c/4632801, crrev.com/c/4674345). - Kafası karıştırıcı olan
BrowserInfo.is_headlessalanı, netlik sağlamak içinBrowserInfo.is_headless_shellolarak yeniden adlandırıldı (crrev.com/c/4650452, Hata: 4358). - Kod tabanında, kullanımdan kaldırılan çeşitli
base::Valueyöntemler modernbase::Value::Dicteşdeğerleriyle (ör.FindDouble(),Set(),size()) değiştirildi (crrev.com/c/4258936, crrev.com/c/4336805, crrev.com/c/4461067).112.0.5603.0, 113.0.5653.0, 114.0.5733.0 - Daha güvenli temel dize yardımcı programları lehine
[w]ctype.hkullanımı kaldırıldı vebase::expectediçin yeni olanaklar uygulandı (crrev.com/c/4749459, crrev.com/c/4755226). - FedCM WPT'leri için
TestDriver'deget_fedcm_dialog_titleveselect_fedcm_accountotomasyon komutları uygulandı (crrev.com/c/4618303). - Mevcut çalışma dizininden bağımsız olarak doğru şekilde çalışacak şekilde BiDi eşleyici derleme komut dosyaları güncellendi (crrev.com/c/4670550).
- macOS derlemelerinde ARC'yi (Otomatik Referans Sayımı) kullanmak için
/chrome/test/chromedriverdosyaları dönüştürüldü ve gerekli standart kod eklendi (crrev.com/c/4663602). - Otomatik onaylayıcı kaydetme ile varsayılan olarak kanal iletişimini devre dışı bırakmaya çalışıldı ancak değişiklik, daha önce tanıtılan varsayılan olarak kanal davranışını değiştirmeden yalnızca yapılandırmaya dokundu (crrev.com/c/4683947).
ChromeDriver 116
Yeni özellikler
- FedCM: İstemcilerin, ChromeDriver'ın FedCM komutlarını yürütmeye gerek kalmadan destekleyip desteklemediğini kontrol etmesine ve hataları yakalamasına olanak tanıyan yeni bir özellik eklendi (crrev.com/c/4624924, Bug: 1356159).
- Test:
wptrunner'de ChromeDriver üzerinden çalıştırılan testharness testleri için test penceresinin yeniden kullanılmasını etkinleştirerek performans ve kararsızlık üzerindeki etkisini değerlendirdik (crrev.com/c/4515180, Hata: 1394572).
Hata düzeltmeleri
- C++ standardına uygunluk: Kapsamlı numaralandırmaların (enum class) biçim dizelerinde doğrudan yanlış kullanılmasından kaynaklanan tanımlanmamış davranış düzeltildi ve yeni Clang derleyici uyarıları giderildi (crrev.com/c/4628112, Bug: 1456289).
- FedCM:
setdelayenabledöğesinin doğru şekilde çalışmasını engelleyen uç durum düzeltilerek testlerdeki olası bir kararsızlık nedeni giderildi (crrev.com/c/4606064, Hata: 1453412).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı yükseltildi ve derleme komut dosyası, varsayılan olarak "main"den en son düzeltmeyi çekecek şekilde güncellendi (crrev.com/c/4615087, crrev.com/c/4615791, Hata: 4226).
- ChromeDriver, tüm dosyaları açıkça UTF-8 kodlamasıyla açıp yazacak şekilde değiştirildi (crrev.com/c/4614522).
ChromeImpl,DevToolsHttpClientbağımlılığını ortadan kaldıracak şekilde yeniden düzenlendi ve WebSockets yerine kanallar üzerinden iletişim kurmaya hazırlanmak içinSyncWebSocketFactoryveBrowserInfokullanımı azaltıldı (crrev.com/c/4571690, crrev.com/c/4571199, Bug: 3480).- Sınırlı çerçeveler için desteği sonlandırılan "varsayılan mod" kaldırıldı ve ilişkili testler, yeni özellik bayrağını etkinleştirmek üzere güncellendi. Böylece FLEDGE açık artırmalarına geçiş devam etti (crrev.com/c/4558645).
- Zaman aşımlarının ne zaman gerçekleştiğini net bir şekilde belirtmek için genel
WaitForConditiononaylarınıassertTrueile değiştirerek FedCM testleri iyileştirildi (crrev.com/c/4590211). linux-relbirim testlerinde bilinen geçici askıda kalmaraw_ptruyarıları işaretlendi (crrev.com/c/4598070).- BiDi eşleyici için OWNERS dosyası güncellendi (crrev.com/c/4614518).
ChromeDriver 115
Yeni özellikler
- Mobil emülasyon: Mobil emülasyonda Kullanıcı Aracısı İstemci İpuçları desteği uygulandı. Bu sayede ChromeDriver, istemci ipuçlarını capability nesnelerinden ve hazır ayarlardan ayrıştırıp Chrome'a iletebiliyor (crrev.com/c/4498667, crrev.com/c/4466129, Hata: 4243).
- Mobil emülasyon: Kullanıcı aracısındaki
%sbiçim dizesi değiştirilirken ChromeDriver sürümü yerine ana makine tarayıcısının ana sürümünü kullanmak için mobil emülasyon hazır ayarları güncellendi (crrev.com/c/4502850, Hata: 4243). - Kurulum: Belirli bir kanal için belirli bir ChromeDriver sürümünün indirilmesi desteği eklendi. Böylece, ChromeDriver'ın ana makineden (crrev.com/c/4550281) farklı bir platformda (ör. Android/WebView) çalıştığı otomasyon senaryoları iyileştirildi.116.0.5791.0
Hata düzeltmeleri
- Klasik: Bir düğümün çözümlenmemesi durumunda standart
NoSuchElementhatası yerine yanlışlıklaUnknownErrorhatasının döndürülmesine neden olan sorun düzeltildi (crrev.com/c/4508952, Hata: 4440). - Mobil emülasyon:
userAgentdizesi "Mobile" (Mobil) kelimesini içeriyorsaclientHints.mobileişaretinin doğru olması gerektiğini zorunlu kılmak için mobil emülasyon hazır ayarlarına daha katı onaylamalar eklendi (crrev.com/c/4507142, Hata: 4243). - Mobil emülasyon:
DeviceMetricsgeçersiz kılmaları, kullanımdan kaldırılanPagealan eşdeğeri yerineEmulation.setDeviceMetricsOverrideCDP komutunu kullanacak şekilde taşındı (crrev.com/c/4502614, Hata: 4243).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı güncellenerek derin serileştirme özellikleri etkinleştirildi (crrev.com/c/4535936, crrev.com/c/4512195).
- ChromeDriver'ın kanallar üzerinden iletişim kuracak şekilde taşınmasına hazırlık olarak,
ConnectyönteminiDevToolsClient'ten kaldırdık (crrev.com/c/4521485, Hata: 3480). - Kod tabanı,
base::Value::Dictyerinebase::Valuekullanacak şekilde taşındı veFindStringKey(),SetKey()veSetByDottedPath()gibi kullanımdan kaldırılan yöntemler değiştirildi (crrev.com/c/4529788, crrev.com/c/4522701, crrev.com/c/4515800, crrev.com/c/4507150). - Daha güvenli tür dönüştürmeleri için
[w]ctype.hyerinestring_util.hişlevleri kullanılmaya başlandı (crrev.com/c/4529187). - Komut dosyaları ve Chrome farklı konumlarda çalıştırıldığında tutarlılık sağlamak için başlangıç dosyası yükleme mantığı mutlak yollar kullanacak şekilde değiştirildi (crrev.com/c/4504656).
- Kullanılmayan
CallAsyncFunction()yöntemiweb_view.h'den kaldırıldı (crrev.com/c/4518363, Bug: 3376). - Stil kılavuzu tercihlerine (crrev.com/c/4476651) uymak için
base::raw_ptr,raw_ptrolarak otomatik yeniden adlandırıldı.
ChromeDriver 114
Yeni özellikler
- Klasik: Gelecekteki İstemci İpuçları ve UserAgent geçersiz kılma işlemleri için temel oluşturmak üzere
MobileDevicebilgileriniMobileEmulationOverrideManager'ye iletti (crrev.com/c/4447524). - Test: ChromeDriver için test armatürleri eklendi (crrev.com/c/4459939).
Hata düzeltmeleri
- Başsız: Komut dosyası oluşturulmuş baskı önizleme isteklerini (ör.
window.print()) sessizce yoksayarak yeni başsız moddaki kilitlenme sorunu düzeltildi. Böylece davranış, eski başsız modla (crrev.com/c/4436313, Bug: 4385) uyumlu hale getirildi. - Özellikler: ChromeDriver özelliklerindeki taşıma sonrası kullanma hatası düzeltildi (crrev.com/c/4462094, Hata: 4243).
- DevTools: Geliştirici Araçları bağlantısı kesildiğinde kilitlenmeleri önlemek için
DevToolsClientImpl::SendCommandInternaliçindeDCHECKkaldırıldı. Bunun nedeni, bu durumun değişmezlik ihlali olmamasıdır (crrev.com/c/4370486, Hata: 4385).
Dahili değişiklikler ve yeniden düzenlemeler
- BiDi: BiDi Mapper bağımlılığı güncellendi (crrev.com/c/4418727).
WebViewImplve performans kaydedici testlerinde (crrev.com/c/4374824, crrev.com/c/4368179) sahipsiz referansları ve yerel yok etme işlemlerini düzgün şekilde yöneterek birim testi yürütme sırasında birden fazla boş işaretçi uyarısı giderildi.- Kod tabanı,
base::Valuev2 API'yi kullanacak şekilde taşındı.Value::SetPath(),Value::SetStringPath()vebase::ListValuegibi kullanımdan kaldırılan yöntemler değiştirildi (crrev.com/c/4452309, crrev.com/c/4431420, crrev.com/c/4422897, crrev.com/c/4377520). - Temel kitaplığın yeniden adlandırılmasıyla (crrev.com/c/4455083) uyumlu olması için
base::GUIDifadesinin tüm kullanımlarıbase::Uuidile değiştirildi. - Kodu kısaltma,
expectediçin monadik işlemler kullanma, kullanılmayan kodu kaldırma ve stil ihlallerini düzeltme (crrev.com/c/4475368, crrev.com/c/4464199) dahil olmak üzere çeşitli kod temizleme işlemleri yapıldı. - Çitli çerçevelerle ilgili güncellenen testlerde, desteği sonlandırılan
srcözelliği yerineconfigözelliği kullanılacak (crrev.com/c/4382231). - Etkisiz
ShadowDOMV0kullanımı kaldırıldı (crrev.com/c/4388302). - Yeniden temel oluşturmaya izin vermek için Skia PDF düzeltmesiyle ilgili işaretin (
SK_IGNORE_PDF_EOF_NEWLINE_FIX) eklenmesi geri alındı (crrev.com/c/4401451). - ChromeDriver test komut dosyasının sahibini güncelledik ve yapılandırma JSON'unun yalnızca Pinpoint için oluşturulması amacıyla düzenlemeler yaptık (crrev.com/c/4437492, crrev.com/c/4298554).
- IWYU derleme sorununu (crrev.com/c/4376772) düzeltmek için
web_view_impl.cciçindestd::strleniçin eksik bir include (<cstring>) eklendi. - Kullanılmayan bir test dosyası (
orientation_test.html) kaldırıldı (crrev.com/c/4335668).
ChromeDriver 113.0.5672.63
Chrome 113 sürümünü destekler.
- 4205 numaralı sorun çözüldü: Klasik ve BiDi'de aynı nesne kimlikleri [Pri-1]
- 4302 numaralı sorun çözüldü: ExecuteGetWindowHandles'da Mapper'ın ilk sekmede olduğunu varsaymayın [Pri-1]
- 4356 numaralı sorun çözüldü: Chrome 110, "download.default_directory" tercih değerini kullanmıyor [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 113.0.5672.24
Chrome 113 sürümünü destekler.
- 4205 numaralı sorun çözüldü: Klasik ve BiDi'de aynı nesne kimlikleri [Pri-1]
- 4302 numaralı sorun çözüldü: ExecuteGetWindowHandles'da Mapper'ın ilk sekmede olduğunu varsaymayın [Pri-1]
- 4356 numaralı sorun çözüldü: Chrome 110, "download.default_directory" tercih değerini kullanmıyor [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 112.0.5615.49
Chrome 112 sürümünü destekler.
- 3517 numaralı sorun çözüldü: Başsız olmayan cihazlarda yazdırma özelliğini etkinleştirme [Pri-]
- 4419 numaralı sorun çözüldü: chromedriver kullanılırken Speedometer'da büyük ek yük oluşuyordu [Öncelik-3]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 112.0.5615.28
Chrome 112 sürümünü destekler.
- 4357 numaralı sorun çözüldü: Chromedriver 110.0.5481.77 sürümünde, --headless ve --user-data-dir seçenekleriyle ilgili oturum sorunu. [Pri-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 111.0.5563.64
Chrome 111 sürümünü destekler.
- 4216 numaralı sorun çözüldü: ChromeDriver'ı özel BiDiMapper ile çalıştırma [Öncelikli]
- 4300 numaralı sorun çözüldü: Pencere tutacağı, Klasik ve BiDi arasında birlikte çalışabilir [Pri-]
- 4325 numaralı sorun düzeltildi: call_function.js dosyasının jsonSerialize işlevinde toJSON işleme biçimi standarttan farklıydı. [Pri-]
- 4330 numaralı sorun düzeltildi: DCHECK, DevToolsClientImpl::AddListener'da başarısız oluyor [Pri-]
- 4357 numaralı sorun çözüldü: --headless ve --user-data-dir seçenekleriyle ChromeDriver oturumu sorunu [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 111.0.5563.41
Chrome 111 sürümünü destekler.
- 4357 numaralı sorun çözüldü: --headless ve --user-data-dir seçenekleriyle ChromeDriver oturumu sorunu [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 111.0.5563.19
Chrome 111 sürümünü destekler.
- 4216 numaralı sorun çözüldü: ChromeDriver'ı özel BiDiMapper ile çalıştırma [Öncelikli]
- 4300 numaralı sorun çözüldü: Pencere tutacağı, Klasik ve BiDi arasında birlikte çalışabilir [Pri-]
- 4325 numaralı sorun düzeltildi: call_function.js dosyasının jsonSerialize işlevinde toJSON işleme biçimi standarttan farklıydı. [Pri-]
- 4330 numaralı sorun düzeltildi: DCHECK, DevToolsClientImpl::AddListener'da başarısız oluyor [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 110.0.5481.77
Chrome 110 sürümünü destekler.
- 4193 numaralı sorun çözüldü: Android 13'te yeni oturum başlatılamadı [Öncelikli]
- 4272 numaralı sorun çözüldü: WebSocket, code=0 değerini FIN göstergesi olarak ele almalıdır [Öncelikli]
- 4276 numaralı sorun çözüldü: ChromeDriver'daki bağlantı sorunlarını düzeltme [Öncelikli]
- 4295 numaralı sorun çözüldü:
"webSocketUrl": trueile ChromeDriver yarışıyor [Öncelik-] - 4297 numaralı sorun çözüldü: ChromeDriver Bidi yanlış şekilde serileştiriliyor [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 110.0.5481.30
Chrome 110 sürümünü destekler.
- 4193 numaralı sorun çözüldü: Android 13'te yeni oturum başlatılamadı [Öncelikli]
- 4272 numaralı sorun çözüldü: WebSocket, code=0 değerini FIN göstergesi olarak ele almalıdır [Öncelikli]
- 4276 numaralı sorun çözüldü: ChromeDriver'daki bağlantı sorunlarını düzeltme [Öncelikli]
- 4295 numaralı sorun çözüldü:
"webSocketUrl": trueile ChromeDriver yarışıyor [Öncelik-] - 4297 numaralı sorun çözüldü: ChromeDriver Bidi yanlış şekilde serileştiriliyor [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 109.0.5414.74
Chrome 109 sürümünü destekler.
- 4179 numaralı sorun çözüldü: BiDi oturumu birden fazla bağlantıyı desteklemelidir [Öncelikli]
- 4203 numaralı sorun düzeltildi: Kredi bilgileri iyileştirildi [Pri-]
- 4263 numaralı sorun çözüldü: Meta+A tuşlarına basıldığında kilitlenme [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 109.0.5414.25
Chrome 109 sürümünü destekler.
- 4179 numaralı sorun çözüldü: BiDi oturumu birden fazla bağlantıyı desteklemelidir [Öncelikli]
- 4203 numaralı sorun düzeltildi: Kredi bilgileri iyileştirildi [Pri-]
- 4263 numaralı sorun çözüldü: Meta+A tuşlarına basıldığında kilitlenme [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 108.0.5359.71
Chrome 108 sürümünü destekler. Daha fazla bilgi için sürüm notlarına bakın.
ChromeDriver 108.0.5359.22
Chrome 108 sürümünü destekler.
- 4204 numaralı sorun çözüldü: Başarısız olan WPT test_top_level_and_one_child [Pri-] testi düzeltildi.
- 4215 numaralı sorun çözüldü: chromedriver_mac64_m1 derlemesinin adı chromedriver_mac_arm64 olarak değiştirildi [Öncelikli]
- 4221 numaralı sorun çözüldü: Tıklama komutu tarayıcıyı kapattığında kilitlenme [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 107.0.5304.62
Chrome 107 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 107.0.5304.18
Chrome 107 sürümünü destekler.
- 4180 numaralı sorun çözüldü: BiDiMapper'ın başlatıldığı bildirilene kadar herhangi bir BiDi komutunun işlenmesi yasaklanıyor [Öncelikli]
- 4198 numaralı sorun çözüldü: ChromeDriver BiDi, BiDiMapper'ın her zaman ilk sekmede olduğunu varsaymamalıdır [Pri-]
- 4207 numaralı sorun çözüldü: WPT çalıştırılırken WebDriver hatası [Pri-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 106.0.5249.61
Chrome 106 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 106.0.5249.21
Chrome 106 sürümünü destekler.
- 4016 numaralı sorun giderildi: ChromeDriver'a temel BiDi desteği eklendi (Mapper tabanlı) [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 105.0.5195.52
Chrome 105 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 105.0.5195.19
Desteklenen Chrome sürümü
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 104.0.5112.79
Chrome 104 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 104.0.5112.29
Chrome 104 sürümünü destekler.
- 4121 numaralı sorun çözüldü: WebDriver komutu bazen "unexpected command response" (beklenmeyen komut yanıtı) hatasıyla başarısız oluyordu [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 104.0.5112.20
Chrome 104 sürümünü destekler.
- 4121 numaralı sorun çözüldü: WebDriver komutu bazen "unexpected command response" (beklenmeyen komut yanıtı) hatasıyla başarısız oluyordu [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 103.0.5060.134
Chrome 103 sürümünü destekler.
- 4048 numaralı sorun çözüldü: hedef çerçeve ayrıldı [Öncelikli]
- 4121 numaralı sorun çözüldü: WebDriver komutu bazen "unexpected command response" (beklenmeyen komut yanıtı) hatasıyla başarısız oluyordu [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 103.0.5060.53
Chrome 103 sürümünü destekler.
- 4048 numaralı sorun çözüldü: hedef çerçeve ayrıldı [Öncelikli]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 103.0.5060.24
Chrome 103 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 102.0.5005.61
Chrome 102 sürümünü destekler.
- 1309282 numaralı sorun çözüldü: chromedriver, çok değerli anahtarları desteklemiyor [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 102.0.5005.27
Chrome 102 sürümünü destekler.
- 1309282 numaralı sorun çözüldü: chromedriver, çok değerli anahtarları desteklemiyor [Öncelik-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 101.0.4951.41
Chrome 101 sürümünü destekler.
- 4046 numaralı sorun çözüldü: Boş sınırlanmış çerçeve eklenirken DCHECK isabeti [Pri-]
- 4080 numaralı sorun çözüldü: İç içe yerleştirilmiş çerçeveye geçiş başarısız oluyor [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 101.0.4951.15
Chrome 101 sürümünü destekler.
- 4046 numaralı sorun çözüldü: Boş sınırlanmış çerçeve eklenirken DCHECK isabeti [Pri-]
- 4080 numaralı sorun çözüldü: İç içe yerleştirilmiş çerçeveye geçiş başarısız oluyor [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 100.0.4896.60
Chrome 100 sürümünü destekler.
- 4002 numaralı sorun çözüldü: Sınırlı çerçeveler destekleniyor [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 100.0.4896.20
Chrome 100 sürümünü destekler.
- 4002 numaralı sorun çözüldü: Sınırlı çerçeveler destekleniyor [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 99.0.4844.51
Chrome 99 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 99.0.4844.35
Chrome 99 sürümünü destekler.
- REVERTED!!! 2269 numaralı sorun çözüldü: BMP dışı karakterlerin (U+FFFF'nin üzerindeki kod noktaları) kullanılması mümkün değil [Öncelik-3]
- chromium:1295243 numaralı sorun giderildi: ChromeDriver sendKeys'te gerileme [Pri-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 99.0.4844.17
Chrome 99 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 98.0.4758.102
Chrome 98 sürümünü destekler.
- 3933 numaralı sorun giderildi: Tıklama, hata olmadan görünüm alanının kenarında etkisiz kalıyor [Öncelikli]
- REVERTED!!! 2269 numaralı sorun çözüldü: BMP dışı karakterlerin (U+FFFF'nin üzerindeki kod noktaları) kullanılması mümkün değil [Öncelik-3]
- chromium:1295243 numaralı sorun giderildi: ChromeDriver sendKeys'te gerileme [Pri-1]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 98.0.4758.80
Chrome 98 sürümünü destekler.
- 3933 numaralı sorun giderildi: Tıklama, hata olmadan görünüm alanının kenarında etkisiz kalıyor [Öncelikli]
- 2269 numaralı sorun çözüldü: BMP dışı karakterlerin (U+FFFF'nin üzerindeki kod noktaları) kullanılması mümkün değil [Öncelik-3]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 98.0.4758.48
Chrome 98 sürümünü destekler.
- 3933 numaralı sorun giderildi: Tıklama, hata olmadan görünüm alanının kenarında etkisiz kalıyor [Öncelikli]
- 2269 numaralı sorun çözüldü: BMP dışı karakterlerin (U+FFFF'nin üzerindeki kod noktaları) kullanılması mümkün değil [Öncelik-3]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 97.0.4692.71
Chrome 97 sürümünü destekler.
- 3878 numaralı sorun çözüldü: Öğe tıklama için kesirli öğe koordinatlarının daha iyi işlenmesi [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 97.0.4692.36
Chrome 97 sürümünü destekler.
- 3878 numaralı sorun çözüldü: Öğe tıklama için kesirli öğe koordinatlarının daha iyi işlenmesi [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 97.0.4692.20
Chrome 97 sürümünü destekler.
- 3878 numaralı sorun çözüldü: Öğe tıklama için kesirli öğe koordinatlarının daha iyi işlenmesi [Pri-]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 96.0.4664.45
Chrome 96 sürümünü destekler.
- 3445 numaralı sorun giderildi: Gölge kökü içindeki iframe'de öğelere erişilemiyor [Öncelik-3]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 96.0.4664.35
Chrome 96 sürümünü destekler.
- 3445 numaralı sorun giderildi: Gölge kökü içindeki iframe'de öğelere erişilemiyor [Öncelik-3]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 96.0.4664.18
Chrome 96 sürümünü destekler.
- 3445 numaralı sorun giderildi: Gölge kökü içindeki iframe'de öğelere erişilemiyor [Öncelik-3]
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 95.0.4638.69
Chrome 95 sürümünü destekler.
- 3857 numaralı sorun düzeltildi: Ana makine başlığı veya kaynak başlığı belirtilmiş ancak beyaz listeye eklenmemiş ya da localhost değil [Pri-1]
--allowed-originsbağımsız değişkeni eklendi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 95.0.4638.54
Chrome 95 sürümünü destekler.
- 3857 numaralı sorun düzeltildi: Ana makine başlığı veya kaynak başlığı belirtilmiş ancak beyaz listeye eklenmemiş ya da localhost değil [Pri-1]
--allowed-originsbağımsız değişkeni eklendi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 95.0.4638.17
Chrome 95 sürümünü destekler.
- 3857 numaralı sorun düzeltildi: Ana makine başlığı veya kaynak başlığı belirtilmiş ancak beyaz listeye eklenmemiş ya da localhost değil [Pri-1]
--allowed-originsbağımsız değişkeni eklendi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 95.0.4638.10
Chrome 95 sürümünü destekler.
- 3857 numaralı sorun düzeltildi: Ana makine başlığı veya kaynak başlığı belirtilmiş ancak beyaz listeye eklenmemiş ya da localhost değil [Pri-1]
--allowed-originsbağımsız değişkeni eklendi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 94.0.4606.113
Chrome 94 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 94.0.4606.61
Chrome 94 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 94.0.4606.41
Chrome 94 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 93.0.4577.63
Chrome 93 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 93.0.4577.15
Chrome 93 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 92.0.4515.107
Chrome 92 sürümünü destekler.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 92.0.4515.43
Chrome 92 sürümünü destekler.
- 3389 numaralı sorun çözüldü: ChromeDriver istekleri için ana makine doğrulama
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 91.0.4472.101
Chrome 91 sürümünü destekler.
- 1205107 numaralı sorun çözüldü: Web uygulamasındaki alanlar için özellik değeri alınamıyordu.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 91.0.4472.19
Chrome 91 sürümünü destekler.
- 3744 numaralı sorun çözüldü: SendKeys() ve Click(), bağlantı gezinmesinden sonra sessizce başarısız oluyor
- 3746 numaralı sorun çözüldü: Özellik uç noktası, değerleri yanlış şekilde güncelliyor
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 90.0.4430.24
Chrome 90 sürümünü destekler.
- 3708 numaralı sorun çözüldü: Gölge DOM'daki öğeler için GetElementLocation'ın inView'ı başarısız oluyor
- 3721 numaralı sorun çözüldü: Etkinleştirildiğinde hizmet çalışanı için performans günlüğü toplama
- 3731 numaralı sorun giderildi: AdbImpl::GetPidByName, OnePlus gibi standart olmayan Android işletim sistemlerinde düzgün çalışmıyordu.
- 3733 numaralı sorun düzeltildi: Yerel ana makinede alanla ilgili ciddi hata
- 3734 numaralı sorun çözüldü: Sürücü, yanlış alanda çerez ayarlamaya çalışırken hata vermelidir.
- 3743 numaralı sorun çözüldü: Çağrı işlevi yeniden düzenlendi ve öğe kaldırma sorunu düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 89.0.4389.23
Chrome 89 sürümünü destekler.
- 3667 numaralı sorun çözüldü: Oluşturucudan ileti alınırken zaman aşımı oluşuyor
- 3675 numaralı sorun çözüldü: GetElementLocation, boolean'ı dizi olarak yanlış işleyen inView yöntemini kullanıyor
- 3682 numaralı sorun çözüldü: GetElementRegion, kısmen görüntü alanının dışında olan öğeler için yanlış boyut döndürüyor
- 3690 numaralı sorun düzeltildi: Uzantılar chrome.windows API'sini kullanıyorsa ChromeDriver başarısız oluyor
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 88.0.4324.96
Chrome 88 sürümünü destekler.
- 3641 numaralı sorun düzeltildi: Tarayıcı penceresi Chrome Beta v87 ve chromedriver v(87/86) ile ön planda olmadığında sayfa yüklenmiyor/oluşturulmuyor.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 88.0.4324.27
Chrome 88 sürümünü destekler.
- 3611 numaralı sorun çözüldü: Protractor'daki
getText()çıkışı,<element>.innerTextçıkışından farklı - 3625 numaralı sorun çözüldü: Öğelerin ekran görüntüsü uyumluluğu iyileştirildi.
- 3628 numaralı sorun çözüldü: Eski öğe referansı ve URL'nin yolu içinde başka bir URL bulunan URL ile ilgili yanlış URL bildirimi
- 3631 numaralı sorun çözüldü:
webauthn:extension:largeBlobözelliği için destek eklendi - 3635 numaralı sorun çözüldü: Chromedriver 86 -
chromedriver.quit(), kaldırma etkinliğini düzgün şekilde iletmiyor gibi görünüyor - 3649 numaralı sorun çözüldü: Başsız mod kullanılırken seçili metnin panoya kopyalanması Windows 10'da çalışmıyor.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 87.0.4280.88
Chrome 87 sürümünü destekler.
- 3641 numaralı sorun düzeltildi: Tarayıcı penceresi Chrome Beta v87 ve chromedriver v(87/86) ile ön planda olmadığında sayfa yüklenmiyor/oluşturulmuyor.
- 3657 numaralı sorun çözüldü: Ekran görüntüsü arka plan tarayıcısı zaman aşımına uğradı
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 87.0.4280.20
Chrome 87 sürümünü destekler.
- 2421 numaralı sorun çözüldü: Android adb-server'da eski bağlantı noktası yönlendirme kanallarını silme
- 3474 numaralı sorun giderildi: Emüle edilen mobil cihaz listesinin güncellenmesi gerekiyor
- 3507 numaralı sorun çözüldü: "get computed role" işlevi uygulandı
- 3508 numaralı sorun çözüldü: "get computed label" işlevini uygulama
- 3584 numaralı sorun düzeltildi: ChromeDriver komut satırı seçeneği --whitelisted-ips yeniden adlandırıldı
- 3588 numaralı sorun çözüldü: Çift yönlü WebSocket bağlantısı
- 3594 numaralı sorun giderildi: Ana sayfa yüklenmeden önce OOPIF yüklenirse gezinme erken tamamlanıyor
- 3598 numaralı sorun düzeltildi: Geliştirici araçları bağlantı noktasının webview_devtools_remote soketine yönlendirilmesi için komut satırı seçeneği
- 3608 numaralı sorun çözüldü: Chromedriver debuggerAddress, IPv6'yı desteklemiyor
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 86.0.4240.22
Chrome 86 sürümünü destekler.
- 3370 numaralı sorun düzeltildi: Chrome düzgün şekilde kapatılmadığında çerez, SQLite kalıcılık dosyasına doğru şekilde kaydedilmiyor.
- 3401 numaralı sorun düzeltildi: Get Element Location JS, öğenin görünür merkezini bulamıyor
- 3462 numaralı sorun çözüldü: sendKeys için CMD tuşu MAC'te çalışmıyor
- 3541 numaralı sorun çözüldü: İstemci ile ChromeDriver arasındaki günlük iyileştirildi.
- 3559 numaralı sorun düzeltildi: ChromeDriver uyumsuz olduğunu bildirdiğinde Chrome sürümü çıkışı
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 85.0.4183.87
Chrome 85 sürümünü destekler.
- 3578 numaralı sorun düzeltildi: Chrome 85, uyarı iletişim kutusu açıkken pencerelerle sorunsuz etkileşime izin vermiyor
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 85.0.4183.83
Chrome 85 sürümünü destekler.
- 3577 numaralı sorun düzeltildi: ChromeDriver 85, değiştirilen Chrome dizinini (C:\Program Files) algılamıyor
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 85.0.4183.38
Chrome 85 sürümünü destekler.
- 3214 numaralı sorun çözüldü: ChromeDriver78: Sendkeys, contenteditable ile metin seçimini sıfırlıyor
- 3376 numaralı sorun çözüldü: LaunchApp komutu ChromeDriver'dan kaldırıldı
- 3432 numaralı sorun çözüldü: Bazen
NavigationTracker, sayfa yükleme işleminin tamamlandığını algılayamıyor. - 3481 numaralı sorun çözüldü: W3C spesifikasyonuna göre yeni yazdırma uç noktası
- 3488 numaralı sorun düzeltildi: Proxy yanlış yapılandırıldığında driver.get hata vermiyor
- 3502 numaralı sorun çözüldü: Öğenin odaklanıp odaklanmadığını kontrol etmek için
document.hasFocus()kullanma - 3515 numaralı sorun çözüldü: selenium.common.exceptions.WebDriverException: Message: unknown error: bad inspector message
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 84.0.4147.30
Chrome 84 sürümünü destekler.
- 3420 numaralı sorun çözüldü: Yazdırma penceresine geçildikten sonra chromedriver yanıt vermeyi durduruyor
- 3421 numaralı sorun çözüldü: Sürücü, Kiril alfabesiyle yazılmış metni stiller olmadan döndürüyor
- 3422 numaralı sorun giderildi: GetElementText, 1.6.0.3 prototipiyle bozuluyor
- 3434 numaralı sorun çözüldü: "Browser" günlüklerinden "assert" mesajları alınamıyor
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 83.0.4103.39
Chrome 83 sürümünü destekler.
- Chromedriver, prototype.js ile doğru şekilde çalışacak şekilde güncellendi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 83.0.4103.14
Chrome 83 sürümünü destekler.
- 1778 numaralı sorun giderildi: launchApp, ChromeDriver'dan kaldırıldı
- 2520 numaralı sorun çözüldü: Chrome yanıt vermediğinde InitSession süresiz olarak bekleyebilir
- 3120 numaralı sorun çözüldü: Yeni sekmeden gözetimsiz mod indirme
- 3234 numaralı sorun düzeltildi: Alt dizeden önce noktalı virgül bulunup bulunmadığı onaylanıyor
- 3240 numaralı sorun düzeltildi: ExecuteGetElementRect, GET_SIZE'dan döndürülen durumu kontrol etmiyor
- 3331 numaralı sorun çözüldü:
get_cookies()yöntemi, "expiry" anahtarlarını double türünde döndürüyor ancak w3c modunda int64 türünde döndürmesi gerekiyor. - 3332 numaralı sorun çözüldü: Yeniden deneme zaman aşımı ciddi olarak kaydediliyordu
- 3339 numaralı sorun giderildi: Chromedriver, beklenmedik şekilde null kodu ve SIGTRAP sinyaliyle çıktı
- 3351 numaralı sorun düzeltildi: Güvenlikle ilgili hususlar mesajı iyileştirildi.
- 3352 numaralı sorun düzeltildi: Renk öğeleri için SendKeys desteği
- 3353 numaralı sorun çözüldü: Çerçeve bağlamı yok edildikten sonra da "Bekleyen gezinme bekleniyor" mesajı gösteriliyor
- 3375 numaralı sorun çözüldü: Chromedriver v80, bazı sitelerde getPageSource'ta takılıyor
- 3383 numaralı sorun düzeltildi: Windows'daki ChromeDriver 80+, belirli öğe veya tıklama komutlarında çıkıyor ya da duraklıyor
- 3399 numaralı sorun çözüldü: wasThrown kontrolü kaldırıldı
ChromeDriver 81.0.4044.138
Chrome 81 sürümünü destekler.
- Chromedriver, prototype.js ile doğru şekilde çalışacak şekilde güncellendi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 81.0.4044.69
Chrome 81 sürümünü destekler.
- Düzeltildi: Chromedriver, bazı sitelerde getPageSource'ta kilitleniyor.
- Düzeltildi: ChromeDriver, belirli öğe veya tıklama komutlarında kilitleniyordu.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 81.0.4044.20
Chrome 81 sürümünü destekler.
- HTML öğesinin konumu alınmaya çalışılırken oluşan hata düzeltildi.
- Get ve Add Cookie komutları artık çerçeveye özeldir.
- Standart JavaScript nesnelerini yeniden tanımlayan sitelerde oluşan bazı sorunlar giderildi.
- ChromeDriver, Target Closed mesajını aldıktan sonra yüklemenin tamamlanmasını beklemeye devam eder.
- Chrome sürücüsü artık zaman aşımları için spesifikasyona uygun hata kodu döndürüyor
- Düzeltildi: ChromeDriver, NewSession komutunda beklenmedik şekilde yavaş yanıt veriyor.
- 10 dakikadan uzun kullanıcı tanımlı zaman aşımları artık destekleniyor.
- Düzeltildi: IPv4 ile IPv6 arasındaki uyuşmazlık nedeniyle ChromeDriver, Geliştirici Araçları'na bağlanamıyordu.
- Linux'ta Chrome ikili dosyası için arama sırası geri yüklendi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 80.0.3987.106
Chrome 80 sürümünü destekler.
- Linux'ta Chrome ikili dosyası için arama sırası geri yüklendi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 80.0.3987.16
Chrome 80 sürümünü destekler.
- Proxy kullanılırken sayfa yükleme işleminin iptal edilmesi sorunu düzeltildi.
- ChromeDriver artık Current frame'in yüklenmesini bekliyor.
- ChromeDriver günlüğünde, sürücü tarafından kullanılan bağlantı noktası yer alır.
- W3C modu için SetGeoLocation etkinleştirildi.
- UnexpectedAlertOpen durumu için eksik olan uyarı metni eklendi.
- CRX2 uzantısı yüklendiğinde gösterilen mesaj iyileştirildi.
- ExecuteGetPageSource'taki olası bir yarış durumu düzeltildi.
- acceptInsecureCerts özelliği doğru olduğunda ChromeDriver, --ignore-certificate-errors işaretini ekler
- Böyle bir yürütme bağlamı yok hatası için hata mesajı ve döndürme durumu güncellendi
- Düzeltildi: ChromeDriver, bekleyen gezinmeyi beklerken süresiz olarak engellenebiliyordu.
- AddCookie ve GetCookie'ye SameSite özelliği eklendi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 79.0.3945.36
Chrome 79 sürümünü destekler.
79.0.3945.16 sürümüne göre aşağıdaki değişikliği içerir:
- Öğe koordinatlarının yanlış hesaplanması düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 79.0.3945.16
Chrome 79 sürümünü destekler.
- Komut yürütülürken tetiklenen JavaScript uyarısının neden olduğu ChromeDriver kilitlenmesi düzeltildi.
- Ekran görüntüsü alınırken uyarı tetiklendiğinde Chromedriver'ın kilitlenmesine neden olan hata düzeltildi.
- Chrome başlatma komutundan --ignore-certificate-errors kaldırıldı
- Platform ve platformName, Win10'da windows olarak değiştirildi.
- "enable-automation" hariç tutulduğunda window.navigator.webdriver'ın tanımsız olması sorunu düzeltildi.
- "test_not_editable_inputs[hidden]" adlı WPT testi düzeltildi.
- Gözetimsiz mod kullanılırken "Öğe tıklanamıyor" hatası düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 78.0.3904.105
Chrome 78 sürümünü destekler.
78.0.3904.70 sürümüne göre aşağıdaki değişiklikler yapıldı: * Öğelerin koordinatlarının yanlış hesaplanması düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 78.0.3904.70
Chrome 78 sürümünü destekler.
78.0.3904.11 sürümüne göre aşağıdaki değişikliği içerir:
- Bildirilen birden fazla sorun nedeniyle, retina ekranda ekran görüntüsü boyutunu ayarlama değişikliği geri alındı.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 78.0.3904.11
Chrome 78 sürümünü destekler.
- JavaScript nesne serileştirmeyle ilgili çeşitli sorunlar düzeltildi.
- Android'de Chrome için özellik eşleştirme ile ilgili hata düzeltildi.
- İzin otomasyonu uygulandı
- Retina ekranda sabit ekran görüntüsü boyutu
- Bazı senaryolarda sayfa yükleme zaman aşımı sorunu düzeltildi.
- Platform adı eşleştirme özelliği iyileştirildi
- İşaretçi, açılır liste seçeneklerine taşınırken döndürülen hata kodu düzeltildi.
- Başsız modda indirmeyi etkileyen sorun düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 77.0.3865.40
Chrome 77 sürümünü destekler.
77.0.3865.10 sürümüne göre aşağıdaki değişiklikleri içerir:
- JavaScript nesnelerini serileştirme ve seri durumdan çıkarma ile ilgili iki hata düzeltildi.
- Özellikler eşleştirilirken platformName: android değerinin işlenmesi düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 77.0.3865.10
Chrome 77 sürümünü destekler.
- Actions API'nin uygulanmasıyla ilgili çeşitli sorunlar düzeltildi.
- JavaScript kodunun yürütülmesi ve sonuçların işlenmesi iyileştirildi
- OSS modunda boş gövdeli POST isteklerinin yanlışlıkla reddedilmesine neden olan hata düzeltildi.
- Daha güçlü bir navigasyon takipçisi
- İstekli sayfa yükleme stratejisini destekleme
- W3C WebDriver spesifikasyonundan New Window komutu eklendi
- Dosya indirmelerini başsız modda kaydetme desteği
- CRX3 uzantılarını yükleme desteği eklendi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 76.0.3809.126
Chrome 76 sürümünü destekler.
76.0.3809.68 sürümüne göre aşağıdaki değişiklikleri içerir:
- JavaScript nesnelerini serileştirme ve seri durumdan çıkarma ile ilgili iki hata düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 76.0.3809.68
Chrome 76 sürümünü destekler.
76.0.3809.25 sürümüne kıyasla aşağıdaki değişiklikleri içerir:
- JavaScript nesnelerinde döngüsel referans algılamayla ilgili bir hata düzeltildi.
- Belirli JavaScript hataları oluştuğunda ChromeDriver'ın kilitlenmesine neden olan hata düzeltildi.
- Actions API'nin gölge DOM'ların içindeki öğelerle etkileşim kurmasını engelleyen hata düzeltildi.
- İşlemler API komutları arasında değiştirici tuş durumunu takip etmeyle ilgili hata düzeltildi.
- İşlemler API komutları arasında işaretçi konumlarının izlenmesiyle ilgili hata düzeltildi.
- "Cannot call non W3C standard command while in W3C mode" (W3C modundayken W3C dışı standart komut çağrılamıyor) hatası oluştuğunda günlük dosyasına kaydedilir.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 76.0.3809.25
Chrome 76 sürümünü destekler.
76.0.3809.12 sürümüne göre aşağıdaki değişiklikleri içerir:
- OSS modunda boş gövdeli POST isteklerinin yanlışlıkla reddedilmesine neden olan hata düzeltildi.
- Chrome günlüğünü alma için yeni uç noktalar eklendi.
- W3C modunda Is Displayed komutu için uç nokta eklendi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 76.0.3809.12
Chrome 76 sürümünü destekler.
- Actions API'nin uygulanması tamamlandı
- Komut dosyası zaman aşımı işleme ile ilgili spesifikasyon uygunluğu iyileştirildi
- Execute Script komutundan elde edilen sonuçların daha iyi serileştirilmesi
- Kaydırma öğesinin görünümüne getirilmesiyle ilgili sorunlar düzeltildi.
- WebDriver spesifikasyonunda tanımlanan İptal anahtarının işlenmesi eklendi
- İşlenmemiş uyarı hatası yanıtının işlenmesi düzeltildi.
<details>öğesinin işlenmesi düzeltildi- Anahtar adlarında isteğe bağlı olarak baştaki tirelere izin vermek için excludeSwitches seçeneği güncellendi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 75.0.3770.140
Chrome 75 sürümünü destekler
75.0.3770.90 sürümüne göre aşağıdaki değişiklikleri içerir:
- Bazı JavaScript hataları oluştuğunda ChromeDriver'ın kilitlenmesine neden olan hata düzeltildi.
- Eylemler arasında değiştirici tuş durumunu korumayla ilgili hata düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 75.0.3770.90
Chrome 75 sürümünü destekler
75.0.3770.8 sürümüne göre aşağıdaki değişiklikleri içerir:
- OSS modunda boş gövdeli POST isteklerinin yanlışlıkla reddedilmesine neden olan hata düzeltildi.
- Chrome günlüğünü alma için yeni uç noktalar eklendi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 75.0.3770.8
Chrome 75 sürümünü destekler
En dikkat çekici değişiklik, ChromeDriver'ın artık varsayılan olarak W3C standardına uygun modda çalışmasıdır. Diğer değişiklikler:
- Öğeyi temizleme sırasında bulanıklaştırma etkinliğinin iki kez tetiklenmesine neden olan hata düzeltildi.
- W3C standardının gerektirdiği şekilde, loggingPrefs özelliği goog:loggingPrefs olarak yeniden adlandırıldı.
- W3C modunda hata işleme düzeltildi.
- Alan adında başında nokta olmayan çerezlerin oluşturulmasıyla ilgili doğru işleme
- Komut dosyası zaman aşımı için boş değere izin verir
- "multiple" özelliği olan dosya girişine Element Send Keys komutu gönderilmesi düzeltildi.
- Etkin öğe olmadığında "no such element" hatasını döndürmesi için Get Active Element komutu düzeltildi.
- "Geçersiz bağımsız değişken" hatasını döndürmek için yanlış biçimlendirilmiş URL'ye yapılan gezinme düzeltildi.
- Geçersiz oturum kimliği alındığında HTTP durum kodu düzeltildi
- Giriş parametresi eksik veya yanlış biçimlendirilmiş olduğunda hata yanıtı düzeltildi.
- Satır odaklı JavaScript yorumunu işlemek için Execute Script (Komut Dosyasını Yürüt) komutu düzeltildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 74.0.3729.6
Chrome 74 sürümünü destekler.
- Windows'da beklenmedik debug.log dosyası oluşturulmasına neden olan hata düzeltildi.
- SVG belgesinde fareyle tıklama ve sürükleyip bırakma işlemleri düzeltildi.
- ChromeDriver'dan gelen yanıtlara cache-control üstbilgisi eklendi.
- Tıklama farklı bir öğe tarafından engellendiğinde hata türü düzeltildi.
- /dev/shm olmayan Linux cihazlarda ChromeDriver'ın başarısız olmasına neden olan hata düzeltildi.
- Bazı çift tıklama etkinlikleri düzeltildi.
- Get Sessions komutu düzeltildi
- Çerçeveye Geç komutundaki kontrol hatası düzeltildi.
- Sayfa kaynağını al komutu düzeltildi
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 73.0.3683.68
Chrome 73 sürümünü destekler.
- Windows'da beklenmedik debug.log dosyası oluşturulmasına neden olan hata düzeltildi.
- Bazı senaryolarda Execute Script komutundan döndürülen hata kodu düzeltildi.
- ChromeDriver'dan gelen yanıtlara cache-control üstbilgisi eklendi.
- HTTP sunucusunun bağlantıyı varsayılan olarak etkin tutması sağlandı.
- Kullanıcı istemlerini doğru şekilde işlemek için Pencereyi Kapat komutu düzeltildi.
- Devre dışı bırakılmış öğeye tuşlar gönderilirken döndürülen hata kodu düzeltildi.
- Zaman aşımı değeri işleme ile ilgili spesifikasyon uygunluğu iyileştirildi
- Çerez Ekle komutunun spesifikasyonlara uygunluğu iyileştirildi.
- HTTP sunucusu dinleme sırası uzunluğunu artırma
- v0 gölge DOM'da Is Element Displayed (Öğe Gösteriliyor mu?) komutu düzeltildi.
- Günlük dosyasında Element Clear komutunun davranış değişikliğiyle ilgili uyarı eklendi
- Execute Script komutunun, document.all'u doğru şekilde JSON biçimine dönüştürmesi düzeltildi.
- Kötü öğe referansının işlenmesi iyileştirildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 2.46
Chrome 71-73 sürümlerini destekler
- Bazı senaryolarda Execute Script komutundan döndürülen hata kodu düzeltildi.
- HTTP sunucusunun bağlantıyı varsayılan olarak etkin tutması sağlandı.
- Kullanıcı istemlerini doğru şekilde işlemek için Pencereyi Kapat komutu düzeltildi.
- Devre dışı bırakılmış öğeye tuşlar gönderilirken döndürülen hata kodu düzeltildi.
- Zaman aşımı değeri işleme ile ilgili spesifikasyon uygunluğu iyileştirildi
- Add Cookie komutunun spesifikasyonlara uygunluğu iyileştirildi.
- Kareye Geç komutunun spesifikasyonlara uygunluğu iyileştirildi
- HTTP sunucusu dinleme sırası uzunluğunu artırma
- v0 gölge DOM'unda Is Element Displayed (Öğe Gösteriliyor mu?) komutu düzeltildi.
- Sabit öğe çift tıklama komutu
- Günlük dosyasında Element Clear komutunun davranış değişikliğiyle ilgili uyarı eklendi
- Execute Script komutunun, document.all'u doğru şekilde JSON biçimine dönüştürmesi düzeltildi.
- Kötü öğe referansının işlenmesi iyileştirildi.
Daha fazla bilgi için sürüm notlarını inceleyin.
ChromeDriver 2.45
Chrome 70-72 sürümlerini destekler.
- Yeni oturumun spesifikasyona uygun olmaması sorunu düzeltildi.
- Chrome ve ChromeDriver sürümleri uyumsuzsa ChromeDriver'ın Chrome'u başlatmaması sorunu düzeltildi.
- Geçersiz bir konum belirleyici kullanıldığında "Öğeyi Bul" komutunun yanlış hata kodu döndürmesi sorunu düzeltildi.
- Bazı ChromeDriver durum kodlarının yanlış olması sorunu düzeltildi.
- WebViewImpl::DispatchTouchEventsForMouseEvents içindeki JS'de derleme hatası düzeltildi.
- Sabit pencere boyutu komutları, kullanıcı istemlerini işlemelidir.
- ChromeDriver'ın, Chrome seçeneği "user-data-dir=" ile Chrome'u doğru şekilde başlatmaması sorunu düzeltildi.
- Sabit durum komutu spesifikasyona uygun değil
- Add support for strictFileInteractability ile ilgili sorun düzeltildi.
ChromeDriver 2.44
Chrome 69-71 sürümlerini destekler.
- Mac'te pencereyi sabitleme ve ekranı kaplama
- Pencere tutma kolu çağrısı için "uyarı açma hatası" ile ilgili yanlışlık düzeltildi.
- Sabit öğe gönderme tuşları, W3C modunda "metin" özelliğini almalıdır.
- Is Element Enabled özelliğinin spesifikasyona göre işlenmemesiyle ilgili özel XML durumu düzeltildi.
- Get Element CSS Value'nun spesifikasyona göre işlenmemesiyle ilgili özel XML durumu düzeltildi.
- Fixed Set Window Rect'in geçersiz giriş kontrolü yapması gerekiyor
- Yeni unhandledPromptBehavior modları için destek eklendi.
ChromeDriver 2.43
Chrome 69-71 sürümlerini destekler.
Değişiklikler:
- Düzeltildi: Proxy yapılandırmasının ayrıştırılması standartlara uygun değil
- Düzeltildi: Uygulamayı başlatma komutu güvenilir değil
- iFrame içindeki öğenin ekran görüntüsünün yanlış alınması sorunu düzeltildi.
- ChromeDriver, uzak bağlantı üzerinden pencere yeniden boyutlandırmayı destekler
- Hata kodlarının Clear öğesinde işlenmemesi sorunu düzeltildi.
- "Öğe görünür olana kadar beklenmiyor" sorunu düzeltildi.
- "Get element property is not implemented" (Öğe özelliği alınmadı) hatası düzeltildi.
- Sabit çerçeveye geçiş, spesifikasyonlara uygun değil
- Execute Async Script'in, spesifikasyona uygun hata kodları döndürmemesi sorunu düzeltildi.
- Komut dosyası yürütme işlevinin, spesifikasyona uygun hata kodları döndürmemesi sorunu düzeltildi.
- "ExecuteGet"teki hata kodunun spesifikasyona uygun olmaması sorunu düzeltildi.
- Fixed Send Alert Text is not returning spec compliant error codes
- input type="date" üzerinde clear() işlevi, öğenin kullanıcı tarafından düzenlenebilir olmadığını varsayıyor
- Düzeltildi: Chromedriver, manuel olarak açılan sekmenin pencere tutamacını alıyor
- chromedriver için eklemeye veya yeni bir günlük dosyası başlatmaya izin verme sorunu düzeltildi
- Bayrak firstMatch'teyse Yeni Oturum'un w3c modunu çağırmaması sorunu düzeltildi.
ChromeDriver 2.42
Chrome 68-70 sürümlerini destekler.
Değişiklikler:
- Mobil emülasyonda ClickEelement düzeltildi
- IPv4 ile beyaz listeye eklenen IP'ler düzeltildi
- Mac OS'te izin verilen IP'ler işaretiyle ChromeDriver'ı başlatma sorunu düzeltildi.
- SetTimeout'un hem W3C öncesi hem de W3C biçimlerini kabul etmesi için düzeltildi.
- Öğe ekran görüntüsü alma düzeltildi
- ChromeDriver'ın, Chrome ikililerini sistem PATH'inde de araması sorunu düzeltildi.
- Pencereyi ekranı kaplayacak şekilde büyütme ve tam ekran sorunları düzeltildi
- Günlükleri yeniden oynatma özelliği uygulandı. ( Henüz Android ve Uzak Tarayıcı'da çalışmaz.)
- Bazı hata kodlarının W3C standardına uygun olmaması sorunu düzeltildi.
- Birden fazla bağımsız değişken içeren console.log'un düzgün şekilde işlenmemesi sorunu düzeltildi.
- GetElementRect işlevinin çift değerlere izin vermesi düzeltildi
- Sabit dokunma emülasyonu
ChromeDriver 2.41
Chrome 67-69 sürümlerini destekler.
Değişiklikler:
- ChromeDriver'ın "whitelisted-ips" seçeneğiyle çalıştırılmasıyla ilgili sorun düzeltildi.
- Uzaktan hata ayıklama bağlantı noktası, özelliklerde döndürülür.
- Android'de pencere boyutunu alma özelliği uygulandı
- Masaüstü Chrome'u başlatmayla ilgili hata mesajları iyileştirildi
- ChromeDriver, Chrome ikililerini başlatamadığında hızlı bir şekilde hata veriyor
- Close Window işlevinin döndürdüğü değer, spesifikasyona uygun