Hasil download

Versi Chrome yang lebih lama

Untuk versi Chrome yang lebih lama, berikut adalah versi ChromeDriver yang mendukungnya.

Untuk mengetahui informasi selengkapnya tentang cara memilih versi ChromeDriver yang tepat, lihat halaman Pemilihan Versi.

ChromeDriver 148

Perbaikan bug

  • Akses DOM: Memperbaiki error yang terjadi saat menyimulasikan klik tombol di dalam iframe yang sendiri disarangkan di dalam root bayangan tertutup. JavaScript yang sebelumnya digunakan untuk menemukan ID elemen frame pemilik tidak dapat menembus root shadow tertutup; penerapan baru secara langsung menggunakan format f.X.d.Y.e.Z untuk menyelesaikan frame (crrev.com/c/7594919, Bug: 469831357).
  • Keamanan: Memperkuat sanitasi argumen Chrome untuk mencegah potensi kerentanan yang melibatkan injeksi argumen posisional (crrev.com/c/7695604, Bug: 494464734).
  • Pengujian: Meningkatkan waktu tunggu kImplicitWait untuk pengujian FindElement(s)WhileNavigating di commands_unittest saat dijalankan di AddressSanitizer (ASAN). Waktu tunggu 3 detik default tidak cukup bagi loop percobaan ulang untuk menggunakan semua error tiruan dalam beban kerja ASAN, sehingga menyebabkan ketidakstabilan (crrev.com/c/7657276).

Perubahan dan refaktor internal

  • Standar C++: Mengganti include base/functional/callback_forward.h yang berlebihan di seluruh file //chrome .cc, menerapkan penggunaan callback.h saat callback benar-benar digunakan (crrev.com/c/7200285, Bug: 40318405). Memindahkan logging::LoggingSettings dari base/logging.h ke headernya sendiri base/logging/logging_settings.h untuk meningkatkan efisiensi kompilasi (crrev.com/c/7173024, membatalkan perubahan crrev.com/c/7160150 setelah mengembalikan crrev.com/c/7170750). Mengatasi berbagai error IWYU terkait base/logging.h (crrev.com/c/7730403, Bug: 499476145).
  • Standar C++: Mengganti pemeriksaan peta count(key) yang berlebihan diikuti dengan pencarian menggunakan akses iterator find(key) yang lebih efisien (crrev.com/c/7705392, crrev.com/c/7693277, Bug: 452950815). Menyuntikkan ThreadDelegate melalui konstruktor Thread untuk meningkatkan enkapsulasi, dan menambahkan opsi Restartable ke Thread untuk mengakomodasi kasus saat thread perlu dimulai ulang (crrev.com/c/7696887, Bug: 40881604).
  • Keamanan memori: Mengonversi #pragma allow_unsafe_buffers di seluruh file menjadi makro UNSAFE_TODO() terperinci di seluruh chrome/ (crrev.com/c/7132241, Bug: 409340989). Memperpendek IOBuffer->span().first() menjadi IOBuffer->first() (crrev.com/c/7159119).
  • Dependensi: Menggunakan dependensi crossbench, yang menghadirkan perbaikan untuk menemukan biner ChromeDriver yang dibuat secara lokal di macOS dan Android (crrev.com/c/7673978).
  • Pengujian: Mengaktifkan kembali skema module di chromedriver_py_tests setelah perbaikan pada build dan infrastruktur pengujian yang mendasarinya (crrev.com/c/7707960).

ChromeDriver 147

Perbaikan bug

  • Pengujian: Menambahkan pengujian regresi hermetik untuk memverifikasi bahwa ElementClick menangani klik dengan benar di iframe lintas origin dengan elemen overlay, khususnya dalam skenario isolasi situs. Hal ini memastikan bahwa klik tidak salah diarahkan ke konten sematan, bukan ke overlay yang terlihat (crrev.com/c/7261984, Bug: 42321834, Bug: 42322220).

Perubahan dan refaktor internal

  • Standar C++: Mengganti nama fungsi dan mode decoding URL agar sesuai dengan panduan gaya C++ Google, mengubah DecodeURLMode menjadi DecodeUrlMode dan DecodeURLEscapeSequences() menjadi DecodeUrlEscapeSequences() (crrev.com/c/7593238). Memperkenalkan url::UrlEscapeDecoder untuk menyederhanakan penggunaan decoding URL di seluruh codebase (crrev.com/c/7610180). Menghapus penyertaan build/branding_buildflags.h yang tidak diperlukan dari file //chrome (crrev.com/c/7595125, Bug: 40318405). Menghapus logika BUILDFLAG(IS_FUCHSIA) dari //chrome, kecuali dalam ChromeDriver (crrev.com/c/5485913, Bug: 41481724).
  • Keamanan memori (spanifikasi): Memperbaiki penanda UNSAFE_TODO di utilitas ChromeDriver, memigrasikannya ke penerapan berbasis rentang yang aman (crrev.com/c/7562602, Bug: 435317390).

ChromeDriver 146

Perbaikan bug

  • Stabilitas: Memperbaiki error ChromeDriver yang dapat terjadi saat memproses perintah jika jendela ditutup secara bersamaan (misalnya, saat menunggu navigasi selesai). Perbaikan ini memperoleh kunci pada objek WebView untuk mencegahnya dibuang sebelum waktunya (crrev.com/c/7257074, Bug: 468228355).
  • Keamanan: Menambahkan pemeriksaan header Origin untuk koneksi WebSocket masuk ke server HTTP ChromeDriver, sehingga mencegah potensi pembajakan lintas origin (crrev.com/c/7538400, Bug: 478783560).
  • Pengujian: Memindahkan testWebviewDetactedDuringClick ke filter tidak stabil, melewati semua proses, bukan hanya mode tanpa tampilan (crrev.com/c/7545378, Bug: 481485821).

Perubahan dan refaktor internal

ChromeDriver 145

Fitur baru

  • Pengujian: Memperbarui framework pengujian run_py_tests.py untuk menerima pengujian string deterministik dengan berbagai panjang (misalnya, 53, 101, dan 501 karakter) yang menargetkan elemen input, textarea, dan contenteditable. Hal ini memberikan cakupan regresi yang memastikan tidak ada karakter yang dihilangkan selama operasi send_keys yang panjang (crrev.com/c/7221410, Bug: 428116078).
  • Pengujian: Menambahkan pengujian khusus untuk elemen <selectlist> HTML (crrev.com/c/7420729, Bug: 342889200).

Perbaikan bug

  • Screenshot: Mengembalikan penskalaan screenshot elemen, karena spesifikasi WebDriver tidak menetapkan penskalaan dan tidak konsisten dengan fungsi screenshot lainnya (crrev.com/c/7409603, Bug: 42323022).
  • Pengujian: Memperbaiki kegagalan di testClientHintsDeviceNameIPhoneX dan testClientHintsDeviceNameIPad dengan memperbarui ekspektasi pengujian ChromeDriver agar sesuai dengan nilai benar terbaru (untuk kolom platform, platformVersion, model, dan mobile) yang diperkenalkan di Frontend DevTools (crrev.com/c/7408699, Bug: 474179501).

Perubahan dan refaktor internal

  • Standar C++: Memigrasikan berbagai penggunaan base::Contains() ke std::ranges::contains() di seluruh //chrome (crrev.com/c/7411011, Bug: 470391351), termasuk perbaikan pemformatan yang diperlukan (crrev.com/c/7247217). Parameter string yang diubah ke std::string_view untuk menghindari alokasi string yang tidak perlu saat menggunakan substr() (crrev.com/c/7350716). Menghapus penyertaan <map> yang tidak diperlukan dari header //chrome (crrev.com/c/7225838, Bug: 40318405). Memperbaiki urutan penyertaan di beberapa file (crrev.com/c/7366868). Mengganti callback BodyAsStringCallbackDeprecated lama dalam penggunaan SimpleURLLoader dengan BodyAsStringCallback yang menggunakan std::optional, bukan std::unique_ptr (crrev.com/c/7210000, Bug: 40258809).
  • Pengujian: Melakukan relanding konfigurasi uji coba lapangan InfobarPrioritization, termasuk perbaikan untuk mencegah error dalam pengujian browser ChromeDriver saat menangani infobar tertunda yang belum ditambahkan ke hierarki tampilan (crrev.com/c/7223590, Bug: 447176374). Menerapkan kembali pemfilteran negara dan lokalitas untuk fitur Glic, yang sebelumnya dikembalikan karena kegagalan pengujian yang tidak terkait (crrev.com/c/7245749, menerapkan kembali crrev.com/c/7148759 setelah dikembalikan crrev.com/c/7233767, Bug: 454431875).

ChromeDriver 144

Fitur baru

  • Izin: Memperbarui perintah SetPermission agar sesuai dengan spesifikasi W3C terbaru, menggunakan URL frame saat ini (origin sematan) selain origin level teratas. Hal ini mengonfigurasi izin dengan benar seperti storage-access yang mengandalkan konteks sematan (crrev.com/c/7106801, relanding crrev.com/c/7093216 setelah mengembalikan crrev.com/c/7104484, Bug: 384959114).
  • Pengujian: Menambahkan testMetadata (termasuk nama pengujian) ke payload upload pengujian ChromeDriver untuk mendukung pemberi rekomendasi ketidakstabilan saat menggunakan ID pengujian terstruktur (crrev.com/c/7124354, Bug: 456432041).

Perbaikan bug

  • Target Siklus Proses: Memperbaiki bug yang menyebabkan ChromeDriver terhenti jika frame induk terlepas saat frame turunan sedang menunggu respons perintah. ChromeDriver kini secara eksplisit melepaskan frame turunan secara transitif saat WebViewImpl induk dikunci dan ditandai sebagai dilepaskan selama pemrosesan perintah (crrev.com/c/7080912, Bug: 438436830).
  • Pengelolaan Jendela: Menonaktifkan latar belakang jendela yang tertutup secara khusus untuk sesi ChromeDriver. Hal ini menyelesaikan masalah di WebDriver BiDi yang menyebabkan pengujian dapat gagal jika browser secara keliru menganggap jendela terhalang dan membatasi kecepatannya (crrev.com/c/7128058, Bug: 458027819).

Perubahan dan refaktor internal

  • Standar C++: Menghapus include base/functional/callback_forward.h yang berlebihan di seluruh file //chrome .cc, menerapkan penggunaan callback.h saat callback benar-benar digunakan (crrev.com/c/7200285, Bug: 40318405). Memindahkan logging::LoggingSettings dari base/logging.h ke header base/logging/logging_settings.h-nya sendiri untuk meningkatkan efisiensi kompilasi (crrev.com/c/7173024, membatalkan perubahan crrev.com/c/7160150 setelah mengembalikan crrev.com/c/7170750). Memigrasikan penggunaan base::HexEncode ke base::HexEncodeLower yang lebih baru (crrev.com/c/7103100, Bug: 456472080).
  • Keamanan memori (spanifikasi): Memigrasikan WriteToPipe dan WriteToPipeNoBestEffort dalam pengujian unit PipeBuilder dan PipeConnection untuk menerima base::span, memperbaiki penggunaan buffer yang tidak aman (crrev.com/c/7090293, Bug: 455758227). Mengonversi #pragma allow_unsafe_buffers di seluruh file menjadi makro UNSAFE_TODO() terperinci di chrome/ (crrev.com/c/7132241, Bug: 409340989). Memperpendek IOBuffer->span().first() menjadi IOBuffer->first() (crrev.com/c/7159119).

ChromeDriver 143

Perbaikan bug

  • Stabilitas: Memperbaiki error Use-After-Free (UAF) dalam OverrideNetworkConditions. Pointer mentah yang disimpan untuk penerapan berikutnya akan dibebaskan di antara panggilan berurutan; kini dikelola dengan benar (crrev.com/c/7047422, Bug: 42323833).
  • Pengujian: Memperbaiki pengujian sentuh Android ChromeDriver yang tidak stabil dengan memanfaatkan API WaitForCondition untuk sinkronisasi yang lebih andal (crrev.com/c/6978928, Bug: 42321861).
  • Pemanasan DSE: Menonaktifkan fitur Prewarm di ChromeDriver secara default melalui tombol --disable-features=Prewarm, sehingga mencegah halaman yang dipanaskan mengganggu eksekusi pengujian dan penemuan target (crrev.com/c/7007072, Bug: 431928370).

Perubahan dan refaktor internal

  • Standar C++: Menukar ref_counted.h dengan scoped_refptr.h di header //chrome yang hanya menggunakan pointer pintar, sehingga meningkatkan efisiensi kompilasi (crrev.com/c/7080753, Bug: 40245294). Memigrasikan aksesor GURL ke varian Get* (misalnya, GetSpec(), bukan spec()) untuk menunjukkan alokasi string dengan jelas, sehingga mencegah penalti performa yang tidak disengaja (crrev.com/c/7002119, Bug: 448174617).
  • Pengujian: Menghapus pola pemeriksaan yang berlebihan di devtools_client_impl_unittest.cc menggunakan ADD_FAILURE() (crrev.com/c/6998270). Menambahkan uji regresi untuk crbug.com/413382905 (crrev.com/c/6879417).

ChromeDriver 142

Fitur baru

  • Diagnostik: Menambahkan status TERMINATION_STATUS_EVICTED_FOR_MEMORY untuk membedakan proses yang dihentikan secara proaktif oleh browser (untuk menghemat memori) dari proses yang error karena error kehabisan memori (OOM). Saat ini, perilaku ini sama dengan error OOM (menampilkan tab sedih), tetapi meletakkan dasar untuk penanganan yang berbeda pada masa mendatang (crrev.com/c/6991933, Bug: 394092280).
  • Diagnostik: Menambahkan kemampuan goog:processID ke respons WebDriver, yang menampilkan ID proses utama browser desktop. Hal ini menyelaraskan ChromeDriver dengan moz:processID Firefox dan membantu menguji API aksesibilitas platform (crrev.com/c/5825307, Bug: 438884256).
  • Pengujian: Menambahkan dukungan untuk upload ID pengujian terstruktur ke ResultSink untuk pengujian integrasi Python ChromeDriver (crrev.com/c/6916708, Bug: 418015486).

Perbaikan bug

  • Diagnostik: Mengubah perilaku ChromeDriver saat keluar dari Chrome secara normal agar tidak lagi memunculkan pesan error umum yang membingungkan terkait penggunaan user-data-dir. Sekarang, pesan tersebut secara eksplisit menyatakan bahwa instance telah dihentikan dan mengarahkan pengguna ke log verbose untuk error tertentu yang ditampilkan oleh Chrome (crrev.com/c/6977507, Bug: 42323434).
  • Inisialisasi: Memperbarui struktur inisialisasi ChromeDriver agar tetap kompatibel dengan perubahan Selenium WebDriver v4.16.0 (crrev.com/c/6630600).
  • Android: Memperbaiki CheckAppInstalled pada versi Android lama (lebih lama dari Android 11) saat tanda --user cur tidak didukung oleh pengelola paket (crrev.com/c/6785949, Bug: 433885051).
  • Pengujian: Memperbaiki bug yang menyebabkan IgnoreDuplicateNavs salah menggantikan pengalihan kemampuan default di ChromeDriver. Fitur ini telah dinonaktifkan untuk sesi ChromeDriver, dan logika Switches::SetFromSwitches telah diperbaiki (crrev.com/c/6949166, Bug: 445332809).

Perubahan dan refaktor internal

  • Standar C++: Mengganti beberapa panggilan base::JSONWriter::Write() yang tidak digunakan lagi dengan base::WriteJson(), mempertahankan perilaku menampilkan string kosong saat terjadi kegagalan jika nilai yang ditampilkan tidak diperiksa (crrev.com/c/6969134, crrev.com/c/6929101, Bug: 443929217). Memerlukan keikutsertaan eksplisit untuk opsi penguraian JSON yang tidak mematuhi (misalnya, mengizinkan komentar) di base::JSONReader::Read dan base::JSONReader::ReadAndReturnValueWithError (crrev.com/c/6990988, crrev.com/c/6980533, Bug: 446188265). Menghapus pragma #pragma allow_unsafe_buffers di seluruh file setelah upaya spanifikasi manual (crrev.com/c/6778035, Bug: 409340989). Membersihkan penggunaan makro LazyInstance yang menyebabkan kebocoran (crrev.com/c/6781377, Bug: 432815283). Menyertakan header yang tidak ada untuk http_response_headers.h melalui IWYU (crrev.com/c/6894196, Bug: 40216326).
  • Keamanan memori (spanifikasi): Secara otomatis melakukan spanifikasi banyak pointer di direktori chrome/ untuk build Linux, dengan menambahkan CHECK non-fatal jika parameter ukuran dianggap berlebihan (crrev.com/c/6734592, Bug: 431824299).
  • Pengujian: Menonaktifkan testDoesntCrashOnClosingBrowserFromAsyncScript untuk sementara di macOS (crrev.com/c/6995358, Bug: 446461733). Memperbaiki kesalahan ketik pada nama metode pengujian yang melibatkan "Certificates" (crrev.com/c/6950683). File GN yang diformat otomatis //chrome/test (crrev.com/c/6789277, Bug: 40760278).
  • FedCM: Memperkenalkan fungsi ShouldShowAccountsPassiveDialog ke IdentityDialogController untuk memeriksa secara sinkron apakah dialog akun harus ditampilkan, sehingga memperbaiki error terkait pemeriksaan asinkron dan instrumentasi DevTools (crrev.com/c/6780413, Bug: 425801332).
  • Pemanasan DSE: Menambahkan Page.setPrewarmingAllowed ke DevTools Protocol sebagai solusi jangka pendek untuk mengaktifkan atau menonaktifkan pemanasan secara manual, memperbaiki pengujian terkait untuk memastikan pengujian tersebut berinteraksi dengan halaman utama dengan benar (crrev.com/c/6847287, Bug: 431928370). Mengaktifkan fitur DSEPrewarm di fieldtrial_testing_config.json untuk macOS dan Windows setelah mengatasi masalah ketidakstabilan (crrev.com/c/6951835, Bug: 431928370, Bug: 435621391). (Catatan: Perintah CDP dan pengaktifan uji coba lapangan dibatalkan karena merupakan perubahan yang merusak bagi pengguna WebDriver yang mengekspos target yang tidak terduga, dan menyebabkan masalah hilir lainnya (crrev.com/c/6966133, crrev.com/c/6966161, Bug: 445883308)).
  • Pembersihan: Menghapus referensi yang tersisa ke project WebLayer yang tidak didukung dalam kode Android (crrev.com/c/6792520, Bug: 40272607).

ChromeDriver 141

Fitur baru

  • Pengujian: Menambahkan dukungan untuk tanda --enable-per-test-tracing ke run_wpt_tests.py, yang cocok dengan perilaku run_web_tests.py. Tindakan ini mengambil peristiwa rekaman aktivitas JSON dari buffer ChromeDriver internal dan menyimpannya ke direktori hasil pengujian (crrev.com/c/6820247, Bug: 434017035).

Perbaikan bug

  • Diagnostik: Mencegah ChromeDriver mencetak stack trace internalnya sendiri saat menampilkan error kTabCrashed. Hal ini menghindari kebingungan pengguna, sekaligus memastikan stack trace error perender tetap ada di log (crrev.com/c/6841669, Bug: 395131239).

Perubahan dan refaktor internal

  • Standar C++: Mengganti panggilan memset yang berpotensi tidak aman dengan inisialisasi agregat C++ standar (instance = {}) di seluruh chrome/ untuk menghindari melewati konstruktor dan memastikan keamanan memori (crrev.com/c/6875520, Bug: 435317390). Menambahkan direktif #include yang tidak ada untuk //base/time/time.h melalui IWYU (crrev.com/c/6832689, Bug: 40216326). Menulis ulang pragma buffer tidak aman yang dipaksakan (crrev.com/c/6828538).
  • Pengujian: Menambahkan uji regresi untuk crbug.com/413382905 (crrev.com/c/6879417).
  • Transisi tampilan: Memperbaiki kembali perbaikan transisi tampilan yang memperbarui pekerjaan yang dilakukan sebelum promise selesai diselesaikan, setelah pembatalan spekulatif sebelumnya yang terkait dengan kegagalan pengujian ChromeDriver terbukti salah (crrev.com/c/6846765, memperbaiki kembali crrev.com/c/6806850 setelah pembatalan crrev.com/c/6808537).

ChromeDriver 140

Perbaikan bug

  • Pemilihan target: Memperbaiki masalah saat jendela DevTools dapat bersaing dengan halaman utama untuk dipilih sebagai jendela utama saat Chrome diluncurkan dengan --auto-open-devtools-for-tabs. ChromeDriver kini secara eksplisit mengecualikan target berawalan devtools:// selama penentuan jendela utama (crrev.com/c/6769505, Bug: 427908560).
  • Pemilihan target: Mencegah ChromeDriver salah menghitung titik tengah elemen yang terlihat dengan mengabaikan pemangkasan overflow:hidden yang diterapkan oleh elemen induk. Hal ini menyelaraskan penghitungan dengan spesifikasi WebDriver dan skenario PerformActions lainnya (crrev.com/c/6735230, Bug: 42322257).
  • Android: Memperbaiki fungsi CheckAppInstalled pada versi Android yang lebih lama (sebelum Android 11) saat tanda --user cur untuk pengelola paket tidak didukung (crrev.com/c/6785949, Bug: 433885051).
  • Pengujian: Memperbaiki ketidakstabilan di rangkaian pengujian chromedriver_py_tests yang disebabkan oleh fitur DSEPrewarm. ChromeDriver kini menonaktifkan pemicu pra-pemanasan saat klien CDP terhubung untuk mencegah jumlah target yang tidak terduga selama pengujian (crrev.com/c/6764274, Bug: 423465927, Bug: 431928370).
  • Pengujian: Mengembalikan penambahan fungsi ShouldShowAccountsPassiveDialog ke IdentityDialogController (bagian dari FedCM), yang menyebabkan regresi (crrev.com/c/6780413, Bug: 425801332).

Perubahan dan refaktor internal

ChromeDriver 139

Perbaikan bug

  • Struktur inisialisasi: Memperbarui struktur inisialisasi ChromeDriver agar tetap kompatibel dengan update Selenium WebDriver v4.16.0 (crrev.com/c/6630600).
  • Penguraian argumen: Menggabungkan beberapa argumen --js-flags (mirip dengan cara penanganan --enable-features) alih-alih hanya mengambil argumen terakhir yang diberikan. Hal ini meningkatkan kegunaan saat meneruskan tanda V8 yang kompleks (crrev.com/c/6612042, Bug: 421941798).

Perubahan dan refaktor internal

  • Keamanan memori (spanifikasi): Mengganti penggunaan base::MakeStringPiece() yang tidak digunakan lagi dengan std::string_view di seluruh //chrome/test (crrev.com/c/6628089, Bug: 422940464). Menyertakan base/strings/string_view_util.h saat base::as_string_view() digunakan, sebagai persiapan untuk migrasi namespace pada masa mendatang (crrev.com/c/6625024, Bug: 423048781).
  • Standar C++: Peningkatan kepatuhan Include What You Use (IWYU) di seluruh //chrome dengan menyertakan <vector> secara eksplisit (crrev.com/c/6652818), base/notimplemented.h (dan menghapus base/notreached.h jika tidak digunakan) (crrev.com/c/6655452, Bug: 41493641), base/strings/string_util.h (crrev.com/c/6607646), base/strings/string_number_conversions.h (crrev.com/c/6593576), dan menghapus penyertaan base/debug/stack_trace.h yang tidak diperlukan (crrev.com/c/6622838).
  • Pengujian: Memindahkan opsi --driver-logging ke run_wpt_tests.py, sehingga skrip dapat membuang ChromeDriver dan stderr browser bahkan pada tingkat kejelasan yang lebih rendah (crrev.com/c/6608138, Bug: 421262910).
  • Pengujian: Mengaktifkan kembali pengujian integrasi ChromeDriver yang sebelumnya dinonaktifkan: pengujian screenshot (testTakeElementScreenshot*) (crrev.com/c/6598797, Bug: 42321815), pengujian penutupan jendela melalui Javascript (testCloseWindowUsingJavascript*) (crrev.com/c/6598978, Bug: 42321150), dan pengujian ukuran jendela headless-shell (crrev.com/c/6621336, Bug: 42323661).
  • Pengujian: Memperbaiki run_wpt_tests.py --stable agar dapat mengidentifikasi dan menggunakan versi stabil Clank (Android) saat ini dengan benar melalui parsing APK, dan memperbarui skrip untuk mendownload versi ChromeDriver yang sesuai dari Chrome for Testing (CfT) ke direktori sementara, bukan mencemari checkout (crrev.com/c/6635694, Bug: 402548382).
  • Infrastruktur build: Menghapus dependensi build yang tidak perlu pada write_build_config.py dengan melarang target android_resources() memiliki manifes, karena penggabungan manifes dan penamaan paket R.java kini ditangani oleh atribut khusus (crrev.com/c/6625266, Bug: 413331591).
  • FedCM: Memperbaiki flag fitur konfigurasi Finch yang terkait dengan FedCM (crrev.com/c/6614137, Bug: 421959289).

ChromeDriver 138

Fitur baru

  • Pengelolaan fitur tampilan: Perilaku ChromeDriver yang diperbarui untuk segmen area tampilan agar sesuai dengan resolusi terbaru CSS Working Group: kini secara konsisten menampilkan array dengan satu segmen saat perangkat foldable digunakan dalam posisi datar, atau untuk semua perangkat non-foldable. Hal ini sesuai dengan perilaku kueri media dan memitigasi risiko pembuatan sidik jari (crrev.com/c/6469455, Bug: 414430842).
  • Preferensi & status lokal (Android): Menambahkan dukungan untuk kemampuan localState dan prefs saat menjalankan ChromeDriver terhadap perangkat Android. Hal ini bergantung pada ADB dan memerlukan tanda user-data-dir kustom; saat ini, tanda tersebut menginisialisasi status dengan template default (crrev.com/c/6397155, Bug: 406427226).

Perbaikan bug

  • Stabilitas: Memperbaiki error ChromeDriver yang terjadi di macOS saat pengguna menutup dialog Pengalaman Penggunaan Pertama (FRE) melalui tombol "lanjutkan". Error terjadi karena mengganti status error kTargetDetached dan mencoba mengakses WebView yang tidak valid (crrev.com/c/6538867, Bug: 410599467).
  • Pengujian performa: Memperbaiki runner pengujian crossbench di bot pinpoint Windows yang secara keliru mencoba menemukan biner ChromeDriver menggunakan jalur ../Release_x64 yang sudah tidak berlaku saat --browser=release_x64 diteruskan, sehingga menyebabkan bot kembali mendownload biner yang lebih lama, bukan menggunakan build lokal (crrev.com/c/6502134).

Perubahan dan refaktor internal

  • Keamanan memori (spanifikasi): Mengganti pointer yang tidak diperiksa di WebSocket::OnReadDuringHandshake dan WebSocket::OnReadDuringOpen dengan base::span, mengatasi peringatan unsafe-buffer-usage (crrev.com/c/6557346, Bug: 354307328). Menghapus pragma #pragma allow_unsafe_buffers yang tidak perlu di seluruh chrome/test/chromedriver yang tidak lagi diperlukan setelah migrasi lainnya (crrev.com/c/6503154, Bug: 414858406).
  • Standar C++: Menghapus arahan #include "url/gurl.h" dan #include <queue> yang tidak diperlukan di seluruh header chrome/, menambahkan deklarasi penerusan jika sesuai untuk meningkatkan waktu kompilasi (crrev.com/c/6578272, crrev.com/c/6570349, Bug: 40318405).
  • Migrasi API: Memigrasikan RSAPrivateKey ke crypto::PrivateKey dan SHA256HashString ke crypto::Sha256, membersihkan kasus penanganan error yang sudah tidak berlaku karena API pembuatan kunci baru tidak mungkin salah (crrev.com/c/6490294, Bug: 372283556).
  • Pengujian: Menambahkan atribut OwnContributionEstimate ke perintah otomatisasi Compute Pressure API (implementasi CDP dan testdriver) (crrev.com/c/6373001, Bug: 402033762).
  • Pengujian: Memperbaiki pengujian integrasi yang memverifikasi ClearDisplayFeatures di bot Continuous Integration (CFT) dengan menyederhanakan pernyataan untuk memeriksa apakah segmen area tampilan dikosongkan kembali ke ukuran area tampilan default (crrev.com/c/6535067, Bug: 417195296).
  • Pengujian: Meningkatkan waktu tunggu untuk pengujian WebDriver Protected Audience guna mengatasi ketidakstabilan pada bot CI yang lebih lambat (crrev.com/c/6494277).

ChromeDriver 137

Fitur baru

  • Pengelolaan fitur tampilan: Menambahkan perintah ChromeDriver untuk mengemulasi dan menghapus fitur tampilan, serta menerapkan persyaratan otomatisasi untuk Viewport Segments API (CSS dan JS). Hal ini memungkinkan developer menguji skenario lipatan atau engsel secara terprogram di perangkat dua layar atau foldable (crrev.com/c/6368674, Bug: 40137084).
  • BiDi: Memperbarui ChromeDriver untuk menjalankan BiDi Mapper dalam target tersembunyi secara default. Hal ini mencegah halaman data:, mapper mengganggu eksekusi dan visibilitas pengujian. Untuk men-debug mapper, klien dapat meneruskan tanda --debug-bidi-mapper untuk menjalankannya di tab yang terlihat (crrev.com/c/6441064, relanding crrev.com/c/6433672 setelah dikembalikan crrev.com/c/6439633, Bug: 402339952).

Perbaikan bug

  • BiDi: Mencegah ChromeDriver menutup seluruh sesi browser secara tidak benar saat memproses perintah BiDi (seperti browsingContext.close) jika kehilangan jejak target yang dibuat oleh sesi CDP atau BiDi lainnya. Sekarang, tab tingkat teratas disinkronkan secara eksplisit sebelum memutuskan untuk menghentikan browser (crrev.com/c/6440293, Bug: 42323838).
  • BiDi: Selaras dengan spesifikasi BiDi WebDriver upstream dengan memastikan ChromeDriver menghapus kemampuan goog:channel jika diteruskan sebagai string kosong, memperlakukannya secara identik dengan channel yang tidak ada (crrev.com/c/6438865, Bug: 409282307).
  • Input: Memperbaiki masalah yang menyebabkan peristiwa sentuh dan pointer gagal atau berperilaku tidak benar dengan mengupdate ChromeDriver untuk mendukung koordinat x dan y pecahan (floating-point) dalam perintah gerakan pointer (crrev.com/c/6440834, Bug: 409684333).
  • Pemilihan target: Mencegah iframe di luar proses (OOPIF) PDF yang dibuka di tampilan tamu (saat fitur PdfOopif dinonaktifkan) agar tidak meluas ke daftar target tingkat teratas. Logika pemfilteran diperluas untuk mengecualikan target yang diawali dengan chrome-extension:// ini dengan benar (crrev.com/c/6383500, Bug: 396611138).

Perubahan dan refaktor internal

  • Standar C++: Melakukan kembali perubahan untuk menggunakan std::string_view untuk nama file dalam LogMessage dan peristiwa rekaman aktivitas, sehingga menyelesaikan masalah penanganan string yang dihentikan null yang menyebabkan pengembalian sebelumnya (crrev.com/c/6430129, melakukan kembali crrev.com/c/6395097, melakukan kembali crrev.com/c/6387020 setelah pengembalian crrev.com/c/6383699).
  • Standar C++: Memodernisasi panggilan Environment::GetVar di seluruh //chrome untuk menggunakan API yang menampilkan std::optional, bukan parameter luar (crrev.com/c/6417343, Bug: 400758498).
  • Standar C++: Memfaktorkan ulang helper handle khusus Windows dari win_util.h ke header windows_handle_util.h khusus untuk menghindari masalah dependensi melingkar (crrev.com/c/6418805, Bug: 406023316).
  • Pengujian: Menambahkan handler domain Browser khusus Android dan menerapkan Browser.getWindowForTarget API untuk mendukung pengujian pembuatan jendela Android (crrev.com/c/6427605, Bug: 404932444).
  • Pengujian: Memperbaiki ketidakstabilan dalam pengujian macOS yang disebabkan oleh inisialisasi ekstensi yang terlalu lama (crrev.com/c/6423229, Bug: 407804497).
  • Pengujian: Menonaktifkan sementara pembuatan user-data-dir paralel di testBrowserWithUsedUserDataDir saat dijalankan terhadap chrome-headless-shell, karena bertentangan dengan penguncian eksklusif di macOS (crrev.com/c/6470455, Bug: 411407649, Bug: 380903149).
  • Ekstensi: Mengupdate pengujian Chrome agar lulus saat uji coba lapangan ExtensionManifestV2Unsupported diaktifkan. Ini adalah langkah mendasar, meskipun uji coba itu sendiri tetap dinonaktifkan sambil menunggu update di repositori lain (crrev.com/c/6415997, Bug: 367395349). (Catatan: Upaya sebelumnya untuk mengaktifkan uji coba ini melalui konfigurasi telah dikembalikan crrev.com/c/6397497 yang mengembalikan crrev.com/c/6358257).
  • Dependensi: Secara manual meluncurkan dependensi catapult dan memperbarui file pydeps terkait serta referensi devil_util (crrev.com/c/6480814, crrev.com/c/6466865, meluncurkan kembali crrev.com/c/6406098 setelah mengembalikan crrev.com/c/6448910, Bug: 397459590).

ChromeDriver 136

Fitur baru

  • Siklus proses browser: Menambahkan kemampuan khusus Chrome quitGracefully yang memaksa ChromeDriver untuk mencoba menghentikan browser dengan benar (menggunakan Browser.close atau SIGTERM) alih-alih SIGKILL default. Hal ini memberi waktu bagi debugger seperti rr untuk mendownload rekaman sebelum proses berakhir (crrev.com/c/6322538, meluncurkan kembali crrev.com/c/6269180 setelah pengembalian singkat crrev.com/c/6320536, Bug: 339644807).
  • Pengujian: Menyalurkan argumen run_wpt_tests.py --wrapper dengan membuat skrip wrapper sementara yang menambahkan awalan debugger (misalnya, rr) dan argumennya ke biner browser. Hal ini mengatasi ketidakmampuan ChromeDriver untuk mengganti biner secara langsung saat args diproses sebagai switch (crrev.com/c/6271108, Bug: 339644807).
  • Pengujian: Mengaktifkan terjemahan berdasarkan preferensi di TranslateEnabledTest untuk mendukung lingkungan pengujian tempat ChromeDriver mengelola proses browser dan melewati batasan --remote-debugging-port baru saat --user-data-dir bersifat implisit (crrev.com/c/6354089, Bug: 327797500).
  • DevTools: Menambahkan dukungan untuk fitur multi-instance DevTools guna membuka tab baru di jendela lain di Android (crrev.com/c/6352169, Bug: 401269942, Bug: 382183406).

Perbaikan bug

  • Pemilihan target: Memperbaiki masalah saat iframe di luar proses (OOPIF) PDF yang dibuka di tampilan tamu tidak difilter dari daftar target tingkat teratas saat fitur PdfOopif dinonaktifkan. Filter diperluas untuk menyertakan awalan chrome-extension, yang menyelesaikan bug dan menyertakan cakupan untuk ekstensi Chrome MV3 yang membuat tab (crrev.com/c/6383500, Bug: 396611138).
  • Pemilihan target: Memperbaiki regresi yang menyebabkan perintah getWindowHandles() gagal dengan status connection refused saat menargetkan Aplikasi Chrome yang dikemas (crrev.com/c/6317161, Bug: 396622746).

Perubahan dan refaktor internal

ChromeDriver 135

Fitur baru

  • BiDi: Memperbarui Pemeta BiDi untuk mewarisi izin ChromeDriver saat --enable-unsafe-extension-debugging ditentukan. Hal ini memungkinkan klien WebDriver BiDi menguji ekstensi secara efektif yang memerlukan izin yang biasanya dimiliki oleh klien WebDriver (crrev.com/c/6288627, Bug: 393500934).

Perbaikan bug

  • Pengujian: Mengaktifkan kembali dan memperbarui ekspektasi untuk beberapa pengujian WDSpec yang sebelumnya ditandai sebagai gagal. Tindakan ini memulihkan cakupan kepatuhan spesifikasi untuk pengujian yang lulus (crrev.com/c/6310420).

Perubahan dan refaktor internal

  • Pembersihan: Menghapus semua jejak Lacros (termasuk IS_CHROMEOS_LACROS dan data pengujian terkait) dari chrome/test/ karena Lacros tidak digunakan lagi, dan menstandarkan IS_CHROMEOS (crrev.com/c/6284446, Bug: 354842935).
  • Pembersihan: Menghapus semua jejak utilitas md5sum setelah diganti dengan devil_util, membersihkan dependensi build lama (crrev.com/c/6309939, Bug: 397452007).
  • Standar C++: Menghapus namespace chrome:: dari ResultCode dan IsNormalResultCode(), memindahkannya ke namespace global, dan menghapus impor startup ChromeOS yang sudah tidak digunakan (crrev.com/c/6196899, Bug: 41050580).
  • Keamanan memori: Menyederhanakan panggilan std::lower_bound di ChromeDriver dengan memanfaatkan std::ranges::lower_bound (crrev.com/c/6223172, Bug: 392116519). Menekan peringatan unsafe_libc_call untuk file yang awalnya diidentifikasi tidak mematuhi kebijakan sebagai persiapan untuk penegakan kebijakan di masa mendatang (crrev.com/c/6187925, Bug: 390223051). Menandai nilai yang ditampilkan std::to_array sebagai constexpr untuk meningkatkan keamanan dan evaluasi waktu kompilasi (crrev.com/c/6298909).

ChromeDriver 134

Fitur baru

  • Mitigasi Pelacakan Pantulan (DIPS): Mendapatkan kembali dukungan ChromeDriver untuk Mitigasi Pelacakan Pantulan, dengan memanfaatkan perintah RunBounceTrackingMitigations. Pengujian integrasi disusun ulang untuk menggunakan halaman yang berbeda, sehingga memastikan pentalan stateful dicatat dengan benar sebelum perintah dijalankan. Fitur ini mendukung spesifikasi nav-tracking-mitigations dan diimplementasikan di //chrome (crrev.com/c/4935955, Bug: 1474656). (Catatan: Awalnya ditambahkan di crrev.com/c/4873672 dan kemudian dikembalikan).
  • BiDi: Mengupdate ChromeDriver untuk menggunakan properti ekstensi BiDi WebDriver standar dengan awalan goog:, yang selaras dengan perubahan chromium-bidi upstream. Properti channel lama tidak lagi diizinkan (crrev.com/c/6179410).
  • Windows: Menambahkan resource versi ke biner chromedriver.exe di Windows (crrev.com/c/6114586, Bug: 385300323).

Perbaikan bug

  • MPArch/Targets: Memperbaiki regresi saat target Ekstensi Chrome (chrome-extension://) ditemukan dan dilampirkan secara salah selama penentuan target utama di ChromeOS, yang menyebabkan perintah berikutnya (seperti navigasi) gagal. Target ekstensi kini dilewati dengan benar selama fase awal ini (crrev.com/c/6183202, Bug: 385241097).
  • MPArch/Targets: Memperbaiki regresi lain yang menyebabkan target tab untuk Ekstensi background_page tidak difilter dengan benar dari tampilan web tingkat teratas saat dukungan target ekstensi dinonaktifkan (crrev.com/c/6160774, Bug: 385731198).
  • MPArch/Navigasi: Memperbaiki masalah saat tab dapat sesaat tidak memiliki halaman aktif yang terlampir selama aktivasi MPArch, sehingga ChromeDriver salah melihatnya sebagai status error. ChromeDriver kini menunggu tab untuk mendapatkan halaman baru dan menyelesaikan navigasinya sebelum menyelesaikan status (crrev.com/c/6177606).
  • Pemrosesan Log: Memperbaiki error (kegagalan DCHECK di base::Value()) yang disebabkan oleh pemotongan string log yang tidak tepat yang berisi karakter multibyte. Logika telah diperbarui untuk menggunakan deteksi batas UnicodeString, bukan pemeriksaan panjang std::string sederhana, sehingga memastikan titik kode yang valid (crrev.com/c/6210809, Bug: 367752739).
  • Pengujian: Memigrasikan sebagian besar WPT terkait pra-rendering (kecuali beberapa WPT dengan masalah API yang diketahui) dari content_shell ke headless_shell, karena refaktor MPArch baru-baru ini memungkinkan ChromeDriver untuk menjalankannya dengan benar (crrev.com/c/6168830, Bug: 42323502, Bug: 366257368).

Perubahan dan refaktor internal

ChromeDriver 133

Fitur baru

  • Arsitektur: Mengubah kode ChromeDriver untuk mendukung Arsitektur Multi-Halaman (MPArch) dan target tab. WebViewImpl kini terhubung ke target tab melalui AutoAttach. Perintah yang sebelumnya menahan halaman kini mencari halaman aktif di tab. Perubahan ini memungkinkan introspeksi halaman latar belakang Ekstensi, yang kini dapat ditargetkan melalui kemampuan enable_extension_targets (secara default, target ekstensi dilewati) (crrev.com/c/5961156, Bug: 379767670, Bug: 42323502). Memperbaiki regresi yang menyebabkan halaman URL chrome-extension:// disertakan secara salah sebagai target ekstensi; pilihan dikembalikan hanya ke type=background_page (crrev.com/c/6093588, Bug: 383141569). Memindahkan enableExtensionTargets ke Opsi Chrome, bukan kemampuan tingkat teratas (crrev.com/c/6093032).
  • Klasik: Memperkenalkan kembali dukungan untuk referensi elemen multi-kunci. Fitur yang tidak didokumentasikan ini, yang sering digunakan untuk membuat referensi yang kompatibel dengan mode W3C dan non-W3C, kini didukung secara resmi dan tercakup dalam uji integrasi (crrev.com/c/6063257, Bug: 379584343).

Perbaikan bug

  • Stabilitas: Mencegah ChromeDriver memblokir tanpa batas waktu saat menangani perintah browsingContext.close. Dengan menggunakan mekanisme yang berbeda untuk menentukan apakah browser perlu ditutup, ChromeDriver kini dapat menangani perintah beforeunload dengan benar tanpa terhenti (crrev.com/c/6080431, Bug: 42323838, Bug: 379049702).
  • Navigasi: Memperbaiki bug yang menyebabkan halaman dummy dengan URL about:blank?test menyebabkan penghentian. Heuristik yang dimaksudkan untuk mengidentifikasi jendela baru yang tidak responsif (baseURL==about:blank dan documentURL!=about:blank) kini menangani URL string kueri ini dengan benar sebagai kasus khusus (crrev.com/c/6038039, Bug: 377410086).
  • Navigasi: Menambahkan logika untuk mencoba ulang perintah yang gagal dengan error AbortedByNavigation. ChromeDriver kini akan mencoba perintah beberapa kali sebelum menyerah dengan error Timeout standar (crrev.com/c/6012427, Bug: 42323825).
  • Diagnostik: Meneruskan error kTargetCrashed secara langsung melalui NavigationTracker. Jika target mengalami error selama deteksi navigasi, error khusus ini kini ditampilkan kepada pengguna, bukan waktu tunggu habis umum, sehingga meningkatkan diagnostik (crrev.com/c/6032612, Bug: 377410086).
  • Android: Memperbaiki pencarian target tab di chrome_android_impl.cc (crrev.com/c/6110492, Bug: 384781876).
  • Pengujian: Memperbaiki kegagalan dalam beberapa pengujian pengubahan ukuran jendela di win11-arm64 (misalnya, mengklik elemen yang terhalang). Pengujian kini mengkueri ukuran jendela dalam berulang kali setelah operasi pengubahan ukuran hingga mendaftarkan tinggi positif dengan benar, yang memperhitungkan pengecatan ulang jendela yang lambat (crrev.com/c/6012658, Bug: 378470046).
  • Pengujian: Memperbaiki beberapa kegagalan dalam pengujian integrasi dengan memetakan error koneksi Python generik ke WebSocketConnectionClosedException, menyederhanakan penanganan error (crrev.com/c/6054134), menghindari kondisi persaingan dengan menggunakan SendCommand, bukan PostCommand, jika efek samping langsung diharapkan (crrev.com/c/6054137), dan mengganti ketergantungan pada efek langsung ExecuteScript dengan mekanisme deteksi navigasi yang lebih andal (crrev.com/c/6063040, Bug: 42323825).
  • Pengujian: Mengembalikan penghapusan tanda fitur FedCmIdpSigninStatus, karena penghapusannya menyebabkan kerusakan (crrev.com/c/6082405, mengembalikan crrev.com/c/6078693, Bug: 384866916, Bug: 381211734).
  • Alat: Menambahkan dukungan untuk perintah Print dalam skrip log_replay (crrev.com/c/6010809, Bug: 378451938).

Perubahan dan refaktor internal

  • Standar C++: Menghapus histogram Mojo.InvalidUTF8String, sehingga memungkinkan pembersihan header mojo publik dan rangkaian IWYU berikutnya (crrev.com/c/6133861, Bug: 40509710, Bug: 386793084).
  • Standar C++: Menghindari alokasi di WaitableEvent::Wait() dengan beralih dari std::list ke base::circular_deque (crrev.com/c/6097198).
  • Standar C++: Konstruktor dan destruktor kosong yang ditentukan pengguna secara default di seluruh codebase chrome/ jika memungkinkan (crrev.com/c/6101911, crrev.com/c/6056220, Bug: 381119547).
  • Keamanan memori (spanifikasi): Memigrasikan array gaya C ke std::array di seluruh chrome/ sebagai bagian dari upaya yang lebih luas untuk mengatasi peringatan -Wunsafe-buffer-usage (crrev.com/c/6043879, Bug: 378069401). Menyediakan penggunaan size_t yang ketat dalam fungsi rentang (crrev.com/c/6026238, crrev.com/c/6020621).
  • Pengujian: Mengirimkan {ref,crash}tests layar penuh kembali ke wpt_internal/ karena testdriver kini mendukungnya (crrev.com/c/6088404).
  • Pengujian: Memperbaiki wptrunner untuk iOS agar dapat menemukan wrapper ChromeDriver dengan benar saat menggunakan direktori output non-default (misalnya, //out/*-ios-wpt-fyi-rel/) dengan menyalurkan --build-directory dengan benar (crrev.com/c/6014940, Bug: 374199289, Bug: 355218109).
  • Pengujian: Menambahkan uji integrasi testBrowserCrashWhileWaitingForEvents untuk mendemonstrasikan kasus regresi saat error fatal tidak diketahui oleh klien (crrev.com/c/6025145, Bug: 379049702).
  • Pengujian: Menekan WPT tertentu yang error saat dijalankan di bawah headless_shell yang dikombinasikan dengan ChromeDriver untuk menstabilkan builder (crrev.com/c/6032163, Bug: 377410086).

ChromeDriver 132

Fitur baru

  • Pengujian: Menambahkan dukungan untuk parameter command line repeat dan retry-limit ke pengujian integrasi ChromeDriver, memetakannya ke argumen isolated-script-test-repeat dan isolated-script-test-launcher-retry-limit standar (crrev.com/c/5938195, Bug: 374681919). Untuk pengujian yang dijalankan secara lokal (non-CI), retry-limit default telah diubah menjadi 0 (crrev.com/c/5953326, Bug: 374681919).
  • WebSockets: Menerapkan WebSocketConnection dan class terkait di EmbeddedTestServer, sehingga pengujian terkait WebSocket dapat dimigrasikan dari SpawnedTestServer. Hal ini mencakup pembingkaian sesuai dengan protokol dan pendaftaran handler yang disederhanakan (crrev.com/c/5849732, Bug: 40812029).

Perbaikan bug

  • Stabilitas: Memperbaiki error ChromeDriver yang dapat terjadi jika perintah klik menyebabkan browser ditutup, dengan menangani status error kTargetDetached yang diperkenalkan dalam refaktor sebelumnya dengan benar (crrev.com/c/5934524, Bug: 42323264).
  • Stabilitas: Memperbaiki error sesekali dalam uji integrasi testClickNavigateRemoteToLocal di Mac ARM64 dengan menyelesaikan kondisi persaingan (crrev.com/c/5975526, Bug: 375971185).
  • Navigation: Memperbaiki perintah GoBack dan GoForward, yang sebelumnya gagal jika Page.getNavigationHistory dipanggil saat dokumen bertransisi dari status aktif (menunjukkan navigasi yang sedang berlangsung). ChromeDriver kini mencoba kembali perintah dengan benar dalam skenario ini (crrev.com/c/6011739, Bug: 378433873).
  • Eksekusi skrip: Memastikan bahwa skrip yang memicu navigasi atau menutup jendela menampilkan error ScriptTimeout standar dengan benar jika sisi browser tidak menjamin hasil, sehingga meminta pengguna untuk menghindari struktur pengujian yang ambigu (crrev.com/c/5934265, Bug: 372883701).
  • Eksekusi skrip: Memperbaiki masalah saat fungsi pemutaran ulang log gagal dengan error "respons perintah yang tidak terduga" (crrev.com/c/5961142, Bug: 42323342).
  • Kode error: Memperbaiki penanganan error ChromeDriver agar tidak lagi secara paksa membungkus semua pengecualian dengan properti "code" ke dalam "error javascript" generik. Hal ini memastikan error standar seperti "referensi elemen tidak valid" (dari call_function.js) dan "status elemen tidak valid" (dari fungsi Selenium Atoms CLEAR) disebarkan secara akurat kepada pengguna (crrev.com/c/5937893, Bug: 42323409). Penanganan error yang ditingkatkan di GetElementTagName untuk menafsirkan informasi nama tag yang tidak ada dengan benar sebagai "object is not an Element" (crrev.com/c/5929087).
  • BiDi: Memperbaiki masalah saat sesi BiDi gagal diinisialisasi saat profil pengguna kustom digunakan. Halaman yang dimuat profil kustom dapat mencegah BiDiMapper dimulai; ChromeDriver kini memastikan tab pertama selalu memuat data:, untuk menyediakan kondisi awal yang bersih bagi pemeta (crrev.com/c/5960656, Bug: 366886096).
  • Mode samaran: Memperbaiki bug yang mencegah ChromeDriver membuat tab baru saat beroperasi dalam mode Samaran (crrev.com/c/5952980, Bug: 42323352).
  • Pengujian: Memperbaiki ketidakstabilan dalam uji integrasi testScriptNavigateRemoteToLocal (yang gagal dengan tingkat 8,33%) dan menambahkan uji integrasi C++ untuk mereproduksi dan memverifikasi perbaikan kondisi race (crrev.com/c/6010867, Bug: 378387680).
  • Pengujian: Mengaktifkan kembali banyak pengujian integrasi yang sebelumnya tidak stabil di Mac (testWindowMinimize) dan Windows (ChromeDownloadDirTest.testFileDownloadAfterTab, InvalidCertificateTest.*), dan secara global (testShadowDomFindElement, pengujian screenshot elemen). Memindahkan sementara pengujian WPT css/css-scrollbars/ yang tidak stabil kembali ke shell konten dari shell tanpa UI (crrev.com/c/5953708, crrev.com/c/5948803, crrev.com/c/5941351, crrev.com/c/5941098, crrev.com/c/5959254, Bug: 42323825, Bug: 40848017, Bug: 40736504, Bug: 40176424, Bug: 40927590).

Perubahan dan refaktor internal

  • BiDi: Memperbarui dependensi mapper chromium-bidi untuk menggabungkan perbaikan upstream dan update protokol terbaru (crrev.com/c/5953339, crrev.com/c/5865478, Bug: 4226). (Catatan: Peningkatan kualitas pemetaan sempat dibatalkan karena kegagalan WPT dan kemudian diluncurkan kembali (crrev.com/c/5961113)).
  • Arsitektur: Meminimalkan penggunaan objek sesi thread-lokal di seluruh ChromeDriver untuk mencegah bug berbagi status antar-pengujian dan menyederhanakan penanganan sesi eksplisit (crrev.com/c/5978486, Bug: 42323555). Memfaktorkan ulang pengujian integrasi C++ untuk menggunakan fixture pengujian bersama (crrev.com/c/5971474, Bug: 42323555).
  • Pembersihan: Menghapus solusi sementara yang tidak digunakan lagi yang khusus untuk mode "headless lama", karena kode chrome-headless-shell lama tidak lagi ada di Chrome (crrev.com/c/5961602, Bug: 42323387).
  • Pembersihan: Menghapus file java_tests.txt yang tidak digunakan, sisa dari pengujian penerimaan ChromeDriver yang sebelumnya dikeluarkan (crrev.com/c/5970994, Bug: 357737793).
  • Pengujian: Menambahkan uji integrasi C++ untuk memverifikasi bahwa ChromeDriver tidak secara keliru membuat sesi paralel dengan user-data-dir yang sama atau membocorkan URL antar-sesi, yang dapat menyebabkan ketidakstabilan (crrev.com/c/5961137, Bug: 375312517).
  • Pengujian: Memastikan bahwa instance ChromeDriver sementara yang dibuat oleh pengujian integrasi dimatikan secepat mungkin untuk membebaskan resource (crrev.com/c/5997970, Bug: 375974725).

ChromeDriver 131

Fitur baru

Perbaikan bug

Perubahan dan refaktor internal

  • Keamanan memori (spanifikasi): Mengganti penggunaan pointer yang tidak aman dengan base::span di net::HttpUtil (crrev.com/c/5854420), dan memigrasikan base::File::WriteAtCurrentPos() ke padanannya berbasis rentang (crrev.com/c/5818972). Menulis ulang nilai penunjuk peta (misalnya, di std::map, std::unordered_map) menjadi raw_ptr (crrev.com/c/5867189, Bug: 329428315).
  • Standar C++: Mengganti makro atribut Abseil (ABSL_ATTRIBUTE_*) dengan makro base/ standar (crrev.com/c/5852373). Menghindari salinan yang tidak diinginkan dengan mengganti string/vektor pass-by-value dengan std::string_view atau referensi const jika sesuai, dan menghapus kualifikasi const yang tidak diperlukan dari argumen std::string_view (crrev.com/c/5914620, crrev.com/c/5906184, Bug: 369952985).
  • Infrastruktur: Mengonfigurasi Fuchsia untuk menggunakan ChromeDriver guna mengontrol web-engine (crrev.com/c/5867896, Bug: 40935291).
  • Pengujian: Memigrasikan pengujian WebAuthn frame tertutup dari runner shell konten lama ke Chrome tanpa UI dengan ChromeDriver, karena runner lama akan segera menghentikan dukungan untuk WebAuthn testdriver API (crrev.com/c/5920770, Bug: 372169469).

ChromeDriver 130

Fitur baru

Perubahan dan refaktor internal

  • Standar C++: Menyelesaikan masalah "rule-of-five" di berbagai class. Karena plugin gaya Chrome bersikeras menggunakan destruktor di luar baris tanpa juga menerapkan konstruktor pemindahan di luar baris, compiler secara implisit menghapus operator pemindahan dan secara diam-diam melakukan fallback ke salinan. Deklarasi yang hilang ini telah ditambahkan (crrev.com/c/5846757, Bug: 364788123).
  • Pengujian: Membersihkan ringkasan hasil pengujian wptrunner dengan mengganti string chrome yang dikodekan secara permanen dengan produk sebenarnya yang digunakan dan menyembunyikan artefak command yang bertele-tele dari output ringkasan (crrev.com/c/5825633, Bug: 41494889).
  • Pengujian: Memperbaiki kegagalan pengujian besar-besaran dalam pengujian integrasi ChromeDriver di macOS 15 (Mac15) dengan menggandakan waktu tunggu tertentu, karena pengujian di OS ini memerlukan waktu yang jauh lebih lama daripada di Mac14. Empat pengujian sensor virtual juga ditambahkan ke daftar yang diabaikan karena tidak stabil (crrev.com/c/5817455, Bug: 354939744).
  • Pengujian: Menonaktifkan pengujian ChromeDriverSiteIsolation.testClickNavigateLocalToLocal yang tidak stabil di Mac (crrev.com/c/5806894, Bug: 361521805) dan pengujian ChromeDriverTest.testClickElement*ObscuredByScrollBar yang tidak stabil di Windows 11 (crrev.com/c/5804083, Bug: 360058651).
  • Pengujian: Menghapus pengujian penerimaan ChromeDriver (yang mendownload versi Chrome lama untuk diuji terhadap ChromeDriver saat ini) karena beberapa masalah infrastruktur. Library ini dapat ditambahkan kembali nanti di CI dengan autoroll (crrev.com/c/5812142, Bug: 357737793).

ChromeDriver 129

Fitur baru

  • BiDi: Memperbarui helper inisialisasi sesi ChromeDriver untuk mengirim perintah session.new ke Pemetaan BiDi, sehingga pemeta dapat menangani kemampuan secara langsung. Ini adalah langkah pertama untuk menghapus MapperOptions (crrev.com/c/5741432, Bug: 356371297). (Catatan: Perubahan terkait crrev.com/c/5754093 yang menyediakan unhandledPromptBehavior yang diproses telah dikembalikan crrev.com/c/5755744 karena penurunan cakupan pengujian).
  • Tekanan Komputasi: Menambahkan perintah ekstensi baru untuk pengelolaan sumber tekanan virtual, menerapkan bagian Otomatisasi dari spesifikasi Tekanan Komputasi. Perintah ini diuraikan dan diteruskan ke lapisan CDP (crrev.com/c/5666583, Bug: 347031400).
  • Ekstensi MV2: Mengupdate pengujian yang melatih perilaku MV2 untuk menggunakan ScopedTestMV2Enabler sebagai bagian dari uji coba lapangan penghentian penggunaan Manifes V2 Ekstensi yang sedang berlangsung (crrev.com/c/5685054, Bug: 339061151).

Perbaikan bug

  • Serialisasi klasik: Melacak objek yang terlihat saat melakukan serialisasi Set dalam hasil eksekusi skrip WebDriver Classic, mencegah loop tak terbatas, dan mentoleransi penggantian Array.prototype.includes (crrev.com/c/5765833, Bug: 357472850). (Catatan: Perubahan ini kemudian dibatalkan crrev.com/c/5773175 karena regresi WPT).

Perubahan dan refaktor internal

ChromeDriver 128

Fitur baru

  • Kemampuan: Mengizinkan penggunaan kamus untuk kemampuan unhandledPromptBehavior, yang selaras dengan struktur kemampuan standar, meskipun belum sepenuhnya dipatuhi oleh Mapper (crrev.com/c/5692204, crrev.com/c/5682934, Bug: 42323841).
  • Startup: Menambahkan argumen command line --ignore-explicit-port ke ChromeDriver. Solusi sementara ini memaksa ChromeDriver untuk mengabaikan port yang diberikan secara eksplisit dan sebagai gantinya menemukan serta mengikat ke port kosong, sehingga menyelesaikan persaingan port TCP selama eksekusi pengujian platform web (akan dihapus setelah M132) (crrev.com/c/5724574, crrev.com/c/5703976, Bug: 42323836).

Perbaikan bug

  • Sensor: Memperbaiki perintah ExecuteUpdateVirtualSensor agar menggunakan SendCommand(), bukan SendCommandAndGetResult(), karena perintah CDP setSensorOverrideReadings tidak menampilkan nilai (crrev.com/c/5703589).
  • FedCM: Memperbaiki kondisi race dalam pengujian ChromeDriver FedCM dengan tidak lagi menegaskan bahwa NoSuchDialog ditampilkan saat dialog benar-benar diharapkan, sehingga mencegah kegagalan jika dialog muncul terlalu cepat (crrev.com/c/5713515, Bug: 346530330).
  • Pengujian: Mengaktifkan kembali pengujian autentikator virtual WebAuthn di Mac setelah masalah yang mendasarinya (crbug.com/40233722) diperbaiki (crrev.com/c/5635806, Bug: 329130177).
  • Pesan Error: Memperbaiki kesalahan ketik dalam pesan error untuk perintah execute/async (crrev.com/c/5697913).

Perubahan dan refaktor internal

ChromeDriver 127

Perbaikan bug

  • Stabilitas: Memperbaiki error ChromeDriver yang terjadi saat perintah target.detachFromTarget (atau peristiwa target.detachedFromTarget) diterima saat klien DevTools secara aktif memproses perintah lain, sehingga mencegah rilis prematur objek WebView dan DevToolsClient (crrev.com/c/5527584, Bug: 339773537).
  • Stabilitas: Memperbaiki masalah saat perintah Switch To Window dapat salah menampilkan "error tidak diketahui" jika tampilan web terlepas selama eksekusi perintah; kini perintah tersebut dengan benar mengabaikan error internal "tampilan web tidak ditemukan", sehingga menghasilkan respons "tidak ada jendela seperti itu" standar jika jendela target memang ditutup (crrev.com/c/5583730, Bug: 338616700).
  • Stabilitas: Memastikan ChromeDriver dapat menangani pelepasan target saat memperbarui daftar WebView internal. Jika target dilepas selama update, ChromeDriver kini akan mencoba lagi, bukan menampilkan error non-standar, sehingga mengurangi ketidakstabilan di lingkungan tempat jendela dibuat dan dihancurkan dengan cepat (crrev.com/c/5565103, Bug: 338616700, Bug: 4771).
  • Navigasi: Menambahkan logika ke ChromeDriver untuk menunggu navigasi yang terdeteksi oleh ujung jarak jauh saat menelusuri elemen. Hal ini mencegah ChromeDriver menampilkan error non-standar atau mengalami error dengan DCHECK saat navigasi bertepatan dengan operasi penemuan elemen (crrev.com/c/5563113, mengembalikan crrev.com/c/5563420, meluncurkan kembali crrev.com/c/5562089, Bug: 4771).
  • BiDi: Memperbaiki kondisi persaingan antara ChromeDriver dan BiDiMapper selama pembuatan sesi. ChromeDriver kini menunggu perintah browsingContext.getTree menampilkan daftar yang tidak kosong sebelum mengakhiri perintah NewSession, sehingga memastikan tab default yang baru dibuat terdaftar dengan benar (crrev.com/c/5575497, Bug: 341048786, Bug: 1503101).
  • BiDi: Memperbaiki masalah saat fokus tetap berada di tab latar belakang BiDiMapper setelah pembuatan sesi, bukan di tab pengguna aktif dengan memberikan fokus secara eksplisit ke tab pengguna pertama (crrev.com/c/5594070, Bug: 341048786, Bug: 1503101).
  • BiDi: Menghentikan ChromeDriver agar tidak mencoba melampirkan Target saat menangani perintah BiDi (seperti browsingContext.close) untuk mencegah perintah CDP terhenti tanpa batas waktu jika dialog pengguna terbuka, mendelegasikan penanganan sepenuhnya ke lapisan BiDi yang sudah terhubung (crrev.com/c/5541915, mengembalikan crrev.com/c/5539818, meluncurkan kembali crrev.com/c/5522393, Bug: 4758).
  • FedCM: Memperbaiki kegagalan pengujian WPT fedcm-loginhint.https.html saat dialog salah ditandai sebagai ditutup; status kini hanya diperbarui jika operasi selectAccount benar-benar berhasil (crrev.com/c/5398379, Bug: 331237776).
  • Pengujian: Memperbaiki kegagalan DCHECK selama penguraian JSON saat karakter tepat mengenai batas kExtendedASCIIStart (crrev.com/c/5565276, Bug: 40284755).
  • Pengujian: Memperbaiki pengujian WPT scrollend-event-fires-to-iframe-window.html dengan menggunakan elemen iframe sebagai origin scroll dan membulatkan input gerakan penunjuk ke bilangan bulat, sehingga mencegah error ChromeDriver dengan posisi sentuh fraksional (crrev.com/c/5570150, Bug: 340956654).
  • Pengujian: Peningkatan diagnostik dalam pengujian integrasi ChromeDriver dengan mencetak jalur yang dicoba saat run_py_tests.py gagal menemukan biner browser (crrev.com/c/5604204, Bug: 4781).

Perubahan dan refaktor internal

ChromeDriver 126

Fitur baru

  • BiDi: Mengupdate ChromeDriver untuk menyediakan switch --disable-background-timer-throttling saat meluncurkan browser untuk sesi BiDi WebDriver, sehingga mencegah tab latar belakang di-throttle (crrev.com/c/5515013, Bug: 4762).
  • BiDi: Menambahkan dukungan untuk BiDi Mapper guna mengirim pesan debug (sendDebugMessage) saat logging panjang diperlukan. ChromeDriver menandai peristiwa ini sebagai bidi messages untuk diuraikan, meskipun BidiTracker saat ini mengabaikannya (crrev.com/c/5465782, Bug: 4753).
  • Klasik: Menerapkan penerimaan otomatis dialog beforeunload (peringatan) apa pun, dengan mematuhi standar WebDriver yang menyatakan bahwa dialog tersebut tidak boleh ditampilkan dalam sesi Klasik (crrev.com/c/5517510, Bug: 4757).

Perbaikan bug

  • Klasik: Menghapus batasan upaya maksimum yang berlebihan dalam logika pengambilan elemen. Pengambilan kini hanya dibatasi oleh waktu tunggu implisit, sehingga mencegah skenario saat operasi dapat gagal sebelum waktunya dan salah menampilkan error NoSuchExecutionContext non-standar (crrev.com/c/5478668, Bug: 4379).
  • Klasik: Memperbaiki regresi yang menyebabkan ChromeDriver merespons dengan error javascript error, bukan invalid selector, saat permintaan pengambilan menggunakan strategi lokasi yang tidak valid (crrev.com/c/5490662, Bug: 4743).
  • Klasik: Memastikan perintah jendela di Android (Maksimalkan, Minimalkan, Layar Penuh) menampilkan error unsupported operation yang sesuai dengan standar, bukan melanjutkan, karena tindakan ini tidak didukung oleh browser Android (crrev.com/c/5490224, Bug: 4689).
  • Klasik: Memperbaiki ChromeDriver agar tidak pernah menampilkan kode error internal kChromeNotReachable; kini ChromeDriver menampilkan error kSessionNotCreated standar dengan benar saat klien HTTP tidak dapat terhubung ke browser (crrev.com/c/5476390, Bug: 4379).
  • Classic: Memperbaiki ChromeDriver agar tidak pernah menampilkan error kNoSuchExecutionContext non-standar saat menjalankan perintah jendela (crrev.com/c/5483606, Bug: 4379).
  • Klasik: Menghapus kode error kForbidden yang tidak digunakan dan tidak didukung dari daftar kode error yang didukung (crrev.com/c/5476927, Bug: 4379).
  • BiDi: Mengupdate ChromeDriver untuk meminta pengguna sebelum menutup tab Mapper khusus, yang selaras dengan perubahan chromium-bidi upstream (crrev.com/c/5508600, Bug: 4761).

Perubahan dan refaktor internal

ChromeDriver 125

Fitur baru

  • Postur Perangkat: Menambahkan perintah ChromeDriver untuk pengelolaan postur perangkat, yang mendukung bagian Otomatisasi spesifikasi Postur Perangkat. Hal ini memungkinkan penggantian postur perangkat yang ditetapkan hardware dan menghapus penggantian melalui perintah ekstensi (crrev.com/c/5437993, Bug: 330376761).

Perbaikan bug

  • BiDi: Mengubah penyimpanan sementara perintah BiDi yang masuk id dari Double menjadi base::Value. Hal ini memastikan id dikembalikan secara tepat dalam respons tanpa titik desimal atau bagian pecahan yang tidak terduga setelah serialisasi JSON (crrev.com/c/5444225, Bug: 4676).
  • FedCM: Mengembalikan perubahan untuk mengaktifkan CORS di endpoint pernyataan ID setelah IdP siap (crrev.com/c/5440132, mengembalikan crrev.com/c/5381316, mengembalikan crrev.com/c/5370086, Bug: 40284123).
  • FedCM: Memperbaiki bug saat dialog salah ditandai sebagai ditutup dengan memastikan dialog hanya ditandai sebagai ditutup jika perintah selectAccount berhasil. Perubahan ini menyelesaikan kegagalan pengujian saat selectAccount dipanggil tanpa pemilih akun yang diharapkan (crrev.com/c/5398379, Bug: 331237776). Menghindari panggilan fedcm_get_and_select_first_account saat pemilih akun tidak diharapkan untuk mencegah pemicuan bug ini (crrev.com/c/5398800).
  • Pengujian: Memperbaiki kegagalan dalam pengujian WPT popover-light-dismiss.html dengan menggabungkan urutan tindakan dan menggunakan dokumen frame utama sebagai asal untuk tindakan pointerUp, sehingga mencegah ChromeDriver mengirim peristiwa pointerUp serentak secara tidak benar di seluruh frame (crrev.com/c/5402096, Bug: 325981758).
  • Pengujian: Memperbaiki wptrunner agar meneruskan output stderr dengan benar (termasuk log browser yang ditulis saat menggunakan --enable-chrome-logs) ke artefak stderr, bukan crash_log, dan memindahkan error harness (yang berisi stack trace browser) ke crash_log (crrev.com/c/5437023, Bug: 41494889).
  • Pengujian: Memperbaiki wptrunner untuk merutekan log browser ke artefak pengujian yang benar dengan mengelompokkan output menurut proses ChromeDriver, sehingga mencegah log yang saling terkait dan tidak memiliki induk selama eksekusi pengujian paralel (crrev.com/c/5320681, Bug: 41494889).

Perubahan dan refaktor internal

  • BiDi: Memperbarui dependensi BiDi Mapper, mengintegrasikan peningkatan protokol dan perbaikan bug terbaru (crrev.com/c/5433300, crrev.com/c/5393442, Bug: 4226). (Catatan: Peningkatan sebelumnya crrev.com/c/5374366 telah dikembalikan crrev.com/c/5374839 dan selanjutnya diluncurkan kembali dengan pengujian tidak stabil yang dinonaktifkan dan lisensi yang diupdate crrev.com/c/5374914).
  • Diagnostik: Menyalurkan StackTrace Chrome ke pengecualian ChromeDriver. Hal ini menampilkan pelacakan tumpukan browser dalam pesan error saat sesi dihapus karena error halaman/tab (misalnya, pointer yang tidak terhubung di Mac), sehingga meningkatkan kemampuan proses debug secara signifikan (crrev.com/c/5374371, Bug: 330009945).
  • Pengujian: Menonaktifkan sementara uji integrasi testTakeLargeElementViewportScreenshot yang tidak stabil di Mac (khususnya mac-arm64) (crrev.com/c/5447515, Bug: 333826980).
  • Pengujian: Memperbarui argumen peluncuran ChromeDriver di lingkungan pengujian (CEL) agar sesuai dengan sintaksis Selenium 4+ (crrev.com/c/5448812, Bug: 308885357).
  • Pengujian: Mengekstrak command line chrome yang tepat yang digunakan untuk menjalankan setiap pengujian WPT dari log chromedriver ke dalam artefak ResultDB bernama command. Hal ini memfasilitasi proses debug manual dengan run_blink_wptserve.py (crrev.com/c/5441189, Bug: 41494889).
  • Dependensi: Menghapus Closure dari daftar dependensi selenium-atoms, sehingga menghapusnya dari pemberitahuan pihak ketiga ChromeDriver (crrev.com/c/5424804, Bug: 4226).
  • Dependensi: Menghapus dependensi yang tidak digunakan di dynamic_annotations di seluruh repositori dasar (crrev.com/c/3398908, Bug: 1282422).
  • Pemformatan: Menerapkan konfigurasi clang-format baru ke header Windows yang bermasalah (crrev.com/c/5367127, Bug: 329138753).

ChromeDriver 124

Fitur baru

  • BiDi: Menambahkan langkah build untuk meminimalkan skrip BiDiMapper sebelum menyematkannya ke ChromeDriver, karena pemeta sumber kini didownload tanpa diminimalkan dari CIPD (crrev.com/c/5310075, Bug: 4226).
  • WebAuthn: Menambahkan perintah SetCredentialProperties, yang memungkinkan klien memperbarui flag pencadangan untuk kredensial WebAuthn (crrev.com/c/5296389, Bug: 40945430).
  • WebAuthn: Mengekspos flag pencadangan WebAuthn melalui WebDriver dengan menambahkan defaultBackupEligibility dan defaultBackupState ke perintah "Tambahkan Pengautentikasi Virtual", serta backupEligibility dan backupState ke perintah "Tambahkan Kredensial" (crrev.com/c/5297117, Bug: 40945430).
  • Pengujian: Menambahkan dukungan untuk argumen command line --failfast ke pengujian integrasi Python ChromeDriver, menghentikan eksekusi pengujian pada error pertama untuk membantu proses penelusuran bug (crrev.com/c/5374546).
  • Pengujian: Menambahkan dukungan content-shell untuk perintah webdriver SetRPHRegistrationMode melalui API testdriver-vendor.js (crrev.com/c/5205730, Bug: 1359103).

Perbaikan bug

  • Stabilitas: Memindahkan pemeriksaan habis masa berlaku waktu tunggu di dalam isi loop polling dan tunggu di ChromeImpl::SetWindowBounds. Perbaikan ini mengatasi masalah saat, di bawah beban tinggi, waktu tunggu dapat berakhir sebelum iterasi loop pertama terjadi (crrev.com/c/5366899, Bug: 4642).
  • Performa: Meminimalkan waktu tunggu di ChromeImpl::SetWindowBounds hanya dengan menerapkan waktu tunggu mundur eksponensial jika batas jendela belum mencapai status yang diinginkan, sehingga mengurangi latensi penyiapan WPT (crrev.com/c/5366457, Bug: 4642).
  • Startup: Mengupdate ChromeDriver untuk menggunakan --user-data-dir, bukan --data-path saat menentukan direktori data untuk content_shell, yang selaras dengan cara membaca port DevTools aktif (crrev.com/c/5226609, Bug: 1295373).

Perubahan dan refaktor internal

ChromeDriver 123

Fitur baru

  • FedCM: Menampilkan dialog modal untuk alur tombol akun tunggal, termasuk menambahkan dukungan untuk tampilan modal di antarmuka otomatisasi (crrev.com/c/5231438, Bug: 1518356).
  • FedCM: Menerapkan dukungan ChromeDriver untuk membuka link dalam dialog FedCM, memperlakukannya sebagai tombol untuk menyederhanakan otomatisasi (crrev.com/c/5225543, Bug: 1513520).
  • Sensor: Mengubah perintah sensor virtual WebDriver untuk membaca sudut Euler (alfa-beta-gamma) dan bukan quaternion, sesuai dengan update spesifikasi sensor orientasi terbaru. Lapisan CDP dan layanan internal masih menggunakan kuaternion melalui langkah konversi (crrev.com/c/5229177, Bug: 1506995, Bug: 1520912, Bug: 1520919).

Perbaikan bug

  • Klasik: Memperbaiki masalah saat menampilkan node dari frame yang berbeda melalui skrip yang salah menghasilkan error StaleElementReference; kini menampilkan JavaScriptError dengan benar untuk mematuhi standar WebDriver (crrev.com/c/5222746, Bug: 4668).
  • Pengujian: Memperbaiki pengujian peristiwa overscroll yang gagal di Chrome/ChromeDriver karena penarikan sentuh meluas di luar batas jendela; penarikan kini dibatasi dengan benar (crrev.com/c/5297676, Bug: 40832230).
  • Pengujian: Memperbaiki pengujian MIDI open-close.https.html agar tidak membuat promise yang tidak perlu, sehingga menghindari penolakan promise yang tidak tertangani yang menyebabkan ChromeDriver gagal dalam pengujian (crrev.com/c/5239869, Bug: 1499775).
  • Pengujian: Memperbaiki set izin dalam pengujian wpt_internal/system-wake-lock/idlharness* saat test_driver.set_permission(...) salah meneruskan false, bukan null atau WindowProxy, sehingga membingungkan ChromeDriver (crrev.com/c/5271087, Bug: 40287920).

Perubahan dan refaktor internal

  • BiDi: Memperbarui dependensi BiDi Mapper, mengambil perbaikan dan fitur terbaru (crrev.com/c/5205452, crrev.com/c/5255321, crrev.com/c/5238148, crrev.com/c/5237125, Bug: 4226). (Catatan: Peningkatan versi sempat dikembalikan dan kemudian diterapkan kembali karena kegagalan build crrev.com/c/5238855).
  • Meningkatkan kualitas kode ChromeDriver dengan menghilangkan transmisi statis yang tidak aman dari class dasar ke class turunan di ChromeImpl dan DevToolsClientImpl, sehingga mencegah potensi perilaku yang tidak terdefinisi (crrev.com/c/5277062, crrev.com/c/5272562, Bug: 4702).
  • Menghilangkan transmisi tidak aman di WebViewImpl (crrev.com/c/5272230, Bug: 4702).
  • Menghapus bentuk base::Base64Encode() yang tidak digunakan lagi, bermigrasi ke std::string yang lebih baru yang menampilkan varian, bukan menggunakan parameter out (crrev.com/c/5179900, crrev.com/c/5246585, Bug: 1486214).
  • Memperbarui semua direktif #include untuk base/... agar menggunakan "", bukan <>, demi konsistensi (crrev.com/c/5237376, Bug: 1500249).
  • Memigrasikan semua file DIR_METADATA di chrome/test/ ke Buganizer (crrev.com/c/5284119, Bug: 1518875).
  • Mencegah wptrunner membuat file - lokal saat meneruskan -vvv dengan menghapus switch chromedriver --log-path=- yang tidak perlu, karena stderr sudah dialihkan ke stdout (crrev.com/c/5282721).
  • Meningkatkan wptrunner untuk meringkas hasil pengujian saat terjadi regresi, termasuk secara eksplisit hasil subpengujian dan stack trace ChromeDriver langsung dalam output ringkasan (crrev.com/c/5238662, Bug: 1521922).
  • Menyederhanakan proses debug pengujian integrasi ChromeDriver dengan memperkenalkan parameter --remote-chromedriver-port ke run_py_tests.py, sehingga memungkinkan koneksi ke instance yang ada yang berjalan di bawah debugger (crrev.com/c/5237254, Bug: 4693).
  • Menghindari panggilan base::HexEncode() dan RandBytes() dua argumen agar compiler dapat menyimpulkan ukuran yang benar, sehingga menyederhanakan kode (crrev.com/c/5241357).

ChromeDriver 122

Perbaikan bug

  • BiDi: Memperbarui serialisasi node dalam untuk menyertakan loaderId, sehingga ChromeDriver dan BiDi Mapper dapat mereferensikan dan membatalkan referensi node dengan benar tanpa perjalanan pulang pergi yang berlebihan (crrev.com/c/5116240, Bug: 1420968).
  • Kemampuan: Mengupdate ChromeDriver untuk meneruskan kemampuan acceptInsecureCerts ke Pemeta BiDi segera setelah dimulai, sehingga mencegah kondisi persaingan yang dapat menyebabkan kemampuan diterapkan terlalu lambat (crrev.com/c/5125711, Bug: 4643).
  • Klasik: Merekonstruksi pembuatan referensi elemen untuk menggunakan format <frame_id>.<loader_id>.<backend_node_id>; hal ini memungkinkan ChromeDriver membedakan secara pasti antara referensi elemen yang valid, tidak diketahui, dan tidak aktif di seluruh navigasi frame dan update DOM (crrev.com/c/5094519, Bug: 4379).
  • Klasik: Memperbaiki masalah saat perintah window/handles dapat gagal dengan error "no such window" jika target yang baru dibuat menutup sendiri (misalnya, dalam kondisi persaingan) sebelum ChromeDriver dapat melampirkan ke target tersebut (crrev.com/c/5147409, Bug: 1506833).
  • FedCM: Menambahkan pemroses peristiwa internal untuk memberi tahu saat dialog FedCM ditutup, sehingga mencegah perintah dialogtype menampilkan data yang tidak berlaku jika dialog ditutup secara eksternal (misalnya, melalui AbortController.abort) (crrev.com/c/5067504, Bug: 1506292).
  • FedCM: Menghapus awalan vendor dari perintah ClickDialogButton karena kini telah disetujui dalam spesifikasi FedCM (crrev.com/c/5092527, Bug: 1499341).

Perubahan dan refaktor internal

  • BiDi: Mengupgrade dependensi BiDi Mapper ke versi terbaru (crrev.com/c/5205452, Bug: 4226).
  • Mengurangi traffic ChromeDriver dan Chrome DevTools Protocol (CDP) dengan menghapus panggilan Page.enable yang berlebihan yang dikirim dari setiap DevToolsEventListener, karena DevToolsClientImpl sudah menanganinya per target (crrev.com/c/5088789, Bug: 4600).
  • Mengubah semua builder Wptrunner untuk content_shell ke status eksperimental karena menjalankan pengujian dalam mode protokol saat ini tidak sepenuhnya didukung saat integrasi ChromeDriver sedang berlangsung (crrev.com/c/5225148, Bug: 1474702).
  • Melewati pengujian yang memerlukan window.test_driver_internal.get_computed_role di content_shell karena belum diterapkan, sehingga mencegah kegagalan TypeError (crrev.com/c/5189678, Bug: 1517744).
  • Memperbaiki refaktor untuk menggunakan tanda IS_OZONE_{X11, WAYLAND} yang independen dari platform, bukan OZONE_PLATFORM_* (crrev.com/c/5086329, Bug: 1500494).
  • Mengubah dependensi selenium-atoms ke revisi terbaru (crrev.com/c/5110808, Bug: 4662).
  • Memperbaiki logika dalam pengujian SnapEvents saat dijalankan terhadap biner Chrome lengkap dengan membulatkan input gerakan penunjuk, menerapkan parameter origin untuk scroll, dan menggunakan pernyataan perkiraan (assert_approx_equals) untuk menangani perbedaan scroll/offset fraksional (crrev.com/c/5097343).
  • Menambahkan helper StringPrintfNonConstexpr() untuk membedakan dari StringPrintf() saat string format bukan konstanta waktu kompilasi (crrev.com/c/4950568, Bug: 1371963).
  • Memastikan bahwa escape makro Rust chromium::import! menggunakan fungsi injektif untuk mencegah konflik dalam nama target GN yang dihasilkan (crrev.com/c/5132119, Bug: 1512174).
  • Membersihkan penerapan ScopedTempDirWithRetry dengan menambahkan konstruktor dan pengembalian awal di destruktor (crrev.com/c/5113843).

ChromeDriver 121

Fitur baru

  • Pengujian: Menambahkan dukungan untuk menjalankan pengujian terintegrasi ChromeDriver (chromedriver_py_test) terhadap chrome-headless-shell selain browser Chrome standar di bot build. Hal ini mencakup kemampuan untuk menemukan biner browser berdasarkan parameter --browser-name dan menjalankan set pengujian tertentu secara bersyarat (crrev.com/c/4995189, crrev.com/c/4989442, Bug: 4358).

Perbaikan bug

  • Stabilitas: Menginisialisasi KeyboardLayoutEngine default sebagai StubKeyboardLayoutEngine untuk mencegah error ChromeDriver yang disebabkan oleh hit DCHECK di KeyboardLayoutEngineManager::SetKeyboardLayoutEngine (crrev.com/c/5017859, Bug: 4625).
  • Stabilitas: Memperbaiki masalah ketidakstabilan saat ChromeDriver dapat mengalami error jika thread sesi meminta untuk menutup koneksi setelah klien telah meminta untuk menutup koneksi yang sama (crrev.com/c/4994636, Bug: 4606).
  • Pengelolaan Resource: Memperbaiki kebocoran resource dalam uji integrasi ChromeDriver (RemoteBrowserTest) dengan memastikan proses browser dihentikan meskipun pengecualian terjadi oleh perintah ChromeDriver (crrev.com/c/5009554, Bug: 4614).
  • Pengelolaan Resource: Menerapkan logika dalam uji integrasi ChromeDriver untuk mendeteksi dan menghentikan proses browser yang ditinggalkan oleh proses ChromeDriver (crrev.com/c/5014093, Bug: 4617).
  • Startup: Memperbaiki masalah saat chrome-headless-shell menampilkan daftar target kosong, sehingga mencegah pembuatan sesi, dengan menambahkan argumen data:, ke command line browser saat nama browser adalah chrome-headless-shell (crrev.com/c/5010392, crrev.com/c/5009535, Bug: 4615, Bug: 4358).
  • FedCM: Menambahkan peristiwa baru untuk memberi tahu saat dialog FedCM ditutup, sehingga dialogtype dan perintah lainnya tidak menampilkan data yang sudah tidak berlaku jika dialog ditutup secara eksternal (misalnya, melalui AbortController.abort) (crrev.com/c/5067504, Bug: 1506292).
  • Pengujian: Memperbaiki dan mengaktifkan kembali semua uji integrasi ChromeDriver yang sebelumnya dinonaktifkan untuk chrome-headless-shell di Windows (crrev.com/c/5027594, Bug: 4358).
  • Pengujian: Memperlemah pernyataan yang terlalu ketat di testElementRegionTest agar selaras dengan standar WebDriver, sehingga mengatasi ketidakstabilan yang disebabkan oleh keunikan rendering browser (crrev.com/c/5017865, Bug: 4526).

Perubahan dan refaktor internal

ChromeDriver 120

Fitur baru

  • BiDi: Menambahkan dukungan untuk perintah session.new dan session.end, yang memungkinkan pengguna membuat dan mengakhiri sesi secara langsung melalui perintah BiDi (crrev.com/c/4941941, Bug: 4496).
  • BiDi: Menambahkan dukungan untuk perintah session.status PureBiDi, yang memungkinkan pengguna membuat koneksi WebSocket yang tidak terikat ke sesi apa pun dan mengambil status sesi (crrev.com/c/4938596, Bug: 4496). (Dilakukan lagi setelah sebelumnya dibatalkan di crrev.com/c/4922097)
  • BiDi: Memperbarui dependensi BiDi Mapper dan menyelaraskan dengan proses Mapper baru yang disederhanakan (crrev.com/c/4952609, Bug: 4226).
  • Sensor: Menerapkan perintah sensor virtual di browser_protocol.pdl dan lapisan CDP (Domain emulasi), menambahkan dukungan untuk bagian Otomatisasi pada spesifikasi Sensor Generik (crrev.com/c/4770864, Bug: 1278377).
  • Sensor: Menambahkan perintah ekstensi ChromeDriver untuk pengelolaan sensor virtual, menerjemahkan parameter WebDriver ke panggilan CDP baru (crrev.com/c/4770866, Bug: 1278377).
  • Sensor: Menambahkan jalur kode content_shell untuk manipulasi sensor virtual melalui testdriver.js, yang sepenuhnya melewati ChromeDriver untuk pengujian web (crrev.com/c/4770865, Bug: 1278377).
  • Mitigasi Pelacakan: Menambahkan dukungan ChromeDriver untuk Mitigasi Pelacakan Pantulan (DIPS), yang memungkinkan otomatisasi spesifikasi nav-tracking-mitigations (crrev.com/c/4873672, Bug: 1474656). (Catatan: Perubahan ini sempat dibatalkan karena kegagalan pengujian di Mac pada crrev.com/c/4938394)

Perbaikan bug

  • Startup: Menambahkan penemuan Headless Shell ke ChromeDriver, sehingga ChromeDriver dapat menelusuri biner chrome-headless-shell jika diminta melalui kemampuan dan tidak ada jalur eksplisit yang diberikan (crrev.com/c/4987262, Bug: 4358). (Relanded setelah dikembalikan sebelumnya di crrev.com/c/4984449)
  • WebSockets: Menerapkan dukungan parsial untuk WebSocket Closing Handshake, memastikan ChromeDriver merespons dengan frame CLOSE saat diterima dari ujung jarak jauh (crrev.com/c/4931500, Bug: 4499).
  • Izin: Menampilkan options.disclaim_responsibility sebagai tanda build untuk memungkinkan build vendor (seperti Microsoft Teams) menonaktifkannya, sehingga mencegah perintah izin macOS menghentikan otomatisasi pengujian (crrev.com/c/4929495, Bug: 1223643).
  • Kepatuhan terhadap standar C++: Memperbaiki perilaku tidak terdefinisi (UB) yang ditangkap oleh UBSan saat melakukan casting ganda di luar rentang ke int dengan menambahkan pemeriksaan rentang (crrev.com/c/4980055, Bug: 1394755).
  • FedCM: Menghapus dukungan untuk sintaks header lama, sehingga memastikan kepatuhan terhadap sintaks login-status-http standar (crrev.com/c/4957073, Bug: 1381501).

Perubahan dan refaktor internal

  • Menambahkan uji integrasi testReturnFrameElement untuk memverifikasi perilaku ChromeDriver terkait memperlakukan window.frameElement sebagai referensi yang tidak valid (crrev.com/c/4983549, Bug: 4477).
  • Peningkatan logging dengan memastikan ChromeDriver mencatat jalur spesifik tempat ia mencoba menemukan biner browser (crrev.com/c/4976116, Bug: 4539).
  • Mengganti nama berbagai fungsi base::Time agar lebih deskriptif (misalnya, FromDoubleT() menjadi FromSecondsSinceUnixEpoch()) (crrev.com/c/4956111).
  • Memfaktorkan ulang constructor net::StringIOBuffer dan instansiasi IOBuffer untuk menghindari salinan string yang tidak perlu dan alokasi panjang nol (crrev.com/c/4938384, crrev.com/c/4959174).
  • Membersihkan penanganan string dengan mengganti base::StrCat dengan + jika berlaku dan menggunakan base::AppendHexEncodedByte() (crrev.com/c/4963465, crrev.com/c/4977165).
  • Mengganti nama DIR_SOURCE_ROOT menjadi DIR_SRC_TEST_DATA_ROOT di seluruh pengujian //chrome* agar lebih jelas (crrev.com/c/4916045, Bug: 1264897).
  • Menonaktifkan pengujian PureBidiTest yang tidak stabil di builder Mac (crrev.com/c/4983555, Bug: 1496826).

ChromeDriver 119

Fitur baru

  • BiDi: Menerapkan dukungan untuk menyelesaikan referensi objek lokal lemah yang ditampilkan oleh ujung jarak jauh selama panggilan fungsi jarak jauh (crrev.com/c/4886760, Bug: 4536).
  • FedCM: Menambahkan perintah confirmidpsignin berawalan vendor untuk mendukung uji coba origin IDP Sign-In Status API (crrev.com/c/4811725, Bug: 1451884).

Perbaikan bug

  • Emulasi seluler: Memperbaiki masalah saat perangkat yang telah ditentukan sebelumnya tanpa Petunjuk Klien (misalnya, konfigurasi yang lebih lama) rusak karena diisi dengan nilai default yang wajar (crrev.com/c/4887254, Bug: 4550).
  • Klasik: Memperbaiki serialisasi objek Map dan Set; objek tersebut kini diserialisasi dengan benar sebagai Object, bukan Collection, karena tidak memiliki properti length (crrev.com/c/4881378, Bug: 4031).
  • Klasik: Mengembalikan logika untuk selalu mendownload dan menggunakan ChromeDriver versi terbaru yang kompatibel selama pengujian, dan kembali ke versi tertentu hanya jika masalah kompatibilitas muncul (crrev.com/c/4779613, mengembalikan crrev.com/c/4778973).
  • FedCM: Menstandardisasi perintah otomatisasi browser dengan mengganti nama Signin menjadi Login (confirmidplogin) agar selaras dengan diskusi spesifikasi FedCM terbaru (crrev.com/c/4901302, Bug: 1451884).
  • Pengujian: Memperbaiki pengujian FedCM yang gagal saat cookie pihak ketiga dinonaktifkan dengan mengaktifkan API Status Login IDP secara eksplisit selama eksekusi pengujian (crrev.com/c/4889802, Bug: 1484833).
  • Pengujian: Mengganti placeholder URL yang tidak valid ~NOTFOUND dengan ^NOTFOUND di peluncur pengujian agar mematuhi perubahan penerapan standar URL Chromium yang akan datang (crrev.com/c/4845589, Bug: 1416013).

Perubahan dan refaktor internal

  • BiDi: Memperbarui dependensi BiDi Mapper ke versi 0.4.27, yang menghadirkan perbaikan dan fitur terbaru (crrev.com/c/4862031, crrev.com/c/4890322).
  • Mengganti beberapa API pointer/panjang di //url dengan std::string_view untuk meningkatkan keamanan dan kenyamanan (crrev.com/c/4897456).
  • Mengubah utilitas generateWebDriverValue untuk menggunakan opsi serialisasi dalam (serializationOptions.serialization: deep) yang disediakan secara native oleh protokol BiDi (crrev.com/c/4889644).
  • Menambahkan pengujian integrasi untuk memverifikasi bahwa penelusuran di bawah referensi elemen yang tidak valid akan menampilkan error "referensi elemen yang tidak valid" dengan benar (crrev.com/c/4886793, Bug: 4440).
  • Peningkatan pemformatan gaya kode di call_function.js (crrev.com/c/4882511, Bug: 4031).
  • Meningkatkan kualitas masukan pengguna dengan memberi tahu pengguna secara eksplisit saat mereka terhubung melalui WebSockets bahwa saluran didukung dan direkomendasikan untuk keandalan dan keamanan yang lebih baik (crrev.com/c/4882626, Bug: 3480).
  • Memperbarui konfigurasi rangkaian WPT untuk mengarsipkan results.html untuk pengujian webdriver_tests_suite, sehingga memberikan UI yang lebih baik untuk melihat hasil (crrev.com/c/4873223).
  • Memperbaiki integrasi DevTools dengan WebView dengan menandai WebContents WebView dan menyetel jenis DevTools-nya ke popup_page, bukan other (crrev.com/c/4842093).
  • Mengganti nama target build WPT chrome_wpt menjadi chrome_wpt_tests agar konsisten dan menghapus target webdriver_wpt_tests yang berlebihan (crrev.com/c/4847474, Bug: 1474702).
  • Memigrasikan run_py_tests.py dari library optparse yang tidak digunakan lagi ke argparse (crrev.com/c/4849411, Bug: 4557).

ChromeDriver 118

Fitur baru

  • Pengujian Integrasi: Memperkenalkan pengujian integrasi C++ untuk ChromeDriver, yang memungkinkan pengujian kelas tertentu terhadap traffic CDP sebenarnya, sehingga mengisi kesenjangan antara pengujian unit dan pengujian integrasi Python (crrev.com/c/4707855, Bug: 4528).
  • Crossbench: Memperbarui dependensi crossbench dengan berbagai peningkatan, termasuk artikel tolok ukur daya baru, dukungan platform dan perangkat yang lebih baik, peningkatan penelusuran bug, dan berbagai perbaikan (crrev.com/c/4803743).

Perbaikan bug

  • Kemampuan: Memperbaiki masalah saat debuggerAddress tidak ada dalam kemampuan yang ditampilkan dalam konfigurasi default; kini ditampilkan dengan benar untuk mendukung komunikasi BiDi berbasis CDP Selenium (crrev.com/c/4789068, Bug: 4533).
  • Kemampuan: Memastikan ChromeDriver menampilkan nilai platformName standar (misalnya, 'linux', 'windows', 'mac') sebagaimana diwajibkan oleh spesifikasi WebDriver (crrev.com/c/4797735, Bug: 4548).

Perubahan dan refaktor internal

  • Kode yang dimigrasikan di MockSocket lebih memilih base::span<> daripada pointer mentah untuk meningkatkan keamanan (crrev.com/c/4832086).
  • Menghapus penggunaan base::raw_ptr dan base::raw_ref yang tidak digunakan lagi dan menggantinya dengan bentuk yang tidak memenuhi syarat raw_ptr dan raw_ref melalui pembersihan otomatis (crrev.com/c/4773481).
  • Untuk sementara mengembalikan perubahan yang selalu menggunakan ChromeDriver terbaru, karena menyebabkan error di saluran stabil/beta Windows (crrev.com/c/4778973, mengembalikan crrev.com/c/4777430).
  • Penyesuaian konfigurasi WPT (Web Platform Tests), termasuk menekan kegagalan khusus debug di pointer_touch.py dan menerapkan verifikasi fokus sisi browser untuk frame tertutup (crrev.com/c/4844810, crrev.com/c/4572517).
  • Menambahkan #include <vector> yang tidak ada ke client_hints.h untuk kepatuhan IWYU (crrev.com/c/4767547).
  • Memigrasikan jenis dasar khusus Apple (ScopedTypeRef, ScopedCFTypeRef, scoped_nsautorelease_pool) ke namespace base::apple::, dengan menyisakan header penerusan sementara untuk Crashpad (crrev.com/c/4799213, crrev.com/c/4790744, crrev.com/c/4790741, crrev.com/c/4784010).

ChromeDriver 117

Fitur baru

Perbaikan bug

  • Stabilitas: Memperbaiki akses penunjuk null yang menyebabkan ChromeDriver error, yang pada gilirannya mengakibatkan error ConnectionRefused selama menjalankan pengujian (crrev.com/c/4675633, Bug: 1457101).
  • Navigasi: Memperbaiki masalah saat error NoSuchExecutionContext dan NoSuchWindow Chrome selama navigasi tidak ditangani secara seragam; keduanya kini dipetakan dengan benar untuk mencoba lagi operasi (crrev.com/c/4667156, Bug: 4459).
  • Emulasi seluler: Memperbaiki logika inferensi untuk clientHints.mobile; kini disimpulkan dengan benar dari userAgent di Android dan secara default bernilai salah di platform lain, sehingga memperbaiki masalah saat tablet salah dilaporkan sebagai perangkat seluler (crrev.com/c/4649348, Bug: 4243).
  • Pembuatan sesi: Pembuatan sesi yang diperbarui untuk menampilkan kode error SessionNotCreated standar dengan benar jika gagal, yang secara ketat mematuhi spesifikasi W3C WebDriver (crrev.com/c/4638223, Bug: 4379). Catatan: Perubahan ini kemudian dibatalkan karena beberapa jalur kode tertentu memerlukan kode error yang berbeda (crrev.com/c/4651188).

Perubahan dan refaktor internal

  • Menghilangkan skrip proses rilis ChromeDriver manual, karena ChromeDriver kini terintegrasi sepenuhnya ke dalam proses rilis Chrome dan tersedia melalui infrastruktur Chrome untuk Pengujian (crrev.com/c/4520687, Bug: 4142).
  • Memigrasikan infrastruktur WPT (Web Platform Tests) untuk menggunakan harness wptrunner resmi, bukan run_webdriver_tests.py khusus, sehingga meningkatkan kecepatan dan keandalan eksekusi secara signifikan, serta memastikan ChromeDriver di-respawn di antara pengujian untuk mengisolasi error (crrev.com/c/4723147, crrev.com/c/4676070, crrev.com/c/4639168).
  • Memfaktorkan ulang ChromeLauncher dan class terkait secara ekstensif untuk mendukung transisi ke pipe, mengurangi coupling dengan DevToolsHttpClient, dan memindahkan logika WebSocket ke cabang khusus (crrev.com/c/4632801, crrev.com/c/4674345).
  • Mengganti nama kolom BrowserInfo.is_headless yang menyesatkan menjadi BrowserInfo.is_headless_shell agar lebih jelas (crrev.com/c/4650452, Bug: 4358).
  • Mengganti berbagai metode base::Value yang tidak digunakan lagi dengan metode base::Value::Dict modern yang setara (misalnya, FindDouble(), Set(), size()) di seluruh codebase (crrev.com/c/4258936, crrev.com/c/4336805, crrev.com/c/4461067).112.0.5603.0, 113.0.5653.0, 114.0.5733.0
  • Menghapus penggunaan [w]ctype.h dan menggantinya dengan utilitas string dasar yang lebih aman serta menerapkan fasilitas baru untuk base::expected (crrev.com/c/4749459, crrev.com/c/4755226).
  • Menerapkan perintah otomatisasi get_fedcm_dialog_title dan select_fedcm_account di TestDriver untuk WPT FedCM (crrev.com/c/4618303).
  • Memperbarui skrip build pemeta BiDi agar berfungsi dengan benar, terlepas dari direktori kerja saat ini (crrev.com/c/4670550).
  • Mengonversi file /chrome/test/chromedriver untuk menggunakan ARC (Automatic Reference Counting) dalam build macOS, menambahkan boilerplate yang diperlukan (crrev.com/c/4663602).
  • Mencoba menonaktifkan komunikasi saluran secara default melalui commit stempel karet otomatis, tetapi perubahan hanya menyentuh konfigurasi tanpa mengubah perilaku saluran secara default yang diperkenalkan sebelumnya (crrev.com/c/4683947).

ChromeDriver 116

Fitur baru

  • FedCM: Menambahkan kemampuan baru yang memungkinkan klien memeriksa apakah ChromeDriver mendukung perintah FedCM tanpa perlu mengeksekusinya dan menangkap error (crrev.com/c/4624924, Bug: 1356159).
  • Pengujian: Mengaktifkan penggunaan ulang jendela pengujian untuk tes testharness yang dijalankan melalui ChromeDriver di wptrunner untuk mengevaluasi dampaknya terhadap performa dan ketidakstabilan (crrev.com/c/4515180, Bug: 1394572).

Perbaikan bug

  • Kepatuhan terhadap standar C++: Memperbaiki perilaku tidak terdefinisi yang disebabkan oleh penggunaan enumerasi tercakup (class enum) secara langsung dalam string format yang salah, mengatasi peringatan compiler Clang baru (crrev.com/c/4628112, Bug: 1456289).
  • FedCM: Mengatasi potensi penyebab ketidakstabilan pengujian dengan memperbaiki kasus ekstrem yang mencegah setdelayenabled berfungsi dengan benar (crrev.com/c/4606064, Bug: 1453412).

Perubahan dan refaktor internal

  • BiDi: Mengubah versi dependensi BiDi Mapper dan mengupdate skrip build untuk menarik revisi terbaru dari 'main' secara default (crrev.com/c/4615087, crrev.com/c/4615791, Bug: 4226).
  • Mengubah ChromeDriver untuk membuka dan menulis semua file menggunakan encoding UTF-8 secara eksplisit (crrev.com/c/4614522).
  • Memfaktorkan ulang ChromeImpl untuk menghilangkan dependensinya pada DevToolsHttpClient dan mengurangi penggunaan SyncWebSocketFactory dan BrowserInfo sebagai persiapan untuk berkomunikasi melalui saluran, bukan WebSockets (crrev.com/c/4571690, crrev.com/c/4571199, Bug: 3480).
  • Menghapus "mode default" yang tidak digunakan lagi untuk frame tertutup dan memperbarui pengujian terkait untuk mengaktifkan tanda fitur baru, melanjutkan migrasi ke lelang FLEDGE (crrev.com/c/4558645).
  • Meningkatkan kualitas pengujian FedCM dengan mengganti pernyataan WaitForCondition generik dengan assertTrue untuk menunjukkan dengan jelas kapan waktu tunggu habis (crrev.com/c/4590211).
  • Menandai peringatan raw_ptr yang diketahui tidak stabil di pengujian unit linux-rel (crrev.com/c/4598070).
  • Memperbarui file OWNERS untuk pemeta BiDi (crrev.com/c/4614518).

ChromeDriver 115

Fitur baru

  • Emulasi perangkat seluler: Menerapkan dukungan untuk Petunjuk Klien User-Agent dalam emulasi perangkat seluler, sehingga ChromeDriver dapat mengurai petunjuk klien dari kemampuan dan preset, lalu meneruskannya ke Chrome (crrev.com/c/4498667, crrev.com/c/4466129, Bug: 4243).
  • Emulasi seluler: Memperbarui preset emulasi seluler untuk menggunakan versi utama browser host, bukan versi ChromeDriver saat mengganti string format %s di agen pengguna (crrev.com/c/4502850, Bug: 4243).
  • Penyiapan: Menambahkan dukungan untuk mendownload versi ChromeDriver tertentu untuk saluran tertentu, sehingga meningkatkan skenario otomatisasi saat ChromeDriver berjalan di platform yang berbeda (seperti Android/WebView) dengan host (crrev.com/c/4550281).116.0.5791.0

Perbaikan bug

  • Klasik: Memperbaiki masalah saat kegagalan penyelesaian node akan salah menampilkan error UnknownError, bukan error NoSuchElement standar (crrev.com/c/4508952, Bug: 4440).
  • Emulasi seluler: Menambahkan pernyataan yang lebih ketat ke preset emulasi seluler untuk memastikan bahwa tanda clientHints.mobile harus benar jika string userAgent berisi 'Mobile' (crrev.com/c/4507142, Bug: 4243).
  • Emulasi seluler: Memigrasikan penggantian DeviceMetrics untuk menggunakan perintah CDP Emulation.setDeviceMetricsOverride, bukan penggantian domain Page yang tidak digunakan lagi (crrev.com/c/4502614, Bug: 4243).

Perubahan dan refaktor internal

  • BiDi: Memperbarui dependensi BiDi Mapper, yang memungkinkan fitur serialisasi mendalam (crrev.com/c/4535936, crrev.com/c/4512195).
  • Menghapus metode Connect yang tidak digunakan lagi dari DevToolsClient sebagai persiapan untuk memigrasikan ChromeDriver agar berkomunikasi melalui saluran (crrev.com/c/4521485, Bug: 3480).
  • Memigrasikan codebase untuk lebih memilih base::Value::Dict daripada base::Value dan mengganti metode yang tidak digunakan lagi seperti FindStringKey(), SetKey(), dan SetByDottedPath() (crrev.com/c/4529788, crrev.com/c/4522701, crrev.com/c/4515800, crrev.com/c/4507150).
  • Beralih menggunakan fungsi string_util.h sebagai pengganti [w]ctype.h untuk konversi jenis yang lebih aman (crrev.com/c/4529187).
  • Mengubah logika pemuatan file seed untuk menggunakan jalur absolut guna memastikan konsistensi saat skrip dan Chrome berjalan di lokasi yang berbeda (crrev.com/c/4504656).
  • Menghapus metode CallAsyncFunction() yang tidak digunakan dari web_view.h (crrev.com/c/4518363, Bug: 3376).
  • Menerapkan penggantian nama otomatis dari base::raw_ptr menjadi raw_ptr untuk mengikuti preferensi panduan gaya (crrev.com/c/4476651).

ChromeDriver 114

Fitur baru

  • Klasik: Meneruskan informasi MobileDevice ke MobileEmulationOverrideManager untuk mempersiapkan Client Hints dan penggantian UserAgent di masa mendatang (crrev.com/c/4447524).
  • Pengujian: Menambahkan fixture pengujian untuk ChromeDriver (crrev.com/c/4459939).

Perbaikan bug

  • Tanpa Head: Memperbaiki error dalam mode tanpa head baru dengan mengabaikan permintaan pratinjau cetak yang di-script secara diam-diam (misalnya, window.print()), menyelaraskan perilaku dengan mode tanpa head lama (crrev.com/c/4436313, Bug: 4385).
  • Kemampuan: Memperbaiki bug use-after-move di kemampuan ChromeDriver (crrev.com/c/4462094, Bug: 4243).
  • DevTools: Menghapus DCHECK di DevToolsClientImpl::SendCommandInternal untuk mencegah error saat koneksi DevTools terputus, karena ini bukan pelanggaran invarian (crrev.com/c/4370486, Bug: 4385).

Perubahan dan refaktor internal

  • BiDi: Memperbarui dependensi BiDi Mapper (crrev.com/c/4418727).
  • Mengatasi beberapa peringatan pointer yang tidak terhubung selama eksekusi pengujian unit dengan mengelola referensi yang tidak dimiliki dan penghapusan lokal dengan benar dalam pengujian WebViewImpl dan logger performa (crrev.com/c/4374824, crrev.com/c/4368179).
  • Memigrasikan codebase untuk menggunakan base::Value v2 API baru, menggantikan metode yang tidak digunakan lagi seperti Value::SetPath(), Value::SetStringPath(), dan base::ListValue (crrev.com/c/4452309, crrev.com/c/4431420, crrev.com/c/4422897, crrev.com/c/4377520).
  • Mengganti semua penggunaan base::GUID dengan base::Uuid agar selaras dengan penggantian nama library dasar inti (crrev.com/c/4455083).
  • Melakukan pembersihan kode lain-lain, termasuk mempersingkat kode, menggunakan operasi monadik untuk expected, menghapus kode yang tidak digunakan, dan memperbaiki pelanggaran gaya (crrev.com/c/4475368, crrev.com/c/4464199).
  • Memperbarui pengujian yang melibatkan frame tertutup untuk menggunakan atribut config, bukan atribut src yang tidak digunakan lagi (crrev.com/c/4382231).
  • Menghapus penggunaan ShadowDOMV0 yang tidak efektif (crrev.com/c/4388302).
  • Mengembalikan penambahan tanda untuk perbaikan PDF Skia (SK_IGNORE_PDF_EOF_NEWLINE_FIX) agar dapat melakukan rebaselining (crrev.com/c/4401451).
  • Memperbarui pemilik skrip pengujian ChromeDriver dan melakukan penyesuaian untuk membuat JSON konfigurasi secara eksklusif untuk pinpoint (crrev.com/c/4437492, crrev.com/c/4298554).
  • Menambahkan include yang hilang (<cstring>) untuk std::strlen di web_view_impl.cc guna memperbaiki masalah build IWYU (crrev.com/c/4376772).
  • Menghapus file pengujian yang tidak digunakan (orientation_test.html) (crrev.com/c/4335668).

ChromeDriver 113.0.5672.63

Mendukung Chrome versi 113

  • Menyelesaikan masalah 4205: ID objek yang sama di Classic dan BiDi [Pri-1]
  • Masalah 4302 telah diselesaikan: Jangan menganggap bahwa Mapper berada di tab pertama di ExecuteGetWindowHandles [Pri-1]
  • Memecahkan masalah 4356: Chrome 110 tidak menggunakan nilai preferensi "download.default_directory" [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 113.0.5672.24

Mendukung Chrome versi 113

  • Menyelesaikan masalah 4205: ID objek yang sama di Classic dan BiDi [Pri-1]
  • Masalah 4302 telah diselesaikan: Jangan menganggap bahwa Mapper berada di tab pertama di ExecuteGetWindowHandles [Pri-1]
  • Memecahkan masalah 4356: Chrome 110 tidak menggunakan nilai preferensi "download.default_directory" [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 112.0.5615.49

Mendukung Chrome versi 112

  • Masalah 3517 yang telah diselesaikan: Mengaktifkan fitur cetak untuk non-headless [Pri-]
  • Menyelesaikan masalah 4419: Overhead besar pada Speedometer saat menggunakan chromedriver [Pri-3]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 112.0.5615.28

Mendukung Chrome versi 112

  • Masalah 4357 yang telah diselesaikan: Masalah sesi Chromedriver versi 110.0.5481.77 dengan opsi --headless dan --user-data-dir. [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 111.0.5563.64

Mendukung Chrome versi 111

  • Masalah 4216 yang telah diselesaikan: Menjalankan ChromeDriver dengan BiDiMapper kustom [Pri-]
  • Masalah 4300 telah diselesaikan: Handle jendela dapat beroperasi antara Klasik dan BiDi [Pri-]
  • Masalah 4325 yang diselesaikan: Penanganan toJSON di jsonSerialize call_function.js berbeda dari standar. [Pri-]
  • Menyelesaikan masalah 4330: DCHECK gagal di DevToolsClientImpl::AddListener [Pri-]
  • Masalah 4357 yang telah diselesaikan: Masalah sesi ChromeDriver dengan opsi --headless dan --user-data-dir [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 111.0.5563.41

Mendukung Chrome versi 111

  • Masalah 4357 yang telah diselesaikan: Masalah sesi ChromeDriver dengan opsi --headless dan --user-data-dir [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 111.0.5563.19

Mendukung Chrome versi 111

  • Masalah 4216 yang telah diselesaikan: Menjalankan ChromeDriver dengan BiDiMapper kustom [Pri-]
  • Masalah 4300 telah diselesaikan: Handle jendela dapat beroperasi antara Klasik dan BiDi [Pri-]
  • Masalah 4325 yang diselesaikan: Penanganan toJSON di jsonSerialize call_function.js berbeda dari standar. [Pri-]
  • Menyelesaikan masalah 4330: DCHECK gagal di DevToolsClientImpl::AddListener [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 110.0.5481.77

Mendukung Chrome versi 110

  • Masalah 4193 yang telah diselesaikan: Gagal memulai sesi baru di Android 13 [Pri-]
  • Menyelesaikan masalah 4272: WebSocket harus memperlakukan code=0 sebagai indikasi FIN [Pri-]
  • Menyelesaikan masalah 4276: Memperbaiki masalah konektivitas di ChromeDriver [Pri-]
  • Menyelesaikan masalah 4295: ChromeDriver dengan "webSocketUrl": true rentan terhadap kondisi persaingan [Pri-]
  • Memperbaiki masalah 4297: ChromeDriver Bidi melakukan serialisasi dengan tidak benar [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 110.0.5481.30

Mendukung Chrome versi 110

  • Masalah 4193 yang telah diselesaikan: Gagal memulai sesi baru di Android 13 [Pri-]
  • Menyelesaikan masalah 4272: WebSocket harus memperlakukan code=0 sebagai indikasi FIN [Pri-]
  • Menyelesaikan masalah 4276: Memperbaiki masalah konektivitas di ChromeDriver [Pri-]
  • Menyelesaikan masalah 4295: ChromeDriver dengan "webSocketUrl": true rentan terhadap kondisi persaingan [Pri-]
  • Memperbaiki masalah 4297: ChromeDriver Bidi melakukan serialisasi dengan tidak benar [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 109.0.5414.74

Mendukung Chrome versi 109

  • Memecahkan masalah 4179: Sesi BiDi harus mendukung beberapa koneksi [Pri-]
  • Masalah 4203 yang telah diselesaikan: Meningkatkan kualitas informasi kredit [Pri-]
  • Menyelesaikan masalah 4263: Error pada Meta+A [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 109.0.5414.25

Mendukung Chrome versi 109

  • Memecahkan masalah 4179: Sesi BiDi harus mendukung beberapa koneksi [Pri-]
  • Masalah 4203 yang telah diselesaikan: Meningkatkan kualitas informasi kredit [Pri-]
  • Menyelesaikan masalah 4263: Error pada Meta+A [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 108.0.5359.71

Mendukung Chrome versi 108 Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 108.0.5359.22

Mendukung Chrome versi 108

  • Masalah 4204 yang telah diselesaikan: Memperbaiki WPT test_top_level_and_one_child yang gagal [Pri-]
  • Masalah 4215 yang telah diselesaikan: Mengganti nama build chromedriver_mac64_m1 menjadi chromedriver_mac_arm64 [Pri-]
  • Menyelesaikan masalah 4221: Error saat perintah klik menutup browser [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 107.0.5304.62

Mendukung Chrome versi 107

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 107.0.5304.18

Mendukung Chrome versi 107

  • Memecahkan masalah 4180: Melarang penanganan perintah BiDi apa pun hingga diberi tahu bahwa BiDiMapper telah dimulai [Pri-]
  • Memecahkan masalah 4198: BiDi ChromeDriver tidak boleh mengasumsikan bahwa BiDiMapper selalu ada di tab pertama [Pri-]
  • Menyelesaikan masalah 4207: Error WebDriver saat menjalankan WPT [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 106.0.5249.61

Mendukung Chrome versi 106

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 106.0.5249.21

Mendukung Chrome versi 106

  • Masalah 4016 yang telah diselesaikan: Menambahkan dukungan BiDi dasar ke ChromeDriver (berbasis Mapper) [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 105.0.5195.52

Mendukung Chrome versi 105

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 105.0.5195.19

Mendukung versi Chrome

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 104.0.5112.79

Mendukung Chrome versi 104

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 104.0.5112.29

Mendukung Chrome versi 104

  • Menyelesaikan masalah 4121: Perintah WebDriver terkadang gagal dengan "respons perintah yang tidak terduga" [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 104.0.5112.20

Mendukung Chrome versi 104

  • Menyelesaikan masalah 4121: Perintah WebDriver terkadang gagal dengan "respons perintah yang tidak terduga" [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 103.0.5060.134

Mendukung Chrome versi 103

  • Memperbaiki masalah 4048: target frame detached [Pri-]
  • Menyelesaikan masalah 4121: Perintah WebDriver terkadang gagal dengan "respons perintah yang tidak terduga" [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 103.0.5060.53

Mendukung Chrome versi 103

  • Memperbaiki masalah 4048: target frame detached [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 103.0.5060.24

Mendukung Chrome versi 103

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 102.0.5005.61

Mendukung Chrome versi 102

  • Memecahkan masalah 1309282: chromedriver tidak mendukung switch bernilai banyak [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 102.0.5005.27

Mendukung Chrome versi 102

  • Memecahkan masalah 1309282: chromedriver tidak mendukung switch bernilai banyak [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 101.0.4951.41

Mendukung Chrome versi 101

  • Menyelesaikan masalah 4046: DCHECK terjadi saat menambahkan frame tertutup kosong [Pri-]
  • Menyelesaikan masalah 4080: Gagal beralih ke frame bertingkat [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 101.0.4951.15

Mendukung Chrome versi 101

  • Menyelesaikan masalah 4046: DCHECK terjadi saat menambahkan frame tertutup kosong [Pri-]
  • Menyelesaikan masalah 4080: Gagal beralih ke frame bertingkat [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 100.0.4896.60

Mendukung Chrome versi 100

  • Menyelesaikan masalah 4002: Mendukung Frame yang Dibatasi [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 100.0.4896.20

Mendukung Chrome versi 100

  • Menyelesaikan masalah 4002: Mendukung Frame yang Dibatasi [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 99.0.4844.51

Mendukung Chrome versi 99

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 99.0.4844.35

Mendukung Chrome versi 99

  • DIKEMBALIKAN!!! Menyelesaikan masalah 2269: Tidak dapat menggunakan karakter non-BMP (titik kode di atas U+FFFF) [Pri-3]
  • Masalah yang diselesaikan chromium:1295243: Regresi di ChromeDriver sendKeys [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 99.0.4844.17

Mendukung Chrome versi 99

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 98.0.4758.102

Mendukung Chrome versi 98

  • Masalah 3933 telah diselesaikan: Klik di tepi area tampilan tidak efektif tanpa error [Pri-]
  • DIKEMBALIKAN!!! Menyelesaikan masalah 2269: Tidak dapat menggunakan karakter non-BMP (titik kode di atas U+FFFF) [Pri-3]
  • Masalah yang diselesaikan chromium:1295243: Regresi di ChromeDriver sendKeys [Pri-1]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 98.0.4758.80

Mendukung Chrome versi 98

  • Masalah 3933 telah diselesaikan: Klik di tepi area tampilan tidak efektif tanpa error [Pri-]
  • Menyelesaikan masalah 2269: Tidak dapat menggunakan karakter non-BMP (titik kode di atas U+FFFF) [Pri-3]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 98.0.4758.48

Mendukung Chrome versi 98

  • Masalah 3933 telah diselesaikan: Klik di tepi area tampilan tidak efektif tanpa error [Pri-]
  • Menyelesaikan masalah 2269: Tidak dapat menggunakan karakter non-BMP (titik kode di atas U+FFFF) [Pri-3]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 97.0.4692.71

Mendukung Chrome versi 97

  • Masalah 3878 yang telah diselesaikan: Penanganan koordinat elemen fraksional yang lebih baik untuk klik elemen [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 97.0.4692.36

Mendukung Chrome versi 97

  • Masalah 3878 yang telah diselesaikan: Penanganan koordinat elemen fraksional yang lebih baik untuk klik elemen [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 97.0.4692.20

Mendukung Chrome versi 97

  • Masalah 3878 yang telah diselesaikan: Penanganan koordinat elemen fraksional yang lebih baik untuk klik elemen [Pri-]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 96.0.4664.45

Mendukung Chrome versi 96

  • Menyelesaikan masalah 3445: Tidak dapat mengakses elemen di iframe dalam shadow root [Pri-3]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 96.0.4664.35

Mendukung Chrome versi 96

  • Menyelesaikan masalah 3445: Tidak dapat mengakses elemen di iframe dalam shadow root [Pri-3]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 96.0.4664.18

Mendukung Chrome versi 96

  • Menyelesaikan masalah 3445: Tidak dapat mengakses elemen di iframe dalam shadow root [Pri-3]

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 95.0.4638.69

Mendukung Chrome versi 95

  • Masalah 3857 yang telah diselesaikan: Header host atau header asal ditentukan dan tidak diizinkan atau localhost [Pri-1]
  • Menambahkan argumen --allowed-origins

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 95.0.4638.54

Mendukung Chrome versi 95

  • Masalah 3857 yang telah diselesaikan: Header host atau header asal ditentukan dan tidak diizinkan atau localhost [Pri-1]
  • Menambahkan argumen --allowed-origins

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 95.0.4638.17

Mendukung Chrome versi 95

  • Masalah 3857 yang telah diselesaikan: Header host atau header asal ditentukan dan tidak diizinkan atau localhost [Pri-1]
  • Menambahkan argumen --allowed-origins

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 95.0.4638.10

Mendukung Chrome versi 95

  • Masalah 3857 yang telah diselesaikan: Header host atau header asal ditentukan dan tidak diizinkan atau localhost [Pri-1]
  • Menambahkan argumen --allowed-origins

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 94.0.4606.113

Mendukung Chrome versi 94

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 94.0.4606.61

Mendukung Chrome versi 94

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 94.0.4606.41

Mendukung Chrome versi 94

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 93.0.4577.63

Mendukung Chrome versi 93

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 93.0.4577.15

Mendukung Chrome versi 93

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 92.0.4515.107

Mendukung Chrome versi 92

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 92.0.4515.43

Mendukung Chrome versi 92

  • Menyelesaikan masalah 3389: Validasi host untuk permintaan ChromeDriver

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 91.0.4472.101

Mendukung Chrome versi 91

  • Masalah 1205107 yang telah diselesaikan: Tidak dapat mengambil nilai atribut untuk kolom di aplikasi web.

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 91.0.4472.19

Mendukung Chrome versi 91

  • Memperbaiki masalah 3744: SendKeys() dan Click() gagal secara diam-diam setelah navigasi link
  • Masalah 3746 telah diselesaikan: endpoint atribut memperbarui nilai secara keliru

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 90.0.4430.24

Mendukung Chrome versi 90

  • Masalah 3708 yang telah diselesaikan: GetElementLocation's inView gagal untuk elemen di shadow DOM
  • Masalah 3721 yang telah diselesaikan: Mengumpulkan log performa untuk pekerja layanan saat diaktifkan
  • Masalah 3731 telah diselesaikan: AdbImpl::GetPidByName tidak berfungsi dengan benar di OS Android non-standar seperti di OnePlus
  • Masalah 3733 telah diselesaikan: Kegagalan fatal dengan domain di localhost
  • Menyelesaikan masalah 3734: Driver akan Error saat Mencoba menyetel Cookie di Domain yang Salah
  • Menyelesaikan masalah 3743: Memfaktorkan ulang fungsi panggilan dan memperbaiki masalah penghapusan elemen

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 89.0.4389.23

Mendukung Chrome versi 89

  • Memecahkan masalah 3667: Waktu tunggu habis saat menerima pesan dari perender
  • Masalah 3675 telah diselesaikan: GetElementLocation menggunakan metode inView yang salah menangani boolean sebagai array
  • Menyelesaikan masalah 3682: GetElementRegion menampilkan ukuran yang salah untuk elemen yang sebagian berada di luar area tampilan
  • Masalah 3690 yang telah diselesaikan: ChromeDriver gagal jika ekstensi menggunakan chrome.windows API

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 88.0.4324.96

Mendukung Chrome versi 88

  • Masalah 3641 telah diselesaikan: Halaman tidak dimuat/dirender saat jendela browser tidak dalam fokus dengan Chrome Beta v87 dan chromedriver v(87/86)

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 88.0.4324.27

Mendukung Chrome versi 88

  • Masalah 3611 telah diselesaikan: Output getText() di protraktor berbeda dengan <element>.innerText
  • Masalah 3625 telah diselesaikan: Meningkatkan kompatibilitas screenshot elemen
  • Menyelesaikan masalah 3628: Referensi Elemen Usang dan URL salah dilaporkan kembali dengan URL yang memiliki URL lain sebagai bagian dari jalurnya
  • Masalah 3631 yang terselesaikan: Menambahkan dukungan untuk kemampuan webauthn:extension:largeBlob
  • Menyelesaikan masalah 3635: Chromedriver 86 - chromedriver.quit() tampaknya tidak meneruskan peristiwa pelepasan dengan benar
  • Mengatasi masalah 3649: Menyalin teks yang dipilih ke papan klip tidak berfungsi di Windows 10 saat menggunakan mode tanpa tampilan

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 87.0.4280.88

Mendukung Chrome versi 87

  • Masalah 3641 telah diselesaikan: Halaman tidak dimuat/dirender saat jendela browser tidak dalam fokus dengan Chrome Beta v87 dan chromedriver v(87/86)
  • Memecahkan masalah 3657: Browser latar belakang screenshot kehabisan waktu

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 87.0.4280.20

Mendukung Chrome versi 87

  • Menyelesaikan masalah 2421: Menghapus saluran penerusan port lama di adb-server android
  • Masalah 3474 telah diselesaikan: Daftar perangkat seluler yang diemulasi perlu diperbarui
  • Masalah 3507 diselesaikan: Menerapkan "get computed role" (mendapatkan peran yang dikomputasi)
  • Menyelesaikan masalah 3508: Menerapkan "get computed label"
  • Memecahkan masalah 3584: Mengganti nama opsi command line ChromeDriver --whitelisted-ips
  • Menyelesaikan masalah 3588: Koneksi WebSocket Bidi
  • Menyelesaikan masalah 3594: Navigasi selesai sebelum waktunya jika OOPIF dimuat sebelum halaman utama
  • Masalah 3598 telah diselesaikan: Opsi command line untuk port devtools yang akan diteruskan ke soket webview_devtools_remote
  • Menyelesaikan masalah 3608: debuggerAddress Chromedriver tidak mendukung ipv6

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 86.0.4240.22

Mendukung Chrome versi 86

  • Masalah 3370 telah diselesaikan: Tutup Chrome dengan benar atau cookie tidak akan disimpan dengan benar ke file persistensi SQLite
  • Masalah 3401 yang telah diselesaikan: Get Element Location JS tidak menemukan pusat elemen yang terlihat
  • Menyelesaikan masalah 3462: Untuk sendKeys, tombol CMD tidak berfungsi untuk MAC
  • Menyelesaikan masalah 3541: Meningkatkan kualitas log antara Klien dan ChromeDriver
  • Masalah 3559 telah diselesaikan: Menampilkan versi Chrome saat ChromeDriver melaporkan tidak kompatibel

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 85.0.4183.87

Mendukung Chrome versi 85

  • Masalah 3578 telah diselesaikan: Chrome 85 tidak lagi mengizinkan interaksi yang lancar dengan jendela saat dialog pemberitahuan terbuka

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 85.0.4183.83

Mendukung Chrome versi 85

  • Masalah 3577 yang telah diselesaikan: ChromeDriver 85 tidak mendeteksi perubahan direktori Chrome (C:\Program Files)

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 85.0.4183.38

Mendukung Chrome versi 85

  • Masalah 3214 telah diselesaikan: ChromeDriver78: Sendkeys mereset pemilihan teks dengan contenteditable
  • Masalah 3376 yang telah diselesaikan: Menghapus perintah LaunchApp dari ChromeDriver
  • Masalah 3432 telah diselesaikan: Terkadang NavigationTracker gagal mendeteksi saat halaman selesai dimuat
  • Menyelesaikan masalah 3481: Endpoint Print baru sesuai dengan spesifikasi w3c
  • Memecahkan masalah 3488: driver.get tidak memunculkan error saat proxy dikonfigurasi dengan salah
  • Masalah 3502 yang diselesaikan: Menggunakan document.hasFocus() untuk memeriksa apakah elemen difokuskan
  • Masalah 3515 yang telah diselesaikan: selenium.common.exceptions.WebDriverException: Message: unknown error: bad inspector message

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 84.0.4147.30

Mendukung Chrome versi 84

  • Memperbaiki masalah 3420: setelah beralih ke jendela cetak, chromedriver berhenti merespons
  • Mengatasi masalah 3421: Driver menampilkan teks Sirilik tanpa gaya
  • Menyelesaikan masalah 3422: GetElementText rusak dengan prototipe 1.6.0.3
  • Masalah 3434 telah diselesaikan: Tidak dapat memperoleh pesan 'assert' dari log 'browser'

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 83.0.4103.39

Mendukung Chrome versi 83

  • Memperbarui Chromedriver agar berfungsi dengan benar dengan prototype.js.

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 83.0.4103.14

Mendukung Chrome versi 83

  • Masalah 1778 yang diselesaikan: Menghentikan penggunaan launchApp dari ChromeDriver
  • Masalah 2520 telah diselesaikan: InitSession dapat menunggu selamanya saat Chrome tidak merespons
  • Menyelesaikan masalah 3120: Download mode Headless dari tab baru
  • Masalah 3234 yang telah diselesaikan: Mengonfirmasi titik koma ditemukan sebelum substring
  • Masalah 3240 yang telah diselesaikan: ExecuteGetElementRect tidak memeriksa status yang ditampilkan dari GET_SIZE
  • Masalah 3331 yang telah diselesaikan: Metode get_cookies() menampilkan kunci 'expiry' berjenis ganda, tetapi seharusnya int64 dalam mode w3c
  • Menyelesaikan masalah 3332: Waktu tunggu coba lagi dicatat sebagai parah
  • Mengatasi masalah 3339: Chromedriver keluar secara tiba-tiba dengan kode null, sinyal SIGTRAP
  • Masalah 3351 yang telah diselesaikan: Meningkatkan pesan Pertimbangan Keamanan
  • Menyelesaikan masalah 3352: Mendukung SendKeys untuk elemen warna
  • Memecahkan masalah 3353: Wait for Pending Navigation berlanjut setelah konteks frame dimusnahkan
  • Menyelesaikan masalah 3375: Chromedriver v80 berhenti di getPageSource di beberapa situs
  • Masalah 3383 yang telah diselesaikan: ChromeDriver 80+ di Windows tampaknya keluar atau terhenti pada perintah klik atau elemen tertentu
  • Masalah 3399 yang sudah diselesaikan: Menghapus pemeriksaan wasThrown

ChromeDriver 81.0.4044.138

Mendukung Chrome versi 81

  • Memperbarui Chromedriver agar berfungsi dengan benar dengan prototype.js.

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 81.0.4044.69

Mendukung Chrome versi 81

  • Diperbaiki: Chromedriver error pada getPageSource di beberapa situs.
    • Diperbaiki: ChromeDriver mengalami error pada perintah klik atau elemen tertentu.

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 81.0.4044.20

Mendukung Chrome versi 81

  • Memperbaiki error saat mencoba mendapatkan lokasi elemen HTML.
    • Perintah Get and Add Cookie kini khusus untuk frame.
    • Menyelesaikan beberapa masalah yang terjadi pada situs yang mendefinisikan ulang objek JavaScript standar.
    • ChromeDriver akan terus menunggu pemuatan selesai setelah menerima pesan Target Ditutup.
    • Chromedriver kini menampilkan kode error yang sesuai dengan spesifikasi untuk waktu tunggu
    • Diperbaiki: Waktu respons ChromeDriver yang Lambat dan Tidak Terduga pada Perintah NewSession.
    • Waktu tunggu yang ditentukan pengguna lebih dari 10 menit kini didukung.
    • Diperbaiki: ChromeDriver tidak dapat terhubung ke DevTools karena ketidakcocokan IPv4 vs IPv6.
    • Memulihkan urutan penelusuran untuk biner Chrome di Linux.

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 80.0.3987.106

Mendukung Chrome versi 80

  • Memulihkan urutan penelusuran untuk biner Chrome di Linux

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 80.0.3987.16

Mendukung Chrome versi 80

  • Memperbaiki pemuatan halaman dibatalkan saat menggunakan proxy.
  • Chromedriver kini menunggu hingga Frame saat ini dimuat.
  • Log ChromeDriver akan menyertakan port yang digunakan oleh driver.
  • Mengaktifkan SetGeoLocation untuk mode w3c.
  • Menambahkan teks Alert yang hilang untuk status UnexpectedAlertOpen.
  • Pesan yang lebih baik saat Ekstensi CRX2 dimuat.
  • Memperbaiki potensi kondisi race di ExecuteGetPageSource.
  • ChromeDriver akan menambahkan tanda --ignore-certificate-errors saat kemampuan acceptInsecureCerts bernilai benar (true)
  • Memperbarui pesan error dan status yang ditampilkan untuk tidak ada konteks eksekusi tersebut
  • Diperbaiki: ChromeDriver dapat memblokir tanpa batas waktu saat menunggu navigasi yang tertunda.
  • Menambahkan atribut SameSite ke AddCookie dan GetCookie.

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 79.0.3945.36

Mendukung Chrome versi 79

Mencakup perubahan berikut dari versi 79.0.3945.16:

  • Memperbaiki penghitungan koordinat elemen yang salah

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 79.0.3945.16

Mendukung Chrome versi 79

  • Error ChromeDriver yang disebabkan oleh dialog JavaScript yang muncul selama eksekusi perintah telah diperbaiki
    • Memperbaiki bug yang menyebabkan Chromedriver terkunci saat pemberitahuan ditampilkan saat mengambil screenshot
    • Menghapus --ignore-certificate-errors dari perintah peluncuran Chrome
    • Mengubah platform dan platformName menjadi windows di Win10
    • Memperbaiki window.navigator.webdriver yang tidak ditentukan saat "enable-automation" dikecualikan
  • Memperbaiki pengujian WPT "test_not_editable_inputs[hidden]"
    • Memperbaiki "Element is not clickable" saat menggunakan mode headless

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 78.0.3904.105

Mendukung Chrome versi 78

Mencakup perubahan berikut pada versi 78.0.3904.70: * Memperbaiki penghitungan koordinat elemen yang salah

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 78.0.3904.70

Mendukung Chrome versi 78

Mencakup perubahan berikut pada versi 78.0.3904.11:

  • Mengembalikan perubahan untuk menyesuaikan ukuran screenshot pada layar retina, karena beberapa masalah dilaporkan

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 78.0.3904.11

Mendukung Chrome versi 78

  • Memperbaiki beberapa masalah dalam serialisasi objek JavaScript
    • Memperbaiki bug dalam pencocokan kemampuan untuk Chrome di Android
    • Menerapkan otomatisasi izin
    • Ukuran screenshot tetap pada layar retina
  • Memperbaiki waktu tunggu pemuatan halaman yang habis dalam beberapa skenario
    • Pencocokan kemampuan platformName yang ditingkatkan
    • Memperbaiki kode error yang ditampilkan saat memindahkan penunjuk ke opsi daftar drop-down
    • Memperbaiki masalah yang memengaruhi download dalam mode headless

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 77.0.3865.40

Mendukung Chrome versi 77

Mencakup perubahan berikut pada versi 77.0.3865.10:

  • Memperbaiki dua bug dalam serialisasi dan deserialisasi objek JavaScript
  • Memperbaiki penanganan platformName: android saat mencocokkan kemampuan

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 77.0.3865.10

Mendukung Chrome versi 77

  • Memperbaiki beberapa masalah dalam penerapan Actions API
    • Peningkatan eksekusi kode JavaScript dan penanganan hasil
    • Memperbaiki bug yang salah menolak permintaan POST dengan isi kosong dalam mode OSS
  • Pelacak navigasi yang lebih andal
  • Mendukung strategi pemuatan halaman yang segera
    • Menambahkan perintah New Window dari spesifikasi W3C WebDriver
  • Dukungan untuk menyimpan download file dalam mode tanpa tampilan
  • Menambahkan dukungan untuk memuat ekstensi CRX3

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 76.0.3809.126

Mendukung Chrome versi 76

Mencakup perubahan berikut pada versi 76.0.3809.68:

  • Memperbaiki dua bug dalam serialisasi dan deserialisasi objek JavaScript

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 76.0.3809.68

Mendukung Chrome versi 76

Mencakup perubahan berikut dibandingkan versi 76.0.3809.25:

  • Memperbaiki bug dalam mendeteksi referensi melingkar di objek JavaScript
  • Memperbaiki bug yang menyebabkan ChromeDriver error saat jenis error JavaScript tertentu terjadi
  • Memperbaiki bug yang mencegah API tindakan berinteraksi dengan elemen di dalam DOM bayangan
    • Memperbaiki bug dalam melacak status tombol pengubah antara perintah API tindakan
    • Memperbaiki bug dalam melacak lokasi penunjuk di antara perintah API tindakan
    • Menyimpan error "Cannot call non W3C standard command while in W3C mode" ke file log saat terjadi

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 76.0.3809.25

Mendukung Chrome versi 76

Mencakup perubahan berikut dibandingkan versi 76.0.3809.12:

  • Memperbaiki bug yang salah menolak permintaan POST dengan isi kosong dalam mode OSS
  • Menambahkan endpoint baru untuk mengambil log Chrome
    • Menambahkan endpoint untuk perintah Is Displayed dalam mode W3C

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 76.0.3809.12

Mendukung Chrome versi 76

  • Implementasi Actions API selesai
    • Peningkatan kepatuhan spesifikasi penanganan waktu tunggu skrip
    • Peningkatan serialisasi hasil dari perintah Execute Script
    • Memperbaiki masalah saat men-scroll elemen agar muncul
    • Menambahkan penanganan tombol Batal yang ditentukan dalam spesifikasi WebDriver
    • Memperbaiki pemrosesan respons error pemberitahuan yang tidak tertangani
    • Memperbaiki pemrosesan elemen <details>
    • Opsi excludeSwitches yang diperbarui untuk mengizinkan tanda hubung di awal nama switch

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 75.0.3770.140

Mendukung Chrome versi 75

Mencakup perubahan berikut dibandingkan versi 75.0.3770.90:

  • Memperbaiki bug yang menyebabkan ChromeDriver error saat terjadi beberapa jenis error JavaScript
  • Memperbaiki bug dalam mempertahankan status tombol pengubah di antara tindakan

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 75.0.3770.90

Mendukung Chrome versi 75

Mencakup perubahan berikut pada versi 75.0.3770.8:

  • Memperbaiki bug yang salah menolak permintaan POST dengan isi kosong dalam mode OSS
  • Menambahkan endpoint baru untuk mengambil log Chrome

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 75.0.3770.8

Mendukung Chrome versi 75

Perubahan yang paling mencolok adalah ChromeDriver kini berjalan dalam mode yang kompatibel dengan standar W3C secara default. Perubahan lainnya meliputi:

  • Memperbaiki bug yang menyebabkan peristiwa blur dimunculkan dua kali selama penghapusan elemen
  • Mengganti nama kemampuan loggingPrefs menjadi goog:loggingPrefs, seperti yang diwajibkan oleh standar W3C
  • Memperbaiki penanganan error dalam mode W3C
    • Penanganan yang benar dalam membuat cookie tanpa tanda titik di awal nama domain
    • Mengizinkan nilai null untuk waktu tunggu skrip
    • Memperbaiki perintah Fixed Element Send Keys untuk memasukkan file dengan atribut 'multiple'
    • Memperbaiki perintah Get Active Element untuk menampilkan error "no such element" jika tidak ada elemen aktif
    • Memperbaiki navigasi ke URL yang salah format untuk menampilkan error "argumen tidak valid"
    • Memperbaiki kode status HTTP saat ID sesi yang tidak valid diterima
    • Memperbaiki respons error saat parameter input tidak ada atau salah format
    • Memperbaiki perintah Execute Script untuk menangani komentar JavaScript berorientasi baris

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 74.0.3729.6

Mendukung Chrome versi 74

  • Memperbaiki bug yang menghasilkan file debug.log yang tidak terduga di Windows
  • Memperbaiki klik dan tarik / lepas mouse di dalam dokumen SVG
  • Menambahkan header cache-control dalam respons dari ChromeDriver
  • Memperbaiki jenis error saat klik dicegat oleh elemen lain
  • Memperbaiki bug yang menyebabkan ChromeDriver gagal di perangkat Linux tanpa /dev/shm
  • Memperbaiki beberapa jenis peristiwa klik ganda
  • Memperbaiki perintah Get Sessions
  • Memperbaiki pemeriksaan error dalam perintah Switch To Frame
  • Memperbaiki perintah Get Page Source

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 73.0.3683.68

Mendukung Chrome versi 73

  • Memperbaiki bug yang menghasilkan file debug.log yang tidak terduga di Windows
  • Memperbaiki kode error yang ditampilkan dari perintah Execute Script dalam beberapa skenario
  • Menambahkan header cache-control dalam respons dari ChromeDriver
  • Membuat server HTTP mempertahankan koneksi tetap aktif secara default
  • Memperbaiki perintah Tutup Jendela untuk menangani perintah pengguna dengan benar
  • Memperbaiki kode error yang ditampilkan saat mengirim kunci ke elemen yang dinonaktifkan
  • Meningkatkan kepatuhan spesifikasi penanganan nilai waktu tunggu
  • Peningkatan kepatuhan spesifikasi perintah Tambahkan Cookie
    • Meningkatkan panjang antrean pendengar server HTTP
  • Memperbaiki perintah Is Element Displayed di shadow DOM v0
    • Menambahkan peringatan tentang perubahan perilaku perintah Hapus Elemen dalam file log
  • Memperbaiki perintah Execute Script untuk mengonversi document.all dengan benar ke dalam format JSON
  • Peningkatan penanganan referensi elemen yang buruk

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 2.46

Mendukung Chrome v71-73

  • Memperbaiki kode error yang ditampilkan dari perintah Execute Script dalam beberapa skenario
  • Membuat server HTTP mempertahankan koneksi tetap aktif secara default
  • Memperbaiki perintah Tutup Jendela untuk menangani perintah pengguna dengan benar
  • Memperbaiki kode error yang ditampilkan saat mengirim kunci ke elemen yang dinonaktifkan
  • Meningkatkan kepatuhan spesifikasi penanganan nilai waktu tunggu
  • Meningkatkan kepatuhan spesifikasi perintah Tambahkan Cookie
  • Peningkatan kepatuhan spesifikasi perintah Beralih ke Frame
  • Meningkatkan panjang antrean pendengar server HTTP
  • Memperbaiki perintah Is Element Displayed di shadow DOM v0
  • Perintah Klik Ganda Elemen Tetap
  • Menambahkan peringatan tentang perubahan perilaku perintah Hapus Elemen dalam file log
  • Memperbaiki perintah Execute Script untuk mengonversi document.all dengan benar ke dalam format JSON
  • Peningkatan penanganan referensi elemen yang buruk

Untuk mengetahui detail selengkapnya, lihat catatan rilis.

ChromeDriver 2.45

Mendukung Chrome v70-72

  • Fixed New Session tidak sesuai dengan spesifikasi
  • Memperbaiki ChromeDriver tidak boleh meluncurkan Chrome jika versi Chrome dan ChromeDriver tidak kompatibel
  • Memperbaiki perintah Temukan Elemen yang menampilkan kode error yang salah saat menggunakan lokator yang tidak valid
  • Memperbaiki Beberapa kode status ChromeDriver salah
  • Memperbaiki error Kompilasi di JS dalam WebViewImpl::DispatchTouchEventsForMouseEvents
  • Perintah ukuran Jendela Tetap harus menangani perintah pengguna
  • Memperbaiki ChromeDriver tidak memulai Chrome dengan benar dengan opsi Chrome "user-data-dir="
  • Perintah Status Tetap tidak sesuai dengan spesifikasi
  • Memperbaiki Menambahkan dukungan untuk strictFileInteractability

ChromeDriver 2.44

Mendukung Chrome v69-71

  • Memperbaiki WindowMaximize di Mac
  • Memperbaiki 'error pembukaan dialog' yang salah untuk panggilan handle jendela
  • Fixed Element Send Keys harus mendapatkan properti "text" dalam mode W3C
  • Kasus khusus XML tetap Is Element Enabled tidak ditangani sesuai spesifikasi
  • Memperbaiki kasus khusus XML dari Get Element CSS Value yang tidak ditangani sesuai spesifikasi
  • Memperbaiki Set Window Rect yang perlu memeriksa input yang tidak valid
  • Memperbaiki Dukungan untuk mode unhandledPromptBehavior baru

ChromeDriver 2.43

Mendukung Chrome v69-71

Perubahan meliputi:

  • Memperbaiki Parsing konfigurasi proxy tidak sesuai standar
  • Memperbaiki perintah Luncurkan aplikasi yang tidak stabil
  • Memperbaiki Screenshot elemen di dalam iFrame yang diambil dengan tidak benar
  • Menambahkan dukungan ChromeDriver untuk mengubah ukuran jendela melalui koneksi jarak jauh
  • Memperbaiki Kode error tidak ditangani di elemen Hapus
  • Memperbaiki Tidak menunggu hingga elemen terlihat
  • Properti elemen Get tetap tidak diterapkan
  • Fixed Switch to Frame tidak sesuai dengan spesifikasi
  • Memperbaiki masalah Execute Async Script tidak menampilkan kode error yang sesuai dengan spesifikasi
  • Memperbaiki masalah Execute Script tidak menampilkan kode error yang sesuai dengan spesifikasi
  • Memperbaiki Kode error di ExecuteGet tidak sesuai dengan spesifikasi
  • Memperbaiki masalah Teks Pemberitahuan Kirim tidak menampilkan kode error yang sesuai dengan spesifikasi
  • Memperbaiki clear() pada input type="date" yang berpura-pura elemen tidak dapat diedit pengguna
  • Chromedriver tetap mendapatkan handle jendela untuk tab yang dibuka secara manual
  • Memperbaiki Izinkan penambahan atau mulai file log baru untuk chromedriver
  • Memperbaiki Sesi Baru tidak memanggil mode w3c jika flag ada di firstMatch

ChromeDriver 2.42

Mendukung Chrome v68-70

Perubahan meliputi:

  • Memperbaiki ClickElement dalam Emulasi seluler
  • IP yang diizinkan tetap dengan IPv4
  • Memperbaiki ChromeDriver yang dimulai dengan tanda whitelisted-ips di Mac OS
  • Memperbaiki SetTimeout agar menerima format pra-W3C dan W3C
  • Memperbaiki screenshot elemen pengambilan
  • ChromeDriver tetap juga mencari biner Chrome di PATH sistem
  • Memperbaiki Maksimalkan jendela dan Layar Penuh
  • Menerapkan fitur pemutaran ulang log. ( belum berfungsi untuk Android dan Remote Browser )
  • Memperbaiki beberapa kode error yang tidak sesuai dengan standar W3C
  • Memperbaiki console.log dengan beberapa argumen yang tidak ditangani dengan benar
  • Memperbaiki GetElementRect yang seharusnya mengizinkan ganda
  • Emulasi sentuhan tetap

ChromeDriver 2.41

Mendukung Chrome v67-69

Perubahan meliputi:

  • Memperbaiki masalah saat ChromeDriver berjalan dengan opsi "whitelisted-ips"
  • Port Proses Debug Jarak Jauh ditampilkan dalam kemampuan
  • Menerapkan pengambilan ukuran jendela di Android
  • Pesan error peluncuran Chrome Desktop ditingkatkan
  • ChromeDriver gagal dengan cepat jika tidak dapat memulai biner Chrome
  • Nilai yang ditampilkan Close Window sesuai dengan spesifikasi