আগের ক্রোম সংস্করণগুলি
ক্রোমের পূর্ববর্তী সংস্করণগুলোর জন্য, এখানে ChromeDriver-এর সেই সংস্করণগুলো দেওয়া হলো যেগুলো এটিকে সমর্থন করে।
ChromeDriver-এর সঠিক সংস্করণ নির্বাচন করার বিষয়ে আরও তথ্যের জন্য, সংস্করণ নির্বাচন পৃষ্ঠাটি দেখুন।
ক্রোমড্রাইভার ১৪৮
বাগ সংশোধন
- DOM অ্যাক্সেস : একটি আইফ্রেমের ভিতরে বাটন ক্লিক সিমুলেট করার সময় যে ক্র্যাশটি ঘটত, তা ঠিক করা হয়েছে। আইফ্রেমটি আবার একটি ক্লোজড শ্যাডো রুটের ভিতরে নেস্টেড ছিল। মালিক ফ্রেম এলিমেন্টের আইডি খুঁজে বের করার জন্য পূর্বে ব্যবহৃত জাভাস্ক্রিপ্ট ক্লোজড শ্যাডো রুট ভেদ করতে পারত না; নতুন ইমপ্লিমেন্টেশনটি ফ্রেমটি রিজলভ করার জন্য সরাসরি
fXdYeZফরম্যাট ব্যবহার করে ( crrev.com/c/7594919 , বাগ: 469831357 )। - নিরাপত্তা : পজিশনাল আর্গুমেন্ট ইনজেকশন সম্পর্কিত একটি সম্ভাব্য দুর্বলতা ( crrev.com/c/7695604 , বাগ: 494464734 ) প্রতিরোধ করার জন্য ক্রোম আর্গুমেন্ট স্যানিটাইজেশন আরও জোরদার করা হয়েছে।
- পরীক্ষণ : AddressSanitizer (ASAN)-এর অধীনে চলার সময়
commands_unittestএরFindElement(s)WhileNavigatingটেস্টগুলির জন্যkImplicitWaitটাইমআউট বাড়ানো হয়েছে। ডিফল্ট ৩ সেকেন্ডের টাইমআউটটি ASAN ওভারহেডের অধীনে রিট্রাই লুপের পক্ষে সমস্ত মক এরর গ্রহণ করার জন্য অপর্যাপ্ত ছিল, যার ফলে ডেটাতে অস্থিতিশীলতা দেখা দিচ্ছিল ( crrev.com/c/7657276 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড :
//chrome.ccফাইল জুড়েbase/functional/callback_forward.hএর অপ্রয়োজনীয় অন্তর্ভুক্তি প্রতিস্থাপন করা হয়েছে, যা কলব্যাকগুলি প্রকৃতপক্ষে ব্যবহৃত হলেcallback.hএর ব্যবহার বাধ্যতামূলক করে ( crrev.com/c/7200285 , বাগ: 40318405 )। কম্পাইলেশন দক্ষতা উন্নত করার জন্যlogging::LoggingSettingsbase/logging.hথেকে এর নিজস্ব হেডারbase/logging/logging_settings.hএ সরানো হয়েছে ( crrev.com/c/7173024 , crrev.com/c/7170750 রিভার্টের পর crrev.com/c/7160150 রিল্যান্ডিং )।base/logging.hসম্পর্কিত বিভিন্ন IWYU ত্রুটি সমাধান করা হয়েছে ( crrev.com/c/7730403 , বাগ: 499476145 )। - C++ স্ট্যান্ডার্ড : অপ্রয়োজনীয় ম্যাপ
count(key)চেক এবং তারপরে লুকআপের পরিবর্তে আরও দক্ষfind(key)ইটারেটর অ্যাক্সেস ব্যবহার করা হয়েছে ( crrev.com/c/7705392 , crrev.com/c/7693277 , বাগ: 452950815 )। এনক্যাপসুলেশন উন্নত করার জন্যThreadকনস্ট্রাক্টরের মাধ্যমেThreadDelegateযুক্ত করা হয়েছে, এবং থ্রেড পুনরায় চালু করার প্রয়োজন হলে তা সামাল দেওয়ার জন্যThreadএ একটিRestartableঅপশন যোগ করা হয়েছে ( crrev.com/c/7696887 , বাগ: 40881604 )। - মেমরি সুরক্ষা :
chrome/জুড়ে ফাইল-ব্যাপী#pragma allow_unsafe_buffersকে সুনির্দিষ্টUNSAFE_TODO()ম্যাক্রোতে রূপান্তর করা হয়েছে ( crrev.com/c/7132241 , বাগ: 409340989 )।IOBuffer->span().first()কে সংক্ষিপ্ত করেIOBuffer->first()করা হয়েছে ( crrev.com/c/7159119 )। - নির্ভরতা :
crossbenchনির্ভরতাটি রোল আউট করা হয়েছে, যা macOS এবং Android-এ স্থানীয়ভাবে নির্মিত ChromeDriver বাইনারিগুলি সনাক্ত করার জন্য সমাধান নিয়ে এসেছে ( crrev.com/c/7673978 )। - পরীক্ষণ : অন্তর্নিহিত বিল্ড এবং পরীক্ষণ পরিকাঠামোর সংশোধনের পর ( crrev.com/c/7707960 ),
chromedriver_py_testsএmoduleস্কিমটি পুনরায় সক্রিয় করা হয়েছে।
ক্রোমড্রাইভার ১৪৭
বাগ সংশোধন
- পরীক্ষণ : একটি হারমেটিক রিগ্রেশন টেস্ট যোগ করা হয়েছে এটি যাচাই করার জন্য যে,
ElementClickওভারলে এলিমেন্ট সহ ক্রস-অরিজিন আইফ্রেমের উপর ক্লিকগুলি সঠিকভাবে পরিচালনা করে, বিশেষত সাইট আইসোলেশন পরিস্থিতিতে। এটি নিশ্চিত করে যে ক্লিকগুলি দৃশ্যমান ওভারলের পরিবর্তে ভুলবশত এমবেডেড কন্টেন্টে রাউট করা হচ্ছে না ( crrev.com/c/7261984 , বাগ: 42321834 , বাগ: 42322220 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড : গুগল C++ স্টাইল গাইডের সাথে সামঞ্জস্য রেখে URL ডিকোডিং মোড এবং ফাংশনগুলির নাম পরিবর্তন করা হয়েছে,
DecodeURLModeকেDecodeUrlModeএবংDecodeURLEscapeSequences()-কেDecodeUrlEscapeSequences()-এ পরিবর্তন করা হয়েছে ( crrev.com/c/7593238 )। কোডবেস জুড়ে URL ডিকোডিং-এর ব্যবহার সহজ করার জন্যurl::UrlEscapeDecoderচালু করা হয়েছে ( crrev.com/c/7610180 )।//chromeফাইলগুলি থেকে অপ্রয়োজনীয়build/branding_buildflags.hঅন্তর্ভুক্তিগুলি সরানো হয়েছে ( crrev.com/c/7595125 , বাগ: 40318405 )। ChromeDriver ব্যতীত//chromeথেকেBUILDFLAG(IS_FUCHSIA)লজিকটি সরানো হয়েছে ( crrev.com/c/5485913 , বাগ: 41481724 )। - মেমরি সুরক্ষা (স্প্যানিফিকেশন) : ChromeDriver ইউটিলিটিগুলিতে
UNSAFE_TODOচিহ্নিতকারীগুলির সমাধান করা হয়েছে এবং সেগুলিকে নিরাপদ স্প্যান-ভিত্তিক বাস্তবায়নে স্থানান্তরিত করা হয়েছে ( crrev.com/c/7562602 , বাগ: 435317390 )।
ক্রোমড্রাইভার ১৪৬
বাগ সংশোধন
- স্থিতিশীলতা : কোনো কমান্ড প্রসেস করার সময় যদি উইন্ডোটি একই সাথে বন্ধ হয়ে যেত (যেমন, নেভিগেশন সম্পূর্ণ হওয়ার জন্য অপেক্ষা করার সময়), তাহলে ChromeDriver ক্র্যাশ হওয়ার সমস্যাটি সমাধান করা হয়েছে। এই সমাধানটি
WebViewঅবজেক্টের উপর একটি লক অর্জন করে, যাতে এটি সময়ের আগেই ডিসপোজ হওয়া থেকে রক্ষা পায় ( crrev.com/c/7257074 , বাগ: 468228355 )। - নিরাপত্তা : ChromeDriver HTTP সার্ভারে আগত WebSocket সংযোগের জন্য একটি
Originহেডার চেক যুক্ত করা হয়েছে, যা সম্ভাব্য ক্রস-অরিজিন হাইজ্যাকিং প্রতিরোধ করে ( crrev.com/c/7538400 , বাগ: 478783560 )। - পরীক্ষা :
testWebviewDetactedDuringClickফ্ল্যাকি ফিল্টারে সরানো হয়েছে, যা এখন শুধু হেডলেস মোডের পরিবর্তে সব রানেই এটিকে এড়িয়ে যাবে ( crrev.com/c/7545378 , বাগ: 481485821 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড :
//chromeজুড়েbase::DictValueএবংbase::ListValueকে তাদের আধুনিক সমতুল্য (base::Value::Dictএবংbase::Value::List) নামে পুনঃনামকরণ করা হয়েছে ( crrev.com/c/7515855 , crrev.com/c/7514475 , বাগ: 478100525 )।base::Contains()-এর ব্যবহারstd::ranges::contains()দ্বারা প্রতিস্থাপিত করা হয়েছে ( crrev.com/c/7461026 , বাগ: 470391351 )। যেখানে প্রযোজ্য, সেখানেstd::setএবংstd::unordered_setbase::fixed_flat_setএ মাইগ্রেট করা হয়েছে ( crrev.com/c/7521991 , বাগ: 473916362 )।base::JSONReader::Readকলগুলো রিফ্যাক্টর করে বাদ দেওয়া হয়েছে যেগুলোতে পার্সিং অপশন উল্লেখ করা ছিল না ( crrev.com/c/6990988 , crrev.com/c/6980533 , Bug: 446188265 )। বিভিন্নbase::JSONWriter::Write()কলগুলোকেbase::WriteJson()দিয়ে প্রতিস্থাপন করা হয়েছে ( crrev.com/c/6969134 , crrev.com/c/6929101 , Bug: 443929217 )।#includeক্রম পরিপাটি করা হয়েছে ( crrev.com/c/7366868 )। কমেন্টে বাগ রেফারেন্সগুলোকে Monorail ID-এর পরিবর্তে Buganizer ID ব্যবহার করার জন্য মাইগ্রেট করা হয়েছে ( crrev.com/c/7528268 , Bug: 321899722 )। স্পষ্টতার জন্যIS_OZONE_*বিল্ড ফ্ল্যাগগুলির নাম পরিবর্তন করেSUPPORTS_OZONE_*রাখা হয়েছে ( crrev.com/c/7535923 )। - মেমরি সুরক্ষা (স্প্যানিফিকেশন) :
base/strings/utf_string_conversion_utils.ccতে অনিরাপদ পয়েন্টার ব্যবহারbase::spanদ্বারা প্রতিস্থাপিত করা হয়েছে ( crrev.com/c/7496410 , বাগ: 439964610 , বাগ: 40284755 )।//chromeটেস্টেbase::Fileআরও ব্যবহার স্প্যানিফাই করা হয়েছে ( crrev.com/c/7489592 , বাগ: 435317390 )।//chromeজুড়েmemsetঅ্যাগ্রিগেট ইনিশিয়ালাইজেশন দ্বারা প্রতিস্থাপিত করা হয়েছে ( crrev.com/c/6875520 , বাগ: 435317390 )। অবশিষ্ট#pragma allow_unsafe_buffersUNSAFE_TODOমার্কারে রূপান্তর করা হয়েছে ( crrev.com/c/7132241 , বাগ: 409340989 )। - DSE Prewarm : macOS এবং Windows-এর জন্য
fieldtrial_testing_config.jsonএDSEPrewarmফিচারটি সক্রিয় করা হয়েছে, কারণ সম্পর্কিত ChromeDriver টেস্টের ত্রুটিপূর্ণ আচরণের সমাধান করা হয়েছে ( crrev.com/c/7489009 , crrev.com/c/7452344 রিভার্টের পর crrev.com/c/7002185 রিল্যান্ডিং)। (দ্রষ্টব্য: Windows-এ টেস্ট রানটাইম বেড়ে যাওয়ার কারণে এই রিল্যান্ডটি পরবর্তীকালে আবার রিভার্ট করা হয়েছিল ( crrev.com/c/7517985 , বাগ: 478888140 ))। - ডায়াগনস্টিকস : উন্নততর ডিবাগযোগ্যতার জন্য
WaitableEventএবংConditionVariableট্রেস ইভেন্টগুলিতে কলারের অবস্থান ট্র্যাকিং যুক্ত করা হয়েছে ( crrev.com/c/7487755 , বাগ: 476408124 )।
ক্রোমড্রাইভার ১৪৫
নতুন বৈশিষ্ট্য
- টেস্টিং : `
run_py_tests.pyটেস্টিং ফ্রেমওয়ার্কটি আপডেট করা হয়েছে, যাinput,textarea, এবংcontenteditableএলিমেন্টগুলোকে লক্ষ্য করে বিভিন্ন দৈর্ঘ্যের (যেমন, ৫৩, ১০১, এবং ৫০১ অক্ষর) ডিটারমিনিস্টিক স্ট্রিং টেস্ট গ্রহণ করে। এটি রিগ্রেশন কভারেজ প্রদান করে, যা নিশ্চিত করে যে দীর্ঘsend_keysঅপারেশনের সময় কোনো অক্ষর বাদ না পড়ে ( crrev.com/c/7221410 , বাগ: 428116078 )। - পরীক্ষণ : HTML
<selectlist>এলিমেন্টের জন্য একটি নির্দিষ্ট পরীক্ষা যোগ করা হয়েছে ( crrev.com/c/7420729 , বাগ: 342889200 )।
বাগ সংশোধন
- স্ক্রিনশট : এলিমেন্ট স্ক্রিনশটের স্কেলিং পূর্বাবস্থায় ফিরিয়ে আনা হয়েছে, কারণ WebDriver স্পেসিফিকেশনে স্কেলিংয়ের কোনো বিধান নেই এবং এটি অন্যান্য স্ক্রিনশট ফাংশনের সাথে অসামঞ্জস্যপূর্ণ ছিল ( crrev.com/c/7409603 , বাগ: 42323022 )।
- টেস্টিং : DevTools Frontend-এ প্রবর্তিত সাম্প্রতিক সঠিক মানগুলির (platform, platformVersion, model, এবং mobile ফিল্ডগুলির জন্য) সাথে মেলানোর জন্য ChromeDriver টেস্ট এক্সপেক্টেশন আপডেট করে
testClientHintsDeviceNameIPhoneXএবংtestClientHintsDeviceNameIPadএর ব্যর্থতাগুলি সংশোধন করা হয়েছে ( crrev.com/c/7408699 , বাগ: 474179501 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড :
//chromeজুড়েbase::Contains()এর বিভিন্ন ব্যবহারstd::ranges::contains()করা হয়েছে ( crrev.com/c/7411011 , বাগ: 470391351 ), যার মধ্যে প্রয়োজনীয় ফরম্যাটিং সংশোধনও অন্তর্ভুক্ত ( crrev.com/c/7247217 )।substr()ব্যবহার করার সময় অপ্রয়োজনীয় স্ট্রিং অ্যালোকেশন এড়াতেstd::string_viewস্ট্রিং প্যারামিটারগুলো রিফ্যাক্টর করা হয়েছে ( crrev.com/c/7350716 )।//chromeহেডার থেকে অপ্রয়োজনীয়<map>ইনক্লুডগুলো সরানো হয়েছে ( crrev.com/c/7225838 , বাগ: 40318405 )। কিছু ফাইলে ইনক্লুডের ক্রম সংশোধন করা হয়েছে ( crrev.com/c/7366868 )।SimpleURLLoaderব্যবহারে পুরোনোBodyAsStringCallbackDeprecatedকলব্যাকগুলোকেBodyAsStringCallbackদ্বারা প্রতিস্থাপন করা হয়েছে, যা std::std::unique_ptrএর পরিবর্তে stdstd::optionalব্যবহার করে ( crrev.com/c/7210000 , Bug: 40258809 )। - টেস্টিং :
InfobarPrioritizationফিল্ডের ট্রায়াল কনফিগারেশন পুনরায় ল্যান্ড করা হয়েছে, যার মধ্যে ভিউ হায়ারার্কিতে যুক্ত না হওয়া পেন্ডিং ইনফোবারগুলি হ্যান্ডেল করার সময় ChromeDriver ব্রাউজার টেস্টে ক্র্যাশ প্রতিরোধের জন্য ফিক্স অন্তর্ভুক্ত রয়েছে ( crrev.com/c/7223590 , বাগ: 447176374 )। Glic ফিচারের জন্য দেশ এবং লোকেল ফিল্টারিং পুনরায় ল্যান্ড করা হয়েছে, যা পূর্বে সম্পর্কহীন টেস্ট ব্যর্থতার কারণে রিভার্ট করা হয়েছিল ( crrev.com/c/7245749 , crrev.com/c/7233767 রিভার্ট করার পর crrev.com/c/7148759 পুনরায় ল্যান্ড করা হচ্ছে , বাগ: 454431875 )।
ক্রোমড্রাইভার ১৪৪
নতুন বৈশিষ্ট্য
- অনুমতিসমূহ : সর্বশেষ W3C স্পেসিফিকেশন মেনে চলার জন্য
SetPermissionকমান্ডটি আপডেট করা হয়েছে, যা টপ-লেভেল অরিজিনের পাশাপাশি বর্তমান ফ্রেমের URL (এমবেডেড অরিজিন) ব্যবহার করে। এটিstorage-accessমতো অনুমতিগুলোকে সঠিকভাবে কনফিগার করে, যা এমবেডেড কনটেক্সটের উপর নির্ভর করে ( crrev.com/c/7106801 , crrev.com/c/7104484 রিভার্টের পর crrev.com/c/7093216 রিল্যান্ডিং, বাগ: 384959114 )। - পরীক্ষণ : স্ট্রাকচার্ড টেস্ট আইডি ব্যবহার করার সময় ফ্লেকিনেস এন্ডোর্সার সমর্থন করার জন্য ChromeDriver টেস্ট আপলোড পেলোডে
testMetadata(টেস্টের নাম সহ) যোগ করা হয়েছে ( crrev.com/c/7124354 , বাগ: 456432041 )।
বাগ সংশোধন
- টার্গেট লাইফসাইকেল : একটি বাগ সংশোধন করা হয়েছে যেখানে একটি চাইল্ড ফ্রেম কমান্ড প্রতিক্রিয়ার জন্য অপেক্ষা করার সময় যদি একটি প্যারেন্ট ফ্রেম ডিটাচড হয়ে যেত, তাহলে ChromeDriver আটকে যেত। এখন, কমান্ড প্রক্রিয়াকরণের সময় যখন একটি প্যারেন্ট
WebViewImplলক করা হয় এবং ডিটাচড হিসেবে চিহ্নিত করা হয়, তখন ChromeDriver স্পষ্টভাবে ডিসেন্ডেন্ট ফ্রেমগুলোকে ট্রানজিটিভলি ডিটাচ করে ( crrev.com/c/7080912 , বাগ: 438436830 )। - উইন্ডো ম্যানেজমেন্ট : বিশেষভাবে ChromeDriver সেশনের জন্য আড়াল হয়ে যাওয়া উইন্ডোগুলোর ব্যাকগ্রাউন্ডে চলে যাওয়া নিষ্ক্রিয় করা হয়েছে। এর মাধ্যমে WebDriver BiDi-এর সেই সমস্যাগুলোর সমাধান করা হয়েছে, যেখানে ব্রাউজার ভুলবশত কোনো উইন্ডোকে আড়াল হয়ে গেছে বলে মনে করে তার গতি কমিয়ে দিলে টেস্টগুলো ব্যর্থ হতে পারত ( crrev.com/c/7128058 , বাগ: 458027819 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড :
//chrome.ccফাইলগুলো থেকেbase/functional/callback_forward.hএর অপ্রয়োজনীয় অন্তর্ভুক্তিগুলো সরানো হয়েছে, এবং যখন কলব্যাকগুলো প্রকৃতপক্ষে ব্যবহৃত হয় তখনcallback.hএর ব্যবহার বাধ্যতামূলক করা হয়েছে ( crrev.com/c/7200285 , বাগ: 40318405 )। কম্পাইলেশনের কার্যকারিতা উন্নত করার জন্যlogging::LoggingSettingsbase/logging.hথেকে এর নিজস্ব হেডারbase/logging/logging_settings.hএ সরানো হয়েছে ( crrev.com/c/7173024 , crrev.com/c/7170750 রিভার্টের পর crrev.com/c/7160150-এর রিল্যান্ডিং )।base::HexEncodeএর ব্যবহারকে নতুনbase::HexEncodeLowerএ স্থানান্তরিত করা হয়েছে ( crrev.com/c/7103100 , বাগ: 456472080 )। - মেমরি সুরক্ষা (স্প্যানিফিকেশন) :
PipeBuilderএবংPipeConnectionইউনিট টেস্টেWriteToPipeএবংWriteToPipeNoBestEffortbase::spanগ্রহণ করার জন্য মাইগ্রেট করা হয়েছে, যা অনিরাপদ বাফার ব্যবহারের সমস্যা সমাধান করে ( crrev.com/c/7090293 , বাগ: 455758227 )।chrome/জুড়ে ফাইল-ব্যাপী#pragma allow_unsafe_buffersকে সুনির্দিষ্টUNSAFE_TODO()ম্যাক্রোতে রূপান্তর করা হয়েছে ( crrev.com/c/7132241 , বাগ: 409340989 )।IOBuffer->span().first()কে সংক্ষিপ্ত করেIOBuffer->first()করা হয়েছে ( crrev.com/c/7159119 )।
ক্রোমড্রাইভার ১৪৩
বাগ সংশোধন
- স্থিতিশীলতা :
OverrideNetworkConditionsএর মধ্যে একটি Use-After-Free (UAF) ক্র্যাশ ঠিক করা হয়েছে। পরবর্তী অ্যাপ্লিকেশনের জন্য সংরক্ষিত র' পয়েন্টারটি পরপর কলের মধ্যে মুক্ত হয়ে যেত; এখন এটি সঠিকভাবে পরিচালিত হয় ( crrev.com/c/7047422 , বাগ: 42323833 )। - পরীক্ষণ : আরও নির্ভরযোগ্য সিঙ্ক্রোনাইজেশনের জন্য
WaitForConditionAPI ব্যবহার করে ত্রুটিপূর্ণ Android ChromeDriver টাচ টেস্টগুলো ঠিক করা হয়েছে ( crrev.com/c/6978928 , বাগ: 42321861 )। - DSE Prewarm :
--disable-features=Prewarmসুইচের মাধ্যমে ChromeDriver-এPrewarmফিচারটি ডিফল্টরূপে নিষ্ক্রিয় করা হয়েছে, যা প্রি-ওয়ার্মড পেজগুলোকে টেস্ট এক্সিকিউশন এবং টার্গেট ডিসকভারিতে হস্তক্ষেপ করা থেকে বিরত রাখে ( crrev.com/c/7007072 , বাগ: 431928370 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড :
//chromeহেডারেref_counted.hএর পরিবর্তেscoped_refptr.hব্যবহার করা হয়েছে, যেখানে শুধুমাত্র স্মার্ট পয়েন্টার ব্যবহৃত হয়, যা কম্পাইলেশনের কার্যকারিতা উন্নত করে ( crrev.com/c/7080753 , বাগ: 40245294 )। স্ট্রিং অ্যালোকেশন স্পষ্টভাবে নির্দেশ করার জন্যGURLঅ্যাক্সেসরগুলোকে তাদেরGet*ভ্যারিয়েন্টে (যেমন,spec()GetSpec()()) মাইগ্রেট করা হয়েছে, যা অনিচ্ছাকৃত পারফরম্যান্স হ্রাস প্রতিরোধ করে ( crrev.com/c/7002119 , বাগ: 448174617 )। - পরীক্ষণ :
ADD_FAILURE()ব্যবহার করেdevtools_client_impl_unittest.ccথেকে অপ্রয়োজনীয় চেক প্যাটার্নগুলো সরানো হয়েছে ( crrev.com/c/6998270 )।crbug.com/413382905এর জন্য একটি রিগ্রেশন টেস্ট যোগ করা হয়েছে ( crrev.com/c/6879417 )।
ক্রোমড্রাইভার ১৪২
নতুন বৈশিষ্ট্য
- ডায়াগনস্টিকস : ব্রাউজার দ্বারা মেমরি সাশ্রয়ের জন্য স্বতঃপ্রণোদিতভাবে বন্ধ করে দেওয়া প্রসেস এবং মেমরি-সংক্রান্ত ত্রুটির (OOM) কারণে ক্র্যাশ হওয়া প্রসেসের মধ্যে পার্থক্য করার জন্য
TERMINATION_STATUS_EVICTED_FOR_MEMORYস্ট্যাটাসটি যোগ করা হয়েছে। বর্তমানে, এটি একটি OOM ক্র্যাশের মতোই আচরণ করে (একটি স্যাড ট্যাব প্রদর্শন করে), কিন্তু ভবিষ্যতে স্বতন্ত্রভাবে বিষয়টি সামলানোর জন্য ভিত্তি স্থাপন করে ( crrev.com/c/6991933 , বাগ: 394092280 )। - ডায়াগনস্টিকস : WebDriver রেসপন্সে
goog:processIDক্যাপাবিলিটি যোগ করা হয়েছে, যা ডেস্কটপ ব্রাউজারের মূল প্রসেস আইডি রিটার্ন করে। এর ফলে ChromeDriver, Firefox-এরmoz:processIDসাথে সামঞ্জস্যপূর্ণ হয় এবং প্ল্যাটফর্ম অ্যাক্সেসিবিলিটি API পরীক্ষা করতে সহায়তা করে ( crrev.com/c/5825307 , বাগ: 438884256 )। - পরীক্ষণ : ChromeDriver-এর পাইথন ইন্টিগ্রেশন টেস্টের জন্য ResultSink-এ স্ট্রাকচার্ড টেস্ট আইডি আপলোডের সুবিধা যোগ করা হয়েছে ( crrev.com/c/6916708 , বাগ: 418015486 )।
বাগ সংশোধন
- ডায়াগনস্টিকস : স্বাভাবিকভাবে Chrome বন্ধ হওয়ার সময় ChromeDriver-এর আচরণ পরিবর্তন করা হয়েছে, যাতে এটি আর
user-data-dirব্যবহার সম্পর্কিত একটি বিভ্রান্তিকর, সাধারণ ত্রুটির বার্তা প্রদর্শন না করে। এটি এখন স্পষ্টভাবে জানায় যে ইনস্ট্যান্সটি বন্ধ করে দেওয়া হয়েছে এবং Chrome দ্বারা প্রদর্শিত নির্দিষ্ট ত্রুটির জন্য ব্যবহারকারীকে বিস্তারিত লগ দেখতে নির্দেশ করে ( crrev.com/c/6977507 , বাগ: 42323434 )। - প্রারম্ভিকীকরণ : Selenium WebDriver v4.16.0-এর পরিবর্তনগুলির ( crrev.com/c/6630600 ) সাথে সামঞ্জস্যপূর্ণ থাকার জন্য ChromeDriver-এর প্রারম্ভিকীকরণ কাঠামো আপডেট করা হয়েছে।
- অ্যান্ড্রয়েড : পুরোনো অ্যান্ড্রয়েড সংস্করণগুলিতে (অ্যান্ড্রয়েড ১১-এর আগের)
CheckAppInstalledসমস্যা সমাধান করা হয়েছে, যেখানে প্যাকেজ ম্যানেজার--user curফ্ল্যাগটি সমর্থন করে না ( crrev.com/c/6785949 , বাগ: 433885051 )। - পরীক্ষণ : একটি বাগ সংশোধন করা হয়েছে যেখানে
IgnoreDuplicateNavsভুলভাবে ChromeDriver-এর ডিফল্ট ক্যাপাবিলিটি সুইচগুলিকে ওভাররাইড করছিল। ChromeDriver সেশনগুলির জন্য ফিচারটি নিষ্ক্রিয় করা হয়েছে এবংSwitches::SetFromSwitchesলজিকটি সংশোধন করা হয়েছে ( crrev.com/c/6949166 , বাগ: 445332809 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড : বেশ কিছু অপ্রচলিত
base::JSONWriter::Write()কলকেbase::WriteJson()দিয়ে প্রতিস্থাপন করা হয়েছে, এবং রিটার্ন ভ্যালু চেক না করা হলে ব্যর্থ হলে একটি খালি স্ট্রিং রিটার্ন করার আচরণটি বজায় রাখা হয়েছে ( crrev.com/c/6969134 , crrev.com/c/6929101 , বাগ: 443929217 )।base::JSONReader::Readএবংbase::JSONReader::ReadAndReturnValueWithErrorএ নিয়ম-বহির্ভূত JSON পার্সিং অপশনগুলোর (যেমন, কমেন্টের অনুমতি দেওয়া) জন্য সুস্পষ্ট অপ্ট-ইন আবশ্যক করা হয়েছে ( crrev.com/c/6990988 , crrev.com/c/6980533 , বাগ: 446188265 )। ম্যানুয়াল স্প্যানিফিকেশন প্রচেষ্টার ফলস্বরূপ ফাইল-ব্যাপী#pragma allow_unsafe_buffersপ্রাগমাগুলো সরানো হয়েছে ( crrev.com/c/6778035 , বাগ: 409340989 )। ত্রুটিপূর্ণLazyInstanceম্যাক্রোর ব্যবহারগুলো পরিচ্ছন্ন করা হয়েছে ( crrev.com/c/6781377 , বাগ: 432815283 )। IWYU-এর মাধ্যমেhttp_response_headers.hএর জন্য অনুপস্থিত হেডারগুলো অন্তর্ভুক্ত করা হয়েছে ( crrev.com/c/6894196 , বাগ: 40216326 )। - মেমরি সুরক্ষা (স্প্যানিফিকেশন) : লিনাক্স বিল্ডের জন্য
chrome/ডিরেক্টরি জুড়ে অসংখ্য পয়েন্টার স্বয়ংক্রিয়ভাবে স্প্যানিফাই করা হয়েছে, এবং যেখানে সাইজ প্যারামিটারগুলি অপ্রয়োজনীয় বলে মনে করা হয়েছে সেখানে নন-ফ্যাটালCHECKযোগ করা হয়েছে ( crrev.com/c/6734592 , বাগ: 431824299 )। - পরীক্ষা : macOS-এ
testDoesntCrashOnClosingBrowserFromAsyncScriptসাময়িকভাবে নিষ্ক্রিয় করা হয়েছে ( crrev.com/c/6995358 , বাগ: 446461733 )। "Certificates" সম্পর্কিত টেস্ট মেথডের নামে টাইপের ভুল সংশোধন করা হয়েছে ( crrev.com/c/6950683 )।//chrome/testGN ফাইলগুলো স্বয়ংক্রিয়ভাবে ফরম্যাট করা হয়েছে ( crrev.com/c/6789277 , বাগ: 40760278 )। - FedCM :
IdentityDialogControllerএ একটিShouldShowAccountsPassiveDialogফাংশন চালু করা হয়েছে, যা একটি অ্যাকাউন্টস ডায়ালগ দেখানো হবে কিনা তা সিনক্রোনাসভাবে পরীক্ষা করে। এর মাধ্যমে অ্যাসিঙ্ক্রোনাস চেক এবং DevTools ইন্সট্রুমেন্টেশন সম্পর্কিত একটি ক্র্যাশের সমাধান করা হয়েছে ( crrev.com/c/6780413 , Bug: 425801332 )। - DSE প্রিওয়ার্ম : প্রিওয়ার্মিং ম্যানুয়ালি চালু বা বন্ধ করার একটি স্বল্পমেয়াদী সমাধান হিসেবে DevTools প্রোটোকলে
Page.setPrewarmingAllowedযোগ করা হয়েছে, যা সম্পর্কিত টেস্টগুলোকে প্রাইমারি পেজের সাথে সঠিকভাবে ইন্টারঅ্যাক্ট করা নিশ্চিত করে ( crrev.com/c/6847287 , বাগ: 431928370 )। এর ত্রুটিপূর্ণ আচরণ সমাধান করার পর macOS এবং Windows-এর জন্যfieldtrial_testing_config.jsonএDSEPrewarmফিচারটি চালু করা হয়েছে ( crrev.com/c/6951835 , বাগ: 431928370 , বাগ: 435621391 )। (দ্রষ্টব্য: CDP কমান্ড এবং ফিল্ড ট্রায়াল সক্রিয়করণ উভয়ই পূর্বাবস্থায় ফিরিয়ে আনা হয়েছে, কারণ এগুলো WebDriver ব্যবহারকারীদের জন্য ব্রেকিং চেঞ্জ ছিল, যা অপ্রত্যাশিত টার্গেট প্রকাশ করে দিচ্ছিল এবং যথাক্রমে অন্যান্য ডাউনস্ট্রিম সমস্যা সৃষ্টি করছিল ( crrev.com/c/6966133 , crrev.com/c/6966161 , Bug: 445883308 ))। - পরিষ্করণ : অ্যান্ড্রয়েড কোড থেকে অসমর্থিত
WebLayerপ্রজেক্টের অবশিষ্ট রেফারেন্সগুলো সরিয়ে ফেলা হয়েছে ( crrev.com/c/6792520 , বাগ: 40272607 )।
ক্রোমড্রাইভার ১৪১
নতুন বৈশিষ্ট্য
- পরীক্ষা :
run_wpt_tests.pyতে--enable-per-test-tracingফ্ল্যাগের জন্য সমর্থন যোগ করা হয়েছে, যাrun_web_tests.pyএর আচরণের সাথে মেলে। এটি একটি অভ্যন্তরীণ ChromeDriver বাফার থেকে JSON ট্রেস ইভেন্টগুলি পুনরুদ্ধার করে এবং সেগুলিকে পরীক্ষার ফলাফল ডিরেক্টরিতে সংরক্ষণ করে ( crrev.com/c/6820247 , বাগ: 434017035 )।
বাগ সংশোধন
- ডায়াগনস্টিকস :
kTabCrashedত্রুটি ফেরত দেওয়ার সময় ChromeDriver-কে তার নিজস্ব অভ্যন্তরীণ স্ট্যাক ট্রেস প্রিন্ট করা থেকে বিরত রাখা হয়েছে। এটি ব্যবহারকারীদের বিভ্রান্তি এড়ায়, এবং একই সাথে রেন্ডারার ক্র্যাশের স্ট্যাক ট্রেস লগগুলিতে থাকা নিশ্চিত করে ( crrev.com/c/6841669 , বাগ: 395131239 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড : কনস্ট্রাক্টর বাইপাস এড়াতে এবং মেমরি সুরক্ষা নিশ্চিত করতে
chrome/জুড়ে সম্ভাব্য অনিরাপদmemsetকলগুলিকে স্ট্যান্ডার্ড C++ অ্যাগ্রিগেট ইনিশিয়ালাইজেশন (instance = {}) দিয়ে প্রতিস্থাপন করা হয়েছে ( crrev.com/c/6875520 , বাগ: 435317390 )। IWYU-এর মাধ্যমে//base/time/time.hএর জন্য অনুপস্থিত#includeনির্দেশাবলী যোগ করা হয়েছে ( crrev.com/c/6832689 , বাগ: 40216326 )। জোরপূর্বক অনিরাপদ বাফার প্রাগমাগুলি পুনরায় লেখা হয়েছে ( crrev.com/c/6828538 )। - পরীক্ষণ :
crbug.com/413382905( crrev.com/c/6879417 ) এর জন্য একটি রিগ্রেশন টেস্ট যোগ করা হয়েছে। - ভিউ ট্রানজিশন : ফিনিশড প্রমিস রিজলভ হওয়ার আগে করা কাজ আপডেট করে ভিউ ট্রানজিশন ফিক্সটি পুনরায় ল্যান্ড করা হয়েছে, কারণ ChromeDriver টেস্ট ফেইলিউরের সাথে যুক্ত একটি পূর্ববর্তী স্পেকুলেটিভ রিভার্ট ভুল প্রমাণিত হয়েছিল ( crrev.com/c/6846765 , crrev.com/c/6808537 রিভার্টের পর crrev.com/c/6806850 পুনরায় ল্যান্ড করা হচ্ছে)।
ক্রোমড্রাইভার ১৪০
বাগ সংশোধন
- টার্গেট নির্বাচন :
--auto-open-devtools-for-tabsদিয়ে Chrome চালু করার সময় DevTools উইন্ডোটি মূল পৃষ্ঠার সাথে পাল্লা দিয়ে প্রাথমিক উইন্ডো হিসেবে নির্বাচিত হওয়ার সমস্যাটি সমাধান করা হয়েছে। ChromeDriver এখন প্রাথমিক উইন্ডো নির্ধারণের সময়devtools://উপসর্গযুক্ত টার্গেটগুলোকে স্পষ্টভাবে বাদ দেয় ( crrev.com/c/6769505 , বাগ: 427908560 )। - টার্গেট সিলেকশন : পূর্ববর্তী এলিমেন্টগুলোর দ্বারা আরোপিত
overflow:hiddenক্লিপিং উপেক্ষা করার মাধ্যমে, ChromeDriver-কে এলিমেন্টগুলোর ইন-ভিউ কেন্দ্রবিন্দু ভুলভাবে গণনা করা থেকে বিরত রাখা হয়েছে। এটি গণনাকে WebDriver স্পেক এবং অন্যান্যPerformActionsসিনারিওগুলোর ( crrev.com/c/6735230 , বাগ: 42322257 ) সাথে সামঞ্জস্যপূর্ণ করে। - অ্যান্ড্রয়েড : পুরোনো অ্যান্ড্রয়েড সংস্করণগুলিতে (অ্যান্ড্রয়েড ১১-এর পূর্ববর্তী)
CheckAppInstalledফাংশনটি ঠিক করা হয়েছে, যেখানে প্যাকেজ ম্যানেজারের জন্য--user curফ্ল্যাগটি সমর্থিত ছিল না ( crrev.com/c/6785949 , বাগ: 433885051 )। - টেস্টিং :
DSEPrewarmফিচারের কারণেchromedriver_py_testsটেস্ট স্যুটে সৃষ্ট অস্থিরতা ঠিক করা হয়েছে। টেস্ট চলাকালীন অপ্রত্যাশিত টার্গেট সংখ্যা রোধ করতে, CDP ক্লায়েন্ট সংযুক্ত থাকাকালীন ChromeDriver এখন প্রিওয়ার্ম ট্রিগারটি নিষ্ক্রিয় করে দেয় ( crrev.com/c/6764274 , বাগ: 423465927 , বাগ: 431928370 )। - পরীক্ষণ :
IdentityDialogController(FedCM-এর অংশ)-এShouldShowAccountsPassiveDialogফাংশনটি যোগ করার বিষয়টি পূর্বাবস্থায় ফিরিয়ে আনা হয়েছে, যা একটি রিগ্রেশনের কারণ হয়েছিল ( crrev.com/c/6780413 , বাগ: 425801332 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড : Include What You Use (IWYU) এর মাধ্যমে অনুপস্থিত
std::vector#includeযোগ করা হয়েছে ( crrev.com/c/6652818 , বাগ: 40216326 )।//chromeহেডার জুড়েgurl.h( crrev.com/c/6578272 ) এবং<queue>( crrev.com/c/6570349 , বাগ: 40318405 ) এর অপ্রয়োজনীয় ইনক্লুড সরানো হয়েছে।//chromeএNOTIMPLEMENTED()এর জন্যIWYUসমাধান করা হয়েছে ( crrev.com/c/6655452 , বাগ: 41493641 )। - মেমরি সুরক্ষা (স্প্যানিফিকেশন) : লিনাক্স বিল্ড জুড়ে স্বয়ংক্রিয় পয়েন্টার স্প্যানিফিকেশন টুল চালানো হয়েছে, যেখানে সাইজ জানা আছে সেখানে স্প্যান ব্যবহার করার জন্য কোড আপডেট করা হয়েছে ( crrev.com/c/6734592 , বাগ: 431824299 )। মাইগ্রেশন সম্পন্ন হওয়ার পর
chrome/জুড়ে ফাইল-ব্যাপী#pragma allow_unsafe_buffersপ্রাগমাগুলো সরানো হয়েছে ( crrev.com/c/6778035 , বাগ: 409340989 )।-Wexit-time-destructorsসতর্কতা থেকেchrome/testটার্গেটগুলোকে বাদ দেওয়া হয়েছে যাতে সতর্কতাটি বিশ্বব্যাপী সক্রিয় করা যায় ( crrev.com/c/6736532 , বাগ: 40031409 , বাগ: 430332953 )।//chromeএর অধীনে ত্রুটিপূর্ণLazyInstanceব্যবহারগুলো পরিষ্কার করা হয়েছে ( crrev.com/c/6781377 , বাগ: 432815283 )। - পরিষ্করণ :
--debug-bidi-mapperCLI ফ্ল্যাগটি সরানো হয়েছে, কারণ BiDi Mapper-কে একটি হিডেন টার্গেটে চালানোর রূপান্তরটি সম্পূর্ণ এবং স্থিতিশীল হয়েছে ( crrev.com/c/6672011 , বাগ: 408992812 )। - পরিষ্করণ : অসমর্থিত
WebLayerপ্রজেক্টের ( crrev.com/c/6792520 , Bug: 40272607 ) অবশিষ্ট রেফারেন্সগুলো সরানো হয়েছে। টার্গেট রেফারেন্সগুলো সংক্ষিপ্ত করার জন্য//chrome/testGN ফাইলগুলো স্বয়ংক্রিয়ভাবে ফরম্যাট করা হয়েছে ( crrev.com/c/6789277 , Bug: 40760278 )। - পরীক্ষণ :
PerformActionspointerMoveসমস্যার ( crrev.com/c/6648646 , বাগ: 42322257 ) সমাধানটি যাচাই করার জন্য একটি অ্যাকসেপ্টেন্স টেস্ট যোগ করা হয়েছে। - পরীক্ষা :
testBrowserWithUsedUserDataDirটেস্টের প্যারালাল ড্রাইভার তৈরির অংশটি কমেন্ট আউট করা হয়েছে (এবং একটি ট্র্যাকিং বাগ ফাইল করা হয়েছে) কারণ এটিchrome-headless-shellব্যবহার করার সময় এক্সক্লুসিভ লকিং সম্পর্কিত কারণে macOS-এ ব্যর্থতার কারণ হচ্ছিল ( crrev.com/c/6470455 , Bug: 411407649 , Bug: 380903149 )। - পরীক্ষণ : iOS-এর জন্য
--platform-typeআর্গুমেন্ট সমর্থন করার জন্যrun_cwt_chromedriver.pyর্যাপারটি আপডেট করা হয়েছে ( crrev.com/c/6771517 , বাগ: 427548014 )। - মালিকগণ :
chrome/test/chromedriver/OWNERSফাইল থেকেnvitkovসরানো হয়েছে ( crrev.com/c/6771413 )।
ক্রোমড্রাইভার ১৩৯
বাগ সংশোধন
- প্রারম্ভিক কাঠামো : Selenium WebDriver v4.16.0 আপডেটের ( crrev.com/c/6630600 ) সাথে সামঞ্জস্যপূর্ণ থাকার জন্য ChromeDriver-এর প্রারম্ভিক কাঠামো আপডেট করা হয়েছে।
- আর্গুমেন্ট পার্সিং : একাধিক
--js-flagsআর্গুমেন্টকে একত্রিত করা হয়েছে (যেমনটি--enable-featuresকরা হয়), শুধুমাত্র সর্বশেষটি গ্রহণ করার পরিবর্তে। এটি জটিল V8 ফ্ল্যাগ পাস করার সময় ব্যবহারযোগ্যতা উন্নত করে ( crrev.com/c/6612042 , বাগ: 421941798 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- মেমরি সুরক্ষা (স্প্যানিফিকেশন) :
//chrome/testজুড়ে অপ্রচলিতbase::MakeStringPiece()ব্যবহারকেstd::string_viewদ্বারা প্রতিস্থাপন করা হয়েছে ( crrev.com/c/6628089 , বাগ: 422940464 )। ভবিষ্যতের নেমস্পেস মাইগ্রেশনের প্রস্তুতি হিসেবে, যেখানেbase::as_string_view()ব্যবহৃত হয়েছে, সেখানেbase/strings/string_view_util.hঅন্তর্ভুক্ত করা হয়েছে ( crrev.com/c/6625024 , বাগ: 423048781 )। - C++ স্ট্যান্ডার্ড :
//chromeজুড়ে<vector>( crrev.com/c/6652818 ),base/notimplemented.h(এবং অব্যবহৃত ক্ষেত্রেbase/notreached.hঅপসারণ) ( crrev.com/c/6655452 , বাগ: 41493641 ),base/strings/string_util.h( crrev.com/c/6607646 ),base/strings/string_number_conversions.h( crrev.com/c/6593576 ) স্পষ্টভাবে অন্তর্ভুক্ত করে এবংbase/debug/stack_trace.h( crrev.com/c/6622838 ) এর অপ্রয়োজনীয় অন্তর্ভুক্তি অপসারণের মাধ্যমে Include What You Use (IWYU) সম্মতি উন্নত করা হয়েছে । - পরীক্ষণ :
--driver-loggingঅপশনটিrun_wpt_tests.pyতে পোর্ট করা হয়েছে, যা স্ক্রিপ্টটিকে কম ভার্বোসিটি লেভেলেও ChromeDriver এবং ব্রাউজারstderrডাম্প করার সুযোগ দেয় ( crrev.com/c/6608138 , বাগ: 421262910 )। - পরীক্ষা : পূর্বে নিষ্ক্রিয় করা ChromeDriver ইন্টিগ্রেশন পরীক্ষাগুলো পুনরায় সক্রিয় করা হয়েছে: স্ক্রিনশট পরীক্ষা (
testTakeElementScreenshot*) ( crrev.com/c/6598797 , বাগ: 42321815 ), জাভাস্ক্রিপ্টের মাধ্যমে উইন্ডো বন্ধ করার পরীক্ষা (testCloseWindowUsingJavascript*) ( crrev.com/c/6598978 , বাগ: 42321150 ), এবংheadless-shellউইন্ডোর আকারের পরীক্ষা ( crrev.com/c/6621336 , বাগ: 42323661 )। - টেস্টিং : APK পার্স করে Clank (Android)-এর বর্তমান স্থিতিশীল সংস্করণটি সঠিকভাবে শনাক্ত ও ব্যবহার করার জন্য
run_wpt_tests.py --stableসংশোধন করা হয়েছে, এবং চেকআউটকে দূষিত না করে Chrome for Testing (CfT) থেকে সংশ্লিষ্ট ChromeDriver সংস্করণটি একটি অস্থায়ী ডিরেক্টরিতে ডাউনলোড করার জন্য স্ক্রিপ্টটি আপডেট করা হয়েছে ( crrev.com/c/6635694 , বাগ: 402548382 )। - বিল্ড পরিকাঠামো :
android_resources()টার্গেটগুলোকে ম্যানিফেস্ট ধারণের অনুমতি না দিয়েwrite_build_config.pyএর উপর একটি অপ্রয়োজনীয় বিল্ড নির্ভরতা দূর করা হয়েছে, কারণ ম্যানিফেস্ট মার্জিং এবং R.java প্যাকেজের নামকরণ এখন বিশেষায়িত অ্যাট্রিবিউটের মাধ্যমে পরিচালিত হয় ( crrev.com/c/6625266 , বাগ: 413331591 )। - FedCM : FedCM সম্পর্কিত একটি Finch কনফিগ ফিচার ফ্ল্যাগ সংশোধন করা হয়েছে ( crrev.com/c/6614137 , বাগ: 421959289 )।
ক্রোমড্রাইভার ১৩৮
নতুন বৈশিষ্ট্য
- ডিসপ্লে ফিচার ম্যানেজমেন্ট : সাম্প্রতিক একটি CSS ওয়ার্কিং গ্রুপ রেজোলিউশনের সাথে সামঞ্জস্য রেখে ভিউপোর্ট সেগমেন্টের জন্য ChromeDriver-এর আচরণ আপডেট করা হয়েছে: এখন এটি একটি ফোল্ডেবল ডিভাইস ফ্ল্যাট অবস্থায় ব্যবহার করা হলে, অথবা সমস্ত নন-ফোল্ডেবল ডিভাইসের ক্ষেত্রে, ধারাবাহিকভাবে একটি একক সেগমেন্ট সহ একটি অ্যারে রিটার্ন করে। এটি মিডিয়া কোয়েরির আচরণের সাথে মেলে এবং ফিঙ্গারপ্রিন্টিং-এর ঝুঁকি হ্রাস করে ( crrev.com/c/6469455 , বাগ: 414430842 )।
- প্রেফারেন্স ও লোকাল স্টেট (অ্যান্ড্রয়েড) : অ্যান্ড্রয়েড ডিভাইসে ChromeDriver চালানোর সময়
localStateএবংprefsক্যাপাবিলিটির জন্য সাপোর্ট যোগ করা হয়েছে। এটি ADB-এর উপর নির্ভরশীল এবং এর জন্য একটি কাস্টমuser-data-dirফ্ল্যাগ প্রয়োজন; বর্তমানে, এটি ডিফল্ট টেমপ্লেট দিয়ে স্টেট ইনিশিয়ালাইজ করে ( crrev.com/c/6397155 , বাগ: 406427226 )।
বাগ সংশোধন
- স্থিতিশীলতা : ব্যবহারকারী যখন "continue" বোতামের মাধ্যমে ফার্স্ট রান এক্সপেরিয়েন্স (FRE) ডায়ালগটি বন্ধ করতেন, তখন macOS-এ ঘটা একটি ChromeDriver ক্র্যাশের সমস্যা সমাধান করা হয়েছে। এই ক্র্যাশটি একটি
kTargetDetachedএরর স্টেটকে ওভাররাইড করে একটি অবৈধWebViewঅ্যাক্সেস করার চেষ্টার ফলে ঘটত ( crrev.com/c/6538867 , বাগ: 410599467 )। - পারফরম্যান্স টেস্টিং : উইন্ডোজ পিনপয়েন্ট বটগুলিতে
crossbenchটেস্ট রানারের ত্রুটিটি সংশোধন করা হয়েছে, যেটি--browser=release_x64পাস করা হলে একটি অপ্রচলিত../Release_x64পাথ ব্যবহার করে ভুলভাবে ChromeDriver বাইনারিটি সনাক্ত করার চেষ্টা করত, যার ফলে এটি লোকাল বিল্ড ব্যবহার না করে একটি পুরোনো বাইনারি ডাউনলোড করে ফেলত ( crrev.com/c/6502134 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- মেমরি সুরক্ষা (স্প্যানিফিকেশন) :
WebSocket::OnReadDuringHandshakeএবংWebSocket::OnReadDuringOpenআনচেকড পয়েন্টারগুলিকেbase::spanদিয়ে প্রতিস্থাপন করা হয়েছে, যাunsafe-buffer-usageসতর্কবার্তাগুলির সমাধান করে ( crrev.com/c/6557346 , বাগ: 354307328 )।chrome/test/chromedriverজুড়ে অপ্রয়োজনীয়#pragma allow_unsafe_buffersপ্রাগমাগুলি সরানো হয়েছে যা অন্যান্য মাইগ্রেশনের পরে আর প্রয়োজন ছিল না ( crrev.com/c/6503154 , বাগ: 414858406 )। - C++ স্ট্যান্ডার্ড :
chrome/হেডার ফাইলগুলো থেকে অপ্রয়োজনীয়#include "url/gurl.h"এবং#include <queue>ডিরেক্টিভগুলো সরানো হয়েছে এবং কম্পাইল টাইম উন্নত করার জন্য যেখানে প্রয়োজন সেখানে ফরওয়ার্ড ডিক্লারেশন যোগ করা হয়েছে ( crrev.com/c/6578272 , crrev.com/c/6570349 , Bug: 40318405 )। - এপিআই মাইগ্রেশন :
RSAPrivateKeyকেcrypto::PrivateKeyএবংSHA256HashStringকেcrypto::Sha256তে মাইগ্রেট করা হয়েছে, একটি অপ্রচলিত এরর হ্যান্ডলিং কেস পরিমার্জন করা হয়েছে কারণ নতুন কী জেনারেশন এপিআইগুলো নির্ভুল ( crrev.com/c/6490294 , বাগ: 372283556 )। - পরীক্ষণ : Compute Pressure API অটোমেশন কমান্ডগুলিতে (CDP এবং টেস্টড্রাইভার উভয় বাস্তবায়নে)
OwnContributionEstimateঅ্যাট্রিবিউটটি যোগ করা হয়েছে ( crrev.com/c/6373001 , বাগ: 402033762 )। - টেস্টিং : কন্টিনিউয়াস ইন্টিগ্রেশন (CFT) বটগুলিতে
ClearDisplayFeaturesযাচাইকারী ইন্টিগ্রেশন টেস্টগুলি ঠিক করা হয়েছে। এর জন্য অ্যাসারশনগুলিকে সরল করা হয়েছে যাতে ভিউপোর্ট সেগমেন্টগুলি ডিফল্ট ভিউপোর্ট আকারে ফিরে আসে তা পরীক্ষা করা যায় ( crrev.com/c/6535067 , বাগ: 417195296 )। - পরীক্ষণ : ধীরগতির CI বটগুলিতে অস্থিরতা নিরসনের জন্য Protected Audience WebDriver টেস্টের টাইমআউট বাড়ানো হয়েছে ( crrev.com/c/6494277 )।
ক্রোমড্রাইভার ১৩৭
নতুন বৈশিষ্ট্য
- ডিসপ্লে ফিচার ম্যানেজমেন্ট : ডিসপ্লে ফিচার অনুকরণ এবং পরিষ্কার করার জন্য ChromeDriver কমান্ড যোগ করা হয়েছে, যা ভিউপোর্ট সেগমেন্টস এপিআই (CSS এবং JS)-এর অটোমেশন প্রয়োজনীয়তা বাস্তবায়ন করে। এটি ডেভেলপারদের ডুয়াল-স্ক্রিন বা ফোল্ডেবল ডিভাইসে প্রোগ্রাম্যাটিকভাবে ফোল্ড বা হিঞ্জ সিনারিও পরীক্ষা করার সুযোগ দেয় ( crrev.com/c/6368674 , বাগ: 40137084 )।
- BiDi : ডিফল্টরূপে BiDi ম্যাপারকে একটি হিডেন টার্গেটে চালানোর জন্য ChromeDriver আপডেট করা হয়েছে। এটি ম্যাপারের `
data:,পেজকে টেস্ট এক্সিকিউশন এবং ভিজিবিলিটিতে হস্তক্ষেপ করা থেকে বিরত রাখে। ম্যাপার ডিবাগ করার জন্য, ক্লায়েন্টরা এটিকে একটি ভিজিবল ট্যাবে চালানোর জন্য--debug-bidi-mapperফ্ল্যাগটি পাস করতে পারে ( crrev.com/c/6441064 , `crrev.com/c /6439633` রিভার্টের পর ` crrev.com/c /6433672` রিল্যান্ডিং, বাগ: `402339952` )।
বাগ সংশোধন
- BiDi : অন্যান্য CDP বা BiDi সেশন দ্বারা তৈরি টার্গেটগুলির ট্র্যাক হারিয়ে ফেললে, BiDi কমান্ড (যেমন
browsingContext.close) প্রসেস করার সময় ChromeDriver যাতে ভুলবশত পুরো ব্রাউজার সেশনটি বন্ধ করে না দিত, তা প্রতিরোধ করা হয়েছে। এটি এখন ব্রাউজার বন্ধ করার সিদ্ধান্ত নেওয়ার আগে টপ-লেভেল ট্যাবগুলিকে স্পষ্টভাবে সিঙ্ক করে ( crrev.com/c/6440293 , বাগ: 42323838 )। - BiDi : আপস্ট্রিম WebDriver BiDi স্পেসিফিকেশনের সাথে সামঞ্জস্য রেখে এটি নিশ্চিত করা হয়েছে যে, যদি `
goog:channelক্যাপাবিলিটি একটি খালি স্ট্রিং হিসাবে পাস করা হয়, তাহলে ChromeDriver তা সরিয়ে দেবে এবং এটিকে একটি অনুপস্থিত চ্যানেলের মতোই বিবেচনা করবে ( crrev.com/c/6438865 , বাগ: 409282307 )। - ইনপুট : ChromeDriver-কে আপডেট করার মাধ্যমে পয়েন্টার মুভ কমান্ডে ভগ্নাংশীয় (ফ্লোটিং-পয়েন্ট) x এবং y স্থানাঙ্ক সমর্থন করার ফলে টাচ এবং পয়েন্টার ইভেন্টগুলো ব্যর্থ হওয়া বা ভুলভাবে কাজ করার সমস্যাটি সমাধান করা হয়েছে ( crrev.com/c/6440834 , বাগ: 409684333 )।
- টার্গেট নির্বাচন : গেস্ট ভিউতে খোলা পিডিএফ আউট-অফ-প্রসেস আইফ্রেম (OOPIF)-কে (যখন
PdfOopifফিচারটি নিষ্ক্রিয় থাকে) টপ-লেভেল টার্গেট তালিকায় প্রবেশ করা থেকে বিরত রাখা হয়েছে। এইchrome-extension://প্রিফিক্সযুক্ত টার্গেটগুলোকে সঠিকভাবে বাদ দেওয়ার জন্য ফিল্টারিং লজিকটি সম্প্রসারিত করা হয়েছে ( crrev.com/c/6383500 , বাগ: 396611138 )।
অভ্যন্তরীণ পরিবর্তন এবং পুনর্গঠন
- C++ স্ট্যান্ডার্ড :
LogMessageএবং ট্রেস ইভেন্টগুলিতে ফাইলের নামের জন্যstd::string_viewব্যবহার করার পরিবর্তনটি পুনরায় ল্যান্ড করা হয়েছে, যা নাল-টার্মিনেটেড স্ট্রিং হ্যান্ডলিং সংক্রান্ত সমস্যাগুলির সমাধান করে, যেগুলোর কারণে পূর্ববর্তী রিভার্টগুলি ( crrev.com/c/6430129 , crrev.com/c/6395097 পুনরায় ল্যান্ড করা, crrev.com/c/6383699 রিভার্টের পরে crrev.com/c/6387020 পুনরায় ল্যান্ড করা) হয়েছিল। - C++ স্ট্যান্ডার্ড : আউট-প্যারামিটারের পরিবর্তে
std::optionalরিটার্নিং API ব্যবহার করার জন্য//chromeজুড়েEnvironment::GetVarকলগুলোকে আধুনিকীকরণ করা হয়েছে ( crrev.com/c/6417343 , বাগ: 400758498 )। - C++ স্ট্যান্ডার্ড : চক্রাকার নির্ভরতা সমস্যা এড়ানোর জন্য
win_util.hথেকে উইন্ডোজ-নির্দিষ্ট হ্যান্ডেল হেল্পারগুলোকে রিফ্যাক্টর করে একটি ডেডিকেটেডwindows_handle_util.hহেডার ফাইলে স্থানান্তর করা হয়েছে ( crrev.com/c/6418805 , বাগ: 406023316 )। - পরীক্ষণ : একটি অ্যান্ড্রয়েড-নির্দিষ্ট
Browserডোমেইন হ্যান্ডলার যোগ করা হয়েছে এবং অ্যান্ড্রয়েড উইন্ডো তৈরির পরীক্ষা সমর্থন করার জন্যBrowser.getWindowForTargetAPI প্রয়োগ করা হয়েছে ( crrev.com/c/6427605 , বাগ: 404932444 )। - টেস্টিং : এক্সটেনশনগুলো ইনিশিয়ালাইজ হতে বেশি সময় নেওয়ার কারণে macOS টেস্টে যে অস্থিরতা দেখা দিচ্ছিল, তা ঠিক করা হয়েছে ( crrev.com/c/6423229 , বাগ: 407804497 )।
- পরীক্ষা :
chrome-headless-shellসাথে চালানোর সময়testBrowserWithUsedUserDataDirএ সমান্তরালভাবেuser-data-dirতৈরি করা সাময়িকভাবে নিষ্ক্রিয় করা হয়েছে, কারণ এটি macOS-এর এক্সক্লুসিভ লকিং-এর সাথে সাংঘর্ষিক ছিল ( crrev.com/c/6470455 , Bug: 411407649 , Bug: 380903149 )। - এক্সটেনশন :
ExtensionManifestV2Unsupportedফিল্ডের ট্রায়াল সক্রিয় করা হলে Chrome টেস্টগুলো পাস করার জন্য আপডেট করা হয়েছে। এটি একটি ভিত্তিগত পদক্ষেপ, যদিও অন্যান্য রিপোজিটরিতে আপডেট না হওয়া পর্যন্ত ট্রায়ালটি নিষ্ক্রিয়ই থাকছে ( crrev.com/c/6415997 , বাগ: 367395349 )। (দ্রষ্টব্য: কনফিগের মাধ্যমে এই ট্রায়ালটি সক্রিয় করার একটি পূর্ববর্তী প্রচেষ্টা crrev.com/c/6397497 দ্বারা বাতিল করা হয়েছে, যা crrev.com/c/6358257-কে বাতিল করে)। - নির্ভরতা : ম্যানুয়ালি
catapultনির্ভরতা রোল আউট করা হয়েছে এবং সংশ্লিষ্টpydepsফাইল ওdevil_utilরেফারেন্স আপডেট করা হয়েছে ( crrev.com/c/6480814 , crrev.com/c/6466865 , crrev.com/c/6448910 রিভার্টের পর crrev.com/c/6406098 রিল্যান্ডিং , বাগ: 397459590 )।
ক্রোমড্রাইভার ১৩৬
নতুন বৈশিষ্ট্য
- ব্রাউজার লাইফসাইকেল : ক্রোম-এর জন্য একটি নির্দিষ্ট ক্যাপাবিলিটি
quitGracefullyযোগ করা হয়েছে, যা ChromeDriver-কে ডিফল্টSIGKILLপরিবর্তে ব্রাউজারটিকে স্বাভাবিকভাবে (Browser.closeবা SIGTERM ব্যবহার করে) বন্ধ করার চেষ্টা করতে বাধ্য করে। এর ফলে প্রসেসটি টার্মিনেট হওয়ার আগেrrমতো ডিবাগারগুলো তাদের রেকর্ডিং ডাম্প করার জন্য সময় পায় ( crrev.com/c/6322538 , একটি সংক্ষিপ্ত রিভার্টের পর crrev.com/c/6269180-এর রিল্যান্ডিং , বাগ: 339644807 )। - পরীক্ষা :
run_wpt_tests.py --wrapperআর্গুমেন্টটিকে একটি অস্থায়ী র্যাপার স্ক্রিপ্ট তৈরি করে সংযুক্ত করা হয়েছে, যা ব্রাউজার বাইনারির শুরুতে ডিবাগার (যেমন,rr) এবং এর আর্গুমেন্টগুলো যুক্ত করে। এটি ChromeDriver-এর সেই অক্ষমতার সমাধান করে, যেখানেargsসুইচ হিসেবে প্রসেস করা হলে এটি সরাসরি বাইনারি প্রতিস্থাপন করতে পারে না ( crrev.com/c/6271108 , বাগ: 339644807 )। - Testing : Enabled translation by pref in
TranslateEnabledTestto support a testing environment where ChromeDriver manages the browser process and bypasses the new--remote-debugging-portrestriction when--user-data-diris implicit ( crrev.com/c/6354089 , Bug: 327797500 ). - DevTools : Added support for the DevTools multi-instance feature to open a new tab in another window on Android ( crrev.com/c/6352169 , Bug: 401269942 , Bug: 382183406 ).
বাগ সংশোধন
- Target selection : Fixed an issue where PDF out-of-process iframes (OOPIFs) opened in guest views were not being filtered out from the top-level targets list when the
PdfOopiffeature was disabled. The filter was expanded to include thechrome-extensionprefix, which resolves the bug and includes coverage for MV3 Chrome extensions creating tabs ( crrev.com/c/6383500 , Bug: 396611138 ). - Target selection : Fixed a regression that caused the
getWindowHandles()command to fail with aconnection refusedstatus when targeting packaged Chrome Apps ( crrev.com/c/6317161 , Bug: 396622746 ).
Internal changes and refactors
- C++ standards : Relanded the change that uses
std::string_viewfor file names inLogMessageand trace events, improving compatibility with Rust logging structures that don't guarantee null-terminated strings ( crrev.com/c/6387020 , relanding crrev.com/c/5765705 after revert crrev.com/c/6383699 and another revert crrev.com/c/6395097 ). - C++ standards : Replaced redundant
base::Value::Clone()calls to optimize performance ( crrev.com/c/6361818 ). Suppressed additional-Wunsafe-buffers-in-libc-callswarnings in Windows-specific files to clean up the build output ( crrev.com/c/6369920 , Bug: 390223051 ). - Extensions : Reverted the addition of the
fieldtrial_testing_config.jsonentry for theExtensionManifestV2Unsupportedphase due to an issue ( crrev.com/c/6397497 , reverting crrev.com/c/6358257 , Bug: 367395349 , Bug: 406523920 ). - Documentation : Improved Android-specific ChromeDriver testing documentation ( crrev.com/c/6354040 ).
ChromeDriver 135
নতুন বৈশিষ্ট্য
- BiDi : Updated the BiDi Mapper to inherit ChromeDriver permissions when
--enable-unsafe-extension-debuggingis specified. This enables WebDriver BiDi clients to effectively test extensions that require permissions typically held by the WebDriver client ( crrev.com/c/6288627 , Bug: 393500934 ).
বাগ সংশোধন
- Testing : Re-enabled and updated expectations for several WDSpec tests that were previously marked as failing. This restores spec conformance coverage for passing tests ( crrev.com/c/6310420 ).
Internal changes and refactors
- Cleanup : Removed all traces of Lacros (including
IS_CHROMEOS_LACROSand related test data) fromchrome/test/since Lacros is being deprecated, standardizing onIS_CHROMEOS( crrev.com/c/6284446 , Bug: 354842935 ). - Cleanup : Removed all traces of the
md5sumutility following its replacement withdevil_util, cleaning up legacy build dependencies ( crrev.com/c/6309939 , Bug: 397452007 ). - C++ standards : Removed the
chrome::namespace fromResultCodeandIsNormalResultCode(), moving them to the global namespace, and removed obsolete ChromeOS startup imports ( crrev.com/c/6196899 , Bug: 41050580 ). - Memory safety : Simplified a
std::lower_boundcall in ChromeDriver by leveragingstd::ranges::lower_bound( crrev.com/c/6223172 , Bug: 392116519 ). Suppressedunsafe_libc_callwarnings for initially identified non-compliant files in preparation for future enforcement ( crrev.com/c/6187925 , Bug: 390223051 ). Marked the return value ofstd::to_arrayasconstexprto improve safety and compile-time evaluation ( crrev.com/c/6298909 ).
ক্রোমড্রাইভার ১৩৪
নতুন বৈশিষ্ট্য
- Bounce Tracking Mitigations (DIPS) : Relanded ChromeDriver support for Bounce Tracking Mitigations, utilizing the
RunBounceTrackingMitigationscommand. The integration test was restructured to use distinct pages, ensuring stateful bounces are correctly recorded before the command executes. This feature supports thenav-tracking-mitigationsspecification and is implemented in//chrome( crrev.com/c/4935955 , Bug: 1474656 ). (Note: Originally added in crrev.com/c/4873672 and later reverted). - BiDi : Updated ChromeDriver to use standard WebDriver BiDi extension properties with the
goog:prefix, aligning with upstreamchromium-bidichanges. The legacychannelproperty is no longer allowed ( crrev.com/c/6179410 ). - Windows : Added a version resource to the
chromedriver.exebinary on Windows ( crrev.com/c/6114586 , Bug: 385300323 ).
বাগ সংশোধন
- MPArch/Targets : Fixed a regression where Chrome Extension targets (
chrome-extension://) were being incorrectly discovered and attached to during primary target determination on ChromeOS, which caused subsequent commands (like navigation) to fail. Extension targets are now properly skipped during this initial phase ( crrev.com/c/6183202 , Bug: 385241097 ). - MPArch/Targets : Fixed another regression where tab targets for Extension
background_pages were not being properly filtered out from top-level web views when extension target support was disabled ( crrev.com/c/6160774 , Bug: 385731198 ). - MPArch/Navigation : Fixed an issue where a tab could momentarily have no active page attached during an MPArch activation, causing ChromeDriver to incorrectly see it as an error state. ChromeDriver now waits for the tab to acquire a new page and complete its navigation before resolving the state ( crrev.com/c/6177606 ).
- Log Processing : Fixed a crash (
DCHECKfailure inbase::Value()) caused by improper truncation of log strings containing multibyte characters. The logic was updated to useUnicodeStringboundary detection instead of simplestd::stringlength checks, ensuring valid code points ( crrev.com/c/6210809 , Bug: 367752739 ). - Testing : Migrated most prerendering-related WPTs (except for a few with known API issues) from
content_shelltoheadless_shell, as the recent MPArch refactor allows ChromeDriver to run them correctly ( crrev.com/c/6168830 , Bug: 42323502 , Bug: 366257368 ).
Internal changes and refactors
- C++ standards : Replaced usages of
base::rangeswith standardstd::ranges( crrev.com/c/6200893 , crrev.com/c/6177197 , Bug: 386918226 ). Rewroteb ? "true" : "false"patterns to usebase::ToString(bool)where possible ( crrev.com/c/6165810 , Bug: 335797528 ). Removed the unsafeStringPrintfNonConstexpr()function and replaced it with safer string formatting alternatives ( crrev.com/c/6149756 ). Replaced pointer arithmetic (+ std::size) with standardbegin/enditerators to resolve unsafe buffer warnings ( crrev.com/c/6217045 , Bug: 392116519 ). - Cleanup : Removed the
FedCmIdpSigninStatusfeature flag and its runtime flag ( crrev.com/c/6111321 , Bug: 381211734 ). (Note: A previous removal attempt was reverted crrev.com/c/6082405 due to breakages).
ক্রোমড্রাইভার ১৩৩
নতুন বৈশিষ্ট্য
- Architecture : Refactored ChromeDriver to support Multiple Page Architecture (MPArch) and tab targets.
WebViewImplnow connects to tab targets viaAutoAttach. Commands that previously held a page now look for the active page under a tab. This change enables introspecting Extension background pages, which can now be targeted via theenable_extension_targetscapability (by default, extension targets are skipped) ( crrev.com/c/5961156 , Bug: 379767670 , Bug: 42323502 ). Fixed a regression wherechrome-extension://URL pages were incorrectly included as extension targets; selection is reverted to justtype=background_page( crrev.com/c/6093588 , Bug: 383141569 ). MovedenableExtensionTargetsto Chrome Options instead of a top-level capability ( crrev.com/c/6093032 ). - Classic : Re-established support for multi-key element references. This undocumented feature, often used to create references compatible with both W3C and non-W3C modes, is now officially supported and covered by integration tests ( crrev.com/c/6063257 , Bug: 379584343 ).
বাগ সংশোধন
- Stability : Prevented ChromeDriver from blocking indefinitely when handling the
browsingContext.closecommand. By using a different mechanism to determine if the browser needs to be closed, ChromeDriver can now properly handlebeforeunloadprompts without stalling ( crrev.com/c/6080431 , Bug: 42323838 , Bug: 379049702 ). - Navigation : Fixed a bug where a dummy page with the URL
about:blank?testwould cause a stall. The heuristic meant to identify an unresponsive new window (baseURL==about:blankanddocumentURL!=about:blank) now correctly handles these query-string URLs as a special case ( crrev.com/c/6038039 , Bug: 377410086 ). - Navigation : Added logic to retry commands that fail with an
AbortedByNavigationerror. ChromeDriver will now attempt the command several times before giving up with a standardTimeouterror ( crrev.com/c/6012427 , Bug: 42323825 ). - Diagnostics : Forwarded the
kTargetCrashederror directly throughNavigationTracker. If a target crashes during navigation detection, this specific error is now surfaced to the user rather than a generic timeout, improving diagnostics ( crrev.com/c/6032612 , Bug: 377410086 ). - Android : Fixed tab target lookups in
chrome_android_impl.cc( crrev.com/c/6110492 , Bug: 384781876 ). - Testing : Fixed flakiness in several window-sizing tests on
win11-arm64(eg, clicking on obscured elements). The tests now query the inner window size repeatedly after a resize operation until it correctly registers a positive height, accounting for slow window repaints ( crrev.com/c/6012658 , Bug: 378470046 ). - Testing : Fixed multiple flakes in integration tests by mapping generic Python connection errors to
WebSocketConnectionClosedException, simplifying error handling ( crrev.com/c/6054134 ), avoiding race conditions by usingSendCommandinstead ofPostCommandwhere immediate side effects are expected ( crrev.com/c/6054137 ), and replacing reliance on immediate effects ofExecuteScriptwith more reliable navigation detection mechanisms ( crrev.com/c/6063040 , Bug: 42323825 ). - Testing : Reverted the removal of the
FedCmIdpSigninStatusfeature flag, as its removal caused breakages ( crrev.com/c/6082405 , reverting crrev.com/c/6078693 , Bug: 384866916 , Bug: 381211734 ). - Tools : Added support for the
Printcommand in thelog_replayscript ( crrev.com/c/6010809 , Bug: 378451938 ).
Internal changes and refactors
- C++ standards : Removed
Mojo.InvalidUTF8Stringhistogram, allowing for the cleanup of public mojo headers and subsequent IWYU cascades ( crrev.com/c/6133861 , Bug: 40509710 , Bug: 386793084 ). - C++ standards : Avoided allocations in
WaitableEvent::Wait()by switching fromstd::listtobase::circular_deque( crrev.com/c/6097198 ). - C++ standards : Defaulted user-defined empty constructors and destructors across the
chrome/codebase where possible ( crrev.com/c/6101911 , crrev.com/c/6056220 , Bug: 381119547 ). - Memory safety (spanification) : Migrated C-style arrays to
std::arrayacrosschrome/as part of the broader effort to address-Wunsafe-buffer-usagewarnings ( crrev.com/c/6043879 , Bug: 378069401 ). Plumbed strictsize_tusage in span functions ( crrev.com/c/6026238 , crrev.com/c/6020621 ). - Testing : Upstreamed fullscreen
{ref,crash}testsback towpt_internal/astestdrivernow supports them ( crrev.com/c/6088404 ). - Testing : Fixed
wptrunnerfor iOS to correctly locate the ChromeDriver wrapper when using non-default output directories (eg,//out/*-ios-wpt-fyi-rel/) by plumbing--build-directorycorrectly ( crrev.com/c/6014940 , Bug: 374199289 , Bug: 355218109 ). - Testing : Added the
testBrowserCrashWhileWaitingForEventsintegration test to demonstrate regression cases where fatal errors go unnoticed by clients ( crrev.com/c/6025145 , Bug: 379049702 ). - Testing : Suppressed specific WPTs that crash when run under
headless_shellcombined with ChromeDriver to stabilize builders ( crrev.com/c/6032163 , Bug: 377410086 ).
ক্রোমড্রাইভার ১৩২
নতুন বৈশিষ্ট্য
- Testing : Added support for the
repeatandretry-limitcommand-line parameters to ChromeDriver integration tests, mapping them to the standardisolated-script-test-repeatandisolated-script-test-launcher-retry-limitarguments ( crrev.com/c/5938195 , Bug: 374681919 ). For tests executed locally (non-CI), the defaultretry-limithas been changed to 0 ( crrev.com/c/5953326 , Bug: 374681919 ). - WebSockets : Implemented
WebSocketConnectionand related classes inEmbeddedTestServer, allowing WebSocket-related tests to migrate away fromSpawnedTestServer. This includes framing according to the protocol and simplified handler registration ( crrev.com/c/5849732 , Bug: 40812029 ).
বাগ সংশোধন
- Stability : Fixed a ChromeDriver crash that could occur if a click command caused the browser to close, by properly handling the
kTargetDetachederror state introduced in earlier refactors ( crrev.com/c/5934524 , Bug: 42323264 ). - Stability : Fixed an intermittent crash in the
testClickNavigateRemoteToLocalintegration test on Mac ARM64 by resolving a race condition ( crrev.com/c/5975526 , Bug: 375971185 ). - Navigation : Fixed the
GoBackandGoForwardcommands, which previously failed ifPage.getNavigationHistorywas called while the document was transitioning away from an active state (indicating an ongoing navigation). ChromeDriver now correctly retries the command in this scenario ( crrev.com/c/6011739 , Bug: 378433873 ). - Script execution : Ensured that scripts which trigger a navigation or close a window correctly return a standard
ScriptTimeouterror if the browser side doesn't guarantee a result, prompting the user to avoid ambiguous test structures ( crrev.com/c/5934265 , Bug: 372883701 ). - Script execution : Fixed an issue where the log replay functionality failed with an "unexpected command response" error ( crrev.com/c/5961142 , Bug: 42323342 ).
- Error codes : Corrected ChromeDriver's error handling to no longer forcefully wrap all exceptions with a "code" property into a generic "javascript error". This ensures standard errors like "stale element reference" (from
call_function.js) and "invalid element state" (from the Selenium AtomsCLEARfunction) are accurately propagated to the user ( crrev.com/c/5937893 , Bug: 42323409 ). Improved error handling inGetElementTagNameto correctly interpret missing tag name information as "object is not an Element" ( crrev.com/c/5929087 ). - BiDi : Fixed an issue where BiDi sessions failed to initialize when a custom user profile was used. The custom profile's loaded page could prevent the BiDiMapper from starting; ChromeDriver now ensures the first tab always loads
data:,to provide a clean slate for the mapper ( crrev.com/c/5960656 , Bug: 366886096 ). - Incognito mode : Fixed a bug preventing ChromeDriver from creating new tabs while operating in Incognito mode ( crrev.com/c/5952980 , Bug: 42323352 ).
- Testing : Fixed flakiness in the
testScriptNavigateRemoteToLocalintegration test (which was failing at an 8.33% rate) and added C++ integration tests to reproduce and verify the fix for the race condition ( crrev.com/c/6010867 , Bug: 378387680 ). - Testing : Re-enabled numerous previously flaky integration tests on Mac (
testWindowMinimize) and Windows (ChromeDownloadDirTest.testFileDownloadAfterTab,InvalidCertificateTest.*), and globally (testShadowDomFindElement, element screenshot tests). Temporarily moved flakycss/css-scrollbars/WPT tests back to content shell from headless shell ( 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 ).
Internal changes and refactors
- BiDi : Bumped the
chromium-bidimapper dependency to incorporate the latest upstream fixes and protocol updates ( crrev.com/c/5953339 , crrev.com/c/5865478 , Bug: 4226 ). (Note: A mapper bump was briefly reverted due to WPT failures and subsequently relanded ( crrev.com/c/5961113 )). - Architecture : Minimized the usage of the thread-local session object across ChromeDriver to prevent state-sharing bugs between tests and simplify explicit session handling ( crrev.com/c/5978486 , Bug: 42323555 ). Refactored C++ integration tests to use a shared test fixture ( crrev.com/c/5971474 , Bug: 42323555 ).
- Cleanup : Removed deprecated workarounds specific to the "old headless" mode, as the legacy
chrome-headless-shellcode is no longer present in Chrome ( crrev.com/c/5961602 , Bug: 42323387 ). - Cleanup : Removed the unused
java_tests.txtfile, a remnant of the previously evicted ChromeDriver acceptance tests ( crrev.com/c/5970994 , Bug: 357737793 ). - Testing : Added a C++ integration test to verify that ChromeDriver doesn't erroneously create parallel sessions with the same
user-data-diror bleed URLs between sessions, which could cause flakiness ( crrev.com/c/5961137 , Bug: 375312517 ). - Testing : Ensured that temporary ChromeDriver instances spun up by integration tests are shut down as quickly as possible to free resources ( crrev.com/c/5997970 , Bug: 375974725 ).
ChromeDriver 131
নতুন বৈশিষ্ট্য
- BiDi : Bumped the
chromium-bidimapper dependency to v0.8.0, incorporating the latest protocol updates and bug fixes ( crrev.com/c/5899240 , crrev.com/c/5865478 , Bug: 4226 ). - DOM access : Added support for closed shadow roots in the
GetElementShadowRootcommand. Previously, this command returned aNoSuchShadowRooterror when attempting to access a closed shadow root ( crrev.com/c/5923865 , Bug: 372834222 ). - DOM access : Implemented support for window and frame identifiers, allowing references to windows or frames (including OOP Iframes) to be returned from executed scripts for further dereferencing ( crrev.com/c/5890437 , crrev.com/c/5923555 , Bug: 366272556 , Bug: 40229283 ).
- WebAuthn : Expanded the WebAuthn automation API to include
userNameanduserDisplayNameproperties ( crrev.com/c/5905423 , Bug: 367915823 ).
বাগ সংশোধন
- Input : Fixed a race condition with mouse clicks on remote frames by routing mouse events to the highest same-origin ancestor of the target frame, rather than simply sending them to the top-most frame ( crrev.com/c/5836968 , Bug: 42323535 ).
- Input : Corrected the timestamp format sent with the
Input.dispatchTouchEventcommand from milliseconds to seconds, fixing crashes in WPT pointer events testing ( crrev.com/c/5924253 , Bug: 360918166 ). - Testing : Re-enabled numerous ChromeDriver tests on Mac ( crrev.com/c/5923569 , crrev.com/c/5922823 , crrev.com/c/5921444 , crrev.com/c/5920851 , crrev.com/c/5921442 ) and Windows ( crrev.com/c/5923955 ) as their associated flakiness failures are no longer reproducible.
Internal changes and refactors
- Memory safety (spanification) : Replaced unsafe pointer usage with
base::spaninnet::HttpUtil( crrev.com/c/5854420 ), and migratedbase::File::WriteAtCurrentPos()to its span-based equivalent ( crrev.com/c/5818972 ). Rewrote map pointer values (eg, instd::map,std::unordered_map) toraw_ptr( crrev.com/c/5867189 , Bug: 329428315 ). - C++ standards : Replaced Abseil attribute macros (
ABSL_ATTRIBUTE_*) with standardbase/macros ( crrev.com/c/5852373 ). Avoided unintended copies by replacing pass-by-value strings/vectors withstd::string_viewor const references where appropriate, and removed strayconstqualifiers fromstd::string_viewarguments ( crrev.com/c/5914620 , crrev.com/c/5906184 , Bug: 369952985 ). - Infrastructure : Configured Fuchsia to use ChromeDriver to control
web-engine( crrev.com/c/5867896 , Bug: 40935291 ). - Testing : Migrated a fenced frames WebAuthn test from the legacy content shell runner to headless Chrome with ChromeDriver, as the legacy runner will soon drop support for the WebAuthn testdriver API ( crrev.com/c/5920770 , Bug: 372169469 ).
ChromeDriver 130
নতুন বৈশিষ্ট্য
- BiDi : Bumped the BiDi Mapper dependency, fetching the latest protocol updates and bug fixes from upstream
chromium-bidi( crrev.com/c/5850570 , relanding crrev.com/c/5837065 after revert crrev.com/c/5840080 ; crrev.com/c/5717956 , Bug: 4226 ). - BiDi : Updated ChromeDriver to supply
unhandledPromptBehaviordirectly to the Mapper via thesession.newcommand when initializing a BiDi session. This completes the migration away fromMapperOptions( crrev.com/c/5682934 , crrev.com/c/5766077 , Bug: 42323841 , Bug: 356371297 ). - Testing : Added support for the
--chromedriverargument to thebisect-builds.pyscript for desktop builds, allowing the script to automatically download and use the correct version of ChromeDriver during bisections for WebDriver/ChromeDriver dependent tests ( crrev.com/c/5861048 , Bug: 352344089 ).
Internal changes and refactors
- C++ standards : Resolved "rule-of-five" issues in various classes. Because the Chrome style plugin insists on out-of-line destructors without also enforcing out-of-line move constructors, the compiler was implicitly deleting move operators and silently falling back to copies. These missing declarations have been added ( crrev.com/c/5846757 , Bug: 364788123 ).
- Testing : Cleaned up the
wptrunnertest results summary by replacing the hardcodedchromestring with the actual product used and hiding the verbosecommandartifact from the summary output ( crrev.com/c/5825633 , Bug: 41494889 ). - Testing : Fixed massive test failures in ChromeDriver integration tests on macOS 15 (Mac15) by doubling specific timeouts, as tests on this OS required significantly more time than on Mac14. Four virtual sensor tests were also added to the ignore list due to flakiness ( crrev.com/c/5817455 , Bug: 354939744 ).
- Testing : Disabled the flaky
ChromeDriverSiteIsolation.testClickNavigateLocalToLocaltest on Mac ( crrev.com/c/5806894 , Bug: 361521805 ) and the flakyChromeDriverTest.testClickElement*ObscuredByScrollBartests on Windows 11 ( crrev.com/c/5804083 , Bug: 360058651 ). - Testing : Removed the ChromeDriver acceptance tests (which downloaded older Chrome versions to test against the current ChromeDriver) due to several infrastructure issues. They may be re-added later on CI with autoroll ( crrev.com/c/5812142 , Bug: 357737793 ).
ক্রোমড্রাইভার ১২৯
নতুন বৈশিষ্ট্য
- BiDi : Updated the ChromeDriver session initialization helper to send a
session.newcommand to the BiDi Mapper, allowing the mapper to directly handle capabilities. This is the first step toward removingMapperOptions( crrev.com/c/5741432 , Bug: 356371297 ). (Note: A related change crrev.com/c/5754093 providing the processedunhandledPromptBehaviorwas reverted crrev.com/c/5755744 due to a drop in test coverage). - Compute Pressure : Added new extension commands for virtual pressure source management, implementing the Automation section of the Compute Pressure specification. These commands are parsed and forwarded to the CDP layer ( crrev.com/c/5666583 , Bug: 347031400 ).
- Extensions MV2 : Updated tests exercising MV2 behavior to use the
ScopedTestMV2Enableras part of the ongoing Extension Manifest V2 Deprecation field trial ( crrev.com/c/5685054 , Bug: 339061151 ).
বাগ সংশোধন
- Classic serialization : Tracked seen objects when serializing a
Setin WebDriver Classic script execution results, preventing infinite loops and tolerating overrides ofArray.prototype.includes( crrev.com/c/5765833 , Bug: 357472850 ). (Note: This was subsequently reverted crrev.com/c/5773175 due to a WPT regression).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency to include the latest bug fixes and protocol updates from
chromium-bidi( crrev.com/c/5756587 , crrev.com/c/5717956 , Bug: 4226 ). - Memory safety (spanification) : Replaced unsafe buffer usage in
WebSocketFrameParser::Decode,MaskWebSocketFramePayload, andWriteWebSocketFrameHeaderwithbase::span( crrev.com/c/5764863 , crrev.com/c/5743019 , crrev.com/c/5722108 , Bug: 40284755 , Bug: 354307327 ). Added#pragma allow_unsafe_buffersacrosschrome/*as preparation for further fixes ( crrev.com/c/5717950 , Bug: 40285824 ), and converted non-conformingUNSAFE_BUFFERS()macros toUNSAFE_TODO()( crrev.com/c/5786346 ). Rewrotebase::spanfields tobase::raw_span( crrev.com/c/5515096 , Bug: 332587642 ). - C++ standards : Removed the use of dangerous variable-length arrays (VLAs) in the codebase by explicitly marking array lengths as
constexpr( crrev.com/c/5738737 , Bug: 349656479 ). Included necessary<unordered_map>headers previously pulled in transitively ( crrev.com/c/5792881 ). - Architecture : Unforked the
WebSocketEncoderimplementation by reverting its stalled migration to//services/network/public/cpp/serverand centralizing the logic back within//net/serverto ensure consistent updates ( crrev.com/c/5768214 , Bug: 40205564 ).
ক্রোমড্রাইভার ১২৮
নতুন বৈশিষ্ট্য
- Capabilities : Allowed the use of a dictionary for the
unhandledPromptBehaviorcapability, aligning with standard capability structures, though it is not yet fully respected by the Mapper ( crrev.com/c/5692204 , crrev.com/c/5682934 , Bug: 42323841 ). - Startup : Added the
--ignore-explicit-portcommand-line argument to ChromeDriver. This temporary workaround forces ChromeDriver to ignore any explicitly provided port and instead find and bind to a free port, resolving TCP port races during web platform test execution (intended to be removed after M132) ( crrev.com/c/5724574 , crrev.com/c/5703976 , Bug: 42323836 ).
বাগ সংশোধন
- Sensors : Fixed the
ExecuteUpdateVirtualSensorcommand to useSendCommand()instead ofSendCommandAndGetResult(), as thesetSensorOverrideReadingsCDP command doesn't return a value ( crrev.com/c/5703589 ). - FedCM : Fixed a race condition in FedCM ChromeDriver tests by no longer asserting that
NoSuchDialogis returned when a dialog is actually expected, preventing failures if the dialog appears too quickly ( crrev.com/c/5713515 , Bug: 346530330 ). - Testing : Re-enabled WebAuthn virtual authenticator tests on Mac after the underlying issue (crbug.com/40233722) was fixed ( crrev.com/c/5635806 , Bug: 329130177 ).
- Error Messages : Fixed a typo in the error message for the
execute/asynccommand ( crrev.com/c/5697913 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency, bringing in the latest protocol features, bug fixes, and WPT expectation updates from the upstream
chromium-bidiproject ( crrev.com/c/5717956 , crrev.com/c/5644823 , crrev.com/c/5630727 , crrev.com/c/5615110 , crrev.com/c/5614670 , Bug: 4226 , Bug: 347863537 , Bug: 324436866 ). - Replaced usages of the deprecated
GrowableIOBuffer::StartOfBuffermethod withspan, improving memory safety by eliminating unchecked pointers ( crrev.com/c/5706088 , Bug: 329476354 ). - Spanified the
Decodemethods ofWebSocketFrameParserto improve memory safety ( crrev.com/c/5722108 , Bug: 354307327 ). - Cleaned up remaining remnants of
absl::optionalby removing obsolete Abseil headers, migrating tostd::optional( crrev.com/c/5691505 , Bug: 40242125 ). - Changed ChromeDriver to handle all unknown target types (including
shared_storage_worklet) asWebViewInfo::kOtherrather than treating them as errors. This allows Chrome to introduce new target types without immediately breaking WPTs ( crrev.com/c/5680542 , crrev.com/c/5679146 , Bug: 42323839 ). - Added an installer target for the
linux-builder-perfbuilder to generate symbol-stripped binaries for bisect archives, and configured pinpoint builders to accept varyingadditional_compile_targets( crrev.com/c/5668198 , Bug: 344643694 ). - Updated
run_performance_tests.pyto find and pass the ChromeDriver location tocrossbenchduring perf builds ( crrev.com/c/5624538 , Bug: 338629299 ). - Rolled the
crossbenchdependency ( crrev.com/c/5681849 ). - Marked
FedCmSpecificTest.testClickErrorMoreDetailsandFedCmSpecificTest.testClickErrorGotItas flaky on Mac ( crrev.com/c/5704320 , crrev.com/c/5677564 , Bug: 352821422 , Bug: 346530330 ). - Disabled the flaky
BidiTest.testFocusInFirstTabtest ( crrev.com/c/5676686 , Bug: 350916212 ).
ক্রোমড্রাইভার ১২৭
বাগ সংশোধন
- Stability : Fixed a ChromeDriver crash that occurred when a
target.detachFromTargetcommand (ortarget.detachedFromTargetevent) was received while the DevTools client was actively processing other commands, preventing the premature release of theWebViewandDevToolsClientobjects ( crrev.com/c/5527584 , Bug: 339773537 ). - Stability : Fixed an issue where the
Switch To Windowcommand could incorrectly return an "unknown error" if a web view detached during the command execution; it now correctly ignores the "web view not found" internal error, leading to a standard "no such window" response if the target window indeed closed ( crrev.com/c/5583730 , Bug: 338616700 ). - Stability : Ensured ChromeDriver tolerates target detachment while updating the internal WebView list. If a target detaches during the update, ChromeDriver will now retry instead of returning a non-standard error, reducing flakiness in environments where windows are rapidly created and destroyed ( crrev.com/c/5565103 , Bug: 338616700 , Bug: 4771 ).
- Navigation : Added logic to ChromeDriver to wait for a navigation detected by the remote end while searching for elements. This prevents ChromeDriver from returning a non-standard error or crashing with a
DCHECKwhen a navigation coincides with an element finding operation ( crrev.com/c/5563113 , reverting crrev.com/c/5563420 , relanding crrev.com/c/5562089 , Bug: 4771 ). - BiDi : Fixed a race condition between ChromeDriver and BiDiMapper during session creation. ChromeDriver now waits for the
browsingContext.getTreecommand to return a non-empty list before concluding the NewSession command, ensuring the newly created default tab is properly registered ( crrev.com/c/5575497 , Bug: 341048786 , Bug: 1503101 ). - BiDi : Fixed an issue where the focus remained in the BiDiMapper background tab after session creation instead of the active user tab by explicitly granting focus to the first user tab ( crrev.com/c/5594070 , Bug: 341048786 , Bug: 1503101 ).
- BiDi : Stopped ChromeDriver from attempting to attach a Target when handling BiDi commands (like
browsingContext.close) to prevent CDP commands from stalling indefinitely if a user prompt is open, delegating the handling entirely to the already-connected BiDi layer ( crrev.com/c/5541915 , reverting crrev.com/c/5539818 , relanding crrev.com/c/5522393 , Bug: 4758 ). - FedCM : Fixed the
fedcm-loginhint.https.htmlWPT test failure where a dialog was incorrectly marked as closed; the state is now only updated if theselectAccountoperation actually succeeds ( crrev.com/c/5398379 , Bug: 331237776 ). - Testing : Fixed a
DCHECKfailure during JSON parsing when a character hit exactly thekExtendedASCIIStartboundary ( crrev.com/c/5565276 , Bug: 40284755 ). - Testing : Fixed the
scrollend-event-fires-to-iframe-window.htmlWPT test by using the iframe element as the scroll origin and rounding pointer move inputs to whole numbers, preventing ChromeDriver errors with fractional touch positions ( crrev.com/c/5570150 , Bug: 340956654 ). - Testing : Improved diagnostics in ChromeDriver integration tests by printing the attempted paths when
run_py_tests.pyfails to locate the browser binary ( crrev.com/c/5604204 , Bug: 4781 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency, keeping up with the latest protocol updates and bug fixes ( crrev.com/c/5614670 , crrev.com/c/5593796 , crrev.com/c/5537892 , crrev.com/c/5471839 , Bug: 4226 ).
- Replaced usages of
NOTREACHED()withNOTREACHED_IN_MIGRATION()across thechrome/directory in preparation for makingNOTREACHED()strictly[[noreturn]]( crrev.com/c/5539004 , Bug: 40580068 ). - Enabled the generation of
THIRD_PARTY_NOTICES.txtfor ChromeDriver using thelicenses.pytool to comply with distribution requirements ( crrev.com/c/5596355 , Bug: 4777 ). - Removed
run_wpt_tests.pysupport forcontent_shell, as Chromium's WPT coverage is transitioning fully toheadless_shell+ ChromeDriver ( crrev.com/c/5589930 ). Reorganizedwptrunnerswitches to be embedder-specific to accommodate this change without functional impact ( crrev.com/c/5589793 , Bug: 338412391 ). - Consolidated the logic for JavaScript dialog detection and handling by moving it from
JavaScriptDialogManagerdirectly intoDevToolsClientImpl, eliminating the separate manager class to simplify testing and reasoning ( crrev.com/c/5545630 , Bug: 4757 ). - Disabled
PureBidiTest.testBrowsingContextTreeIsNotEmptyon Mac due to flakiness ( crrev.com/c/5588665 , Bug: 343891977 ). - Updated BiDi WPT expectations to account for recent Mapper updates ( crrev.com/c/5615110 , Bug: 4226 , Bug: 324436866 ).
- Added unit tests for
WebView::SendBidiCommandandBidiTrackerto increase code coverage ( crrev.com/c/5588400 , Bug: 341048786 , Bug: 1503101 ).
ক্রোমড্রাইভার ১২৬
নতুন বৈশিষ্ট্য
- BiDi : Updated ChromeDriver to supply the
--disable-background-timer-throttlingswitch when launching the browser for a WebDriver BiDi session, preventing background tabs from being throttled ( crrev.com/c/5515013 , Bug: 4762 ). - BiDi : Added support for the BiDi Mapper to send debug messages (
sendDebugMessage) when verbose logging is required. ChromeDriver marks these events asbidi messagesfor parsing, thoughBidiTrackercurrently ignores them ( crrev.com/c/5465782 , Bug: 4753 ). - Classic : Implemented auto-acceptance of any
beforeunloaddialogs (alerts), adhering to the WebDriver standard which dictates they must never be shown in a Classic session ( crrev.com/c/5517510 , Bug: 4757 ).
বাগ সংশোধন
- Classic : Removed the redundant maximum attempt limitation in the element retrieval logic. Retrieval is now bounded only by the implicit timeout, preventing scenarios where the operation could fail prematurely and incorrectly return a non-standard
NoSuchExecutionContexterror ( crrev.com/c/5478668 , Bug: 4379 ). - Classic : Fixed a regression that caused ChromeDriver to respond with a
javascript errorinstead of aninvalid selectorerror when a retrieval request used an invalid location strategy ( crrev.com/c/5490662 , Bug: 4743 ). - Classic : Ensured window commands on Android (Maximize, Minimize, Fullscreen) return the standard compliant
unsupported operationerror instead of proceeding, as these actions are not supported by the Android browser ( crrev.com/c/5490224 , Bug: 4689 ). - Classic : Fixed ChromeDriver to never return the
kChromeNotReachableinternal error code; it now properly returns the standardkSessionNotCreatederror when the HTTP client cannot connect to the browser ( crrev.com/c/5476390 , Bug: 4379 ). - Classic : Fixed ChromeDriver to never return the non-standard
kNoSuchExecutionContexterror when executing window commands ( crrev.com/c/5483606 , Bug: 4379 ). - Classic : Removed the unused and unsupported
kForbiddenerror code from the list of supported error codes ( crrev.com/c/5476927 , Bug: 4379 ). - BiDi : Updated ChromeDriver to prompt the user before closing the dedicated Mapper tab, aligning with upstream
chromium-bidichanges ( crrev.com/c/5508600 , Bug: 4761 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency, bringing in the latest features and bug fixes from the upstream
chromium-bidiproject ( crrev.com/c/5490428 , crrev.com/c/5471839 , crrev.com/c/5509316 , crrev.com/c/5458234 , Bug: 4226 ). (Note: A mapper bump was briefly reverted by a gardener and then relanded ( crrev.com/c/5374839 , crrev.com/c/5374366 )). - Replaced usages of
base::StringPiecewithstd::string_viewacross//chrome( crrev.com/c/5467746 , Bug: 40506050 ). - Removed
std::to_string()usage in//chrome, replacing it withbase::NumberToString()orbase::FormatNumber()( crrev.com/c/5505593 , Bug: 335672557 ). - Removed support for the
--remote-debugging-addressswitch in the old headless mode, as unprotected remote access to the Chrome DevTools Protocol was deemed too dangerous ( crrev.com/c/5512634 , Bug: 327558594 ). - Removed Fuchsia build rules from
//chrome, except for ChromeDriver ( crrev.com/c/5473870 , Bug: 41481724 ). - Migrated legacy
TODO(crbug.com/...)references across the codebase to the new issue tracker ID format (TODO(b/...)) ( crrev.com/c/5492605 , crrev.com/c/5486477 , crrev.com/c/5461380 , Bug: 321899722 ). - Disabled WebAuthn (authenticator) tests on Mac (both for headless and
chromedriver_py_tests) due to a complex underlying bug, unblocking the upgrade of bots to macOS 14 ( crrev.com/c/5525435 , crrev.com/c/5518820 , Bug: 329130177 ). - Disabled WPT builders for
content_shelldue to difficulties in running WPTs with ChromeDriver and Content Shell together ( crrev.com/c/5512439 , Bug: 40214293 ). - Relanded a change that updates
focus-navigationWPTs to useShift+Tabviatest_driver.action_sequence()for backward navigation. Fixed a bug infocus-utils.jswhere the wrong key code (E050instead ofE008) was used for the Shift key ( crrev.com/c/5467843 , reverting crrev.com/c/5466531 , relanding crrev.com/c/5463903 , Bug: 40597271 ). - Added
crossbenchandchromedriverto the perf build targets ( crrev.com/c/5521874 , Bug: 338627700 ).
ChromeDriver 125
নতুন বৈশিষ্ট্য
- Device Posture : Added ChromeDriver commands for device posture management, supporting the Automation section of the Device Posture specification. This allows overriding the hardware-set device posture and removing the override via extension commands ( crrev.com/c/5437993 , Bug: 330376761 ).
বাগ সংশোধন
- BiDi : Changed the intermediate storage of the incoming BiDi command
idfrom aDoubletobase::Value. This ensures theidis echoed back precisely in the response without an unexpected trailing decimal point or fractional part after JSON serialization ( crrev.com/c/5444225 , Bug: 4676 ). - FedCM : Relanded the change to enable CORS in the ID assertion endpoint after IDPs were ready ( crrev.com/c/5440132 , reverting crrev.com/c/5381316 , relanding crrev.com/c/5370086 , Bug: 40284123 ).
- FedCM : Fixed a bug where a dialog was improperly marked as closed by ensuring it is only marked as closed if the
selectAccountcommand succeeds. This resolves test failures whenselectAccountis called without an expected account chooser ( crrev.com/c/5398379 , Bug: 331237776 ). Avoided callingfedcm_get_and_select_first_accountwhen an account chooser is not expected to prevent triggering this bug ( crrev.com/c/5398800 ). - Testing : Fixed a failure in the
popover-light-dismiss.htmlWPT test by combining action sequences and using the main frame's document as the origin for thepointerUpaction, preventing ChromeDriver from incorrectly sending concurrentpointerUpevents across frames ( crrev.com/c/5402096 , Bug: 325981758 ). - Testing : Fixed
wptrunnerto correctly forwardstderroutput (including browser logs written when using--enable-chrome-logs) to thestderrartifact instead ofcrash_log, and moved harness errors (which contain the browser stack trace) tocrash_log( crrev.com/c/5437023 , Bug: 41494889 ). - Testing : Fixed
wptrunnerto route browser logs to the correct test artifact by grouping output by the ChromeDriver process, preventing interleaved and orphaned logs during parallel test execution ( crrev.com/c/5320681 , Bug: 41494889 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency, integrating the latest protocol enhancements and bug fixes ( crrev.com/c/5433300 , crrev.com/c/5393442 , Bug: 4226 ). (Note: A previous bump crrev.com/c/5374366 was reverted crrev.com/c/5374839 and subsequently relanded with disabled flaky tests and updated licenses crrev.com/c/5374914 ).
- Diagnostics : Plumbed Chrome's
StackTraceinto ChromeDriver exceptions. This surfaces the browser stack trace in the error message when a session is deleted because of a page/tab crash (eg, dangling pointers on Mac), significantly improving debuggability ( crrev.com/c/5374371 , Bug: 330009945 ). - Testing : Temporarily disabled the flaky
testTakeLargeElementViewportScreenshotintegration test on Mac (specificallymac-arm64) ( crrev.com/c/5447515 , Bug: 333826980 ). - Testing : Updated the ChromeDriver launch arguments in testing environments (CEL) to match Selenium 4+ syntax ( crrev.com/c/5448812 , Bug: 308885357 ).
- Testing : Extracted the exact
chromecommand line used to run each WPT test from thechromedriverlog into a ResultDB artifact namedcommand. This facilitates manual debugging withrun_blink_wptserve.py( crrev.com/c/5441189 , Bug: 41494889 ). - Dependencies : Removed
Closurefrom theselenium-atomsdependency list, consequently removing it from ChromeDriver's third-party notices ( crrev.com/c/5424804 , Bug: 4226 ). - Dependencies : Dropped unused dependencies on
dynamic_annotationsacross the base repository ( crrev.com/c/3398908 , Bug: 1282422 ). - Formatting : Applied the new
clang-formatconfiguration to problematic Windows headers ( crrev.com/c/5367127 , Bug: 329138753 ).
ChromeDriver 124
নতুন বৈশিষ্ট্য
- BiDi : Added a build step to minify the
BiDiMapperscript before embedding it into ChromeDriver, as the source mapper is now downloaded unminified from CIPD ( crrev.com/c/5310075 , Bug: 4226 ). - WebAuthn : Added the
SetCredentialPropertiescommand, allowing clients to update the backup flags for a WebAuthn credential ( crrev.com/c/5296389 , Bug: 40945430 ). - WebAuthn : Exposed WebAuthn backup flags through WebDriver by adding
defaultBackupEligibilityanddefaultBackupStateto the "Add Virtual Authenticator" command, andbackupEligibilityandbackupStateto the "Add Credential" command ( crrev.com/c/5297117 , Bug: 40945430 ). - Testing : Added support for the
--failfastcommand-line argument to ChromeDriver Python integration tests, stopping the test run on the first error to assist with debugging ( crrev.com/c/5374546 ). - Testing : Added content-shell support for the
SetRPHRegistrationModewebdriver command viatestdriver-vendor.jsAPIs ( crrev.com/c/5205730 , Bug: 1359103 ).
বাগ সংশোধন
- Stability : Moved the timeout expiration check inside the poll-and-wait loop body in
ChromeImpl::SetWindowBounds. This fixes an issue where, under high load, the timeout could expire before the first loop iteration occurred ( crrev.com/c/5366899 , Bug: 4642 ). - Performance : Minimized wait time in
ChromeImpl::SetWindowBoundsby only applying an exponential backoff wait if the window bounds have not yet reached the desired state, reducing WPT setup latency ( crrev.com/c/5366457 , Bug: 4642 ). - Startup : Updated ChromeDriver to use
--user-data-dirinstead of--data-pathwhen specifying the data directory forcontent_shell, aligning with how it reads the active DevTools port ( crrev.com/c/5226609 , Bug: 1295373 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency, capturing the latest protocol fixes and features ( crrev.com/c/5374366 , crrev.com/c/5349491 , crrev.com/c/5317650 , Bug: 4226 ). (Note: A bump was briefly reverted and then relanded due to test failures crrev.com/c/5374839 , crrev.com/c/5368680 , crrev.com/c/5319423 ).
- Replaced usages of
absl::optionalwithstd::optionalacross the codebase following the transition ofabsl::optionalto a type alias ( crrev.com/c/5296147 , Bug: 1500249 ). - Extended
MiraclePtr(raw_ptr) coverage to additional standard containers includingstd::list,std::unordered_set,base::flat_set,std::stack, andstd::queue( crrev.com/c/5306923 , Bug: 325302189 ). - Converted
WriteBigEndian()to usebase::numericsbyte conversions orBigEndianWriter(which now acceptsbase::span), improving safety when writing big-endian bytes ( crrev.com/c/5202348 , Bug: 1490484 ). - Switched to using ChromeDriver to run Web Platform Tests (WPT) with
content_shell(excluding virtual tests and reftests pending upstream bug fixes) ( crrev.com/c/5347371 , Bug: 40214293 ). - Converted all existing Generic Sensor web tests to use
test_driver.jsand virtual sensors instead of JS/Mojo mocks, aligning with the new Automation section of the Generic Sensor spec ( crrev.com/c/4770867 , Bug: 1278377 , Bug: 1471996 ). - Improved license generation by adding
append_notices.pyto generate credits forBiDiMapperdependencies and updating thelicenses.pyinvocation to rely strictly on theselenium-atomsREADME for third-party notices ( crrev.com/c/5350601 , crrev.com/c/5339957 , Bug: 4729 , Bug: 4735 ).
ChromeDriver 123
নতুন বৈশিষ্ট্য
- FedCM : Show modal dialogs for single account button flows, including adding support for modal views in the automation interface ( crrev.com/c/5231438 , Bug: 1518356 ).
- FedCM : Implemented ChromeDriver support for opening links within FedCM dialogs, treating them as buttons for automation simplicity ( crrev.com/c/5225543 , Bug: 1513520 ).
- Sensors : Modified WebDriver virtual sensor commands to read Euler angles (alpha-beta-gamma) instead of quaternions, complying with recent orientation-sensor spec updates. Internal CDP and services layers still use quaternions via a conversion step ( crrev.com/c/5229177 , Bug: 1506995 , Bug: 1520912 , Bug: 1520919 ).
বাগ সংশোধন
- Classic : Fixed an issue where returning a node from a different frame via a script incorrectly resulted in a
StaleElementReferenceerror; it now correctly returns aJavaScriptErrorto comply with the WebDriver standard ( crrev.com/c/5222746 , Bug: 4668 ). - Testing : Fixed an overscroll events test that was failing on Chrome/ChromeDriver because the touch drag was extending outside the window boundaries; the drag is now properly constrained ( crrev.com/c/5297676 , Bug: 40832230 ).
- Testing : Fixed
open-close.https.htmlMIDI tests to not construct promises unnecessarily, avoiding unhandled promise rejections that caused ChromeDriver to fail the test ( crrev.com/c/5239869 , Bug: 1499775 ). - Testing : Corrected the permission set in
wpt_internal/system-wake-lock/idlharness*tests wheretest_driver.set_permission(...)was incorrectly passingfalseinstead ofnullor aWindowProxy, confusing ChromeDriver ( crrev.com/c/5271087 , Bug: 40287920 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency, fetching the latest fixes and features ( crrev.com/c/5205452 , crrev.com/c/5255321 , crrev.com/c/5238148 , crrev.com/c/5237125 , Bug: 4226 ). (Note: A bump was briefly reverted and then reapplied due to build failures crrev.com/c/5238855 ).
- Improved ChromeDriver code health by eliminating unsafe static casts from a base class to a derived class in both
ChromeImplandDevToolsClientImpl, preventing potential undefined behavior ( crrev.com/c/5277062 , crrev.com/c/5272562 , Bug: 4702 ). - Eliminated unsafe casts in
WebViewImpl( crrev.com/c/5272230 , Bug: 4702 ). - Removed deprecated forms of
base::Base64Encode(), migrating to the newerstd::stringreturning variant instead of using out parameters ( crrev.com/c/5179900 , crrev.com/c/5246585 , Bug: 1486214 ). - Updated all
#includedirectives forbase/...to use""instead of<>for consistency ( crrev.com/c/5237376 , Bug: 1500249 ). - Migrated all
DIR_METADATAfiles inchrome/test/to Buganizer ( crrev.com/c/5284119 , Bug: 1518875 ). - Prevented wptrunner from creating a local
-file when passing-vvvby removing the unnecessarychromedriver --log-path=-switch, as stderr is already redirected to stdout ( crrev.com/c/5282721 ). - Enhanced wptrunner to summarize test results when regressions occur, explicitly including subtest results and ChromeDriver stack traces directly in the summary output ( crrev.com/c/5238662 , Bug: 1521922 ).
- Simplified debugging of ChromeDriver integration tests by introducing the
--remote-chromedriver-portparameter torun_py_tests.py, allowing connection to an existing instance running under a debugger ( crrev.com/c/5237254 , Bug: 4693 ). - Avoided two-arg
base::HexEncode()andRandBytes()calls to let the compiler deduce the correct size, simplifying code ( crrev.com/c/5241357 ).
ChromeDriver 122
বাগ সংশোধন
- BiDi : Updated deep node serialization to include
loaderId, allowing ChromeDriver and the BiDi Mapper to properly reference and dereference nodes without excessive round trips ( crrev.com/c/5116240 , Bug: 1420968 ). - Capabilities : Updated ChromeDriver to pass the
acceptInsecureCertscapability to the BiDi Mapper immediately on start, preventing race conditions where the capability might be applied too late ( crrev.com/c/5125711 , Bug: 4643 ). - Classic : Re-architected element reference generation to use a
<frame_id>.<loader_id>.<backend_node_id>format; this allows ChromeDriver to definitively distinguish between valid, unknown, and stale element references across frame navigations and DOM updates ( crrev.com/c/5094519 , Bug: 4379 ). - Classic : Fixed an issue where the
window/handlescommand could fail with a "no such window" error if a newly created target closed itself (eg, in a race condition) before ChromeDriver could attach to it ( crrev.com/c/5147409 , Bug: 1506833 ). - FedCM : Added an internal event listener to notify when a FedCM dialog is closed, preventing the
dialogtypecommand from returning stale data if the dialog was closed externally (eg, viaAbortController.abort) ( crrev.com/c/5067504 , Bug: 1506292 ). - FedCM : Removed the vendor prefix from the
ClickDialogButtoncommand as it has now been approved in the FedCM specification ( crrev.com/c/5092527 , Bug: 1499341 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency to the latest version ( crrev.com/c/5205452 , Bug: 4226 ).
- Reduced ChromeDriver and Chrome DevTools Protocol (CDP) traffic by removing redundant
Page.enablecalls sent from everyDevToolsEventListener, asDevToolsClientImplalready handles this per target ( crrev.com/c/5088789 , Bug: 4600 ). - Changed all Wptrunner builders for
content_shellto experimental status since running tests in protocol mode is currently not fully supported while ChromeDriver integration is in progress ( crrev.com/c/5225148 , Bug: 1474702 ). - Skipped tests that require
window.test_driver_internal.get_computed_roleoncontent_shellas it is not yet implemented, preventingTypeErrorfailures ( crrev.com/c/5189678 , Bug: 1517744 ). - Relanded the refactor to use platform-independent
IS_OZONE_{X11, WAYLAND}flags instead ofOZONE_PLATFORM_*( crrev.com/c/5086329 , Bug: 1500494 ). - Bumped the
selenium-atomsdependency to the latest revision ( crrev.com/c/5110808 , Bug: 4662 ). - Fixed logic in SnapEvents tests when run against the full Chrome binary by rounding pointer move inputs, enforcing the
originparameter for scrolls, and using approximation assertions (assert_approx_equals) to handle fractional scroll/offset discrepancies ( crrev.com/c/5097343 ). - Added
StringPrintfNonConstexpr()helper to distinguish fromStringPrintf()when format strings are not compile-time constants ( crrev.com/c/4950568 , Bug: 1371963 ). - Ensured
chromium::import!rust macro escaping uses an injective function to prevent collisions in generated GN target names ( crrev.com/c/5132119 , Bug: 1512174 ). - Cleaned up the
ScopedTempDirWithRetryimplementation by adding a constructor and early returns in the destructor ( crrev.com/c/5113843 ).
ChromeDriver 121
নতুন বৈশিষ্ট্য
- Testing : Added support for running ChromeDriver integrated tests (
chromedriver_py_test) againstchrome-headless-shellin addition to the standard Chrome browser on build bots. This includes the ability to discover the browser binary based on the--browser-nameparameter and conditionally run specific test sets ( crrev.com/c/4995189 , crrev.com/c/4989442 , Bug: 4358 ).
বাগ সংশোধন
- Stability : Initialized the default
KeyboardLayoutEngineasStubKeyboardLayoutEngineto prevent ChromeDriver crashes caused by aDCHECKhit inKeyboardLayoutEngineManager::SetKeyboardLayoutEngine( crrev.com/c/5017859 , Bug: 4625 ). - Stability : Fixed a flakiness issue where ChromeDriver could crash if the session thread requested to close a connection after the client had already requested to close the same connection ( crrev.com/c/4994636 , Bug: 4606 ).
- Resource Management : Fixed resource leaks in ChromeDriver integration tests (
RemoteBrowserTest) by ensuring the browser process is terminated even if an exception is thrown by a ChromeDriver command ( crrev.com/c/5009554 , Bug: 4614 ). - Resource Management : Implemented logic in ChromeDriver integration tests to detect and terminate any browser processes abandoned by the ChromeDriver process ( crrev.com/c/5014093 , Bug: 4617 ).
- Startup : Fixed an issue where
chrome-headless-shellwould return an empty target list, preventing session creation, by appending thedata:,argument to the browser command line when the browser name ischrome-headless-shell( crrev.com/c/5010392 , crrev.com/c/5009535 , Bug: 4615 , Bug: 4358 ). - FedCM : Added a new event to notify when a FedCM dialog is closed, ensuring
dialogtypeand other commands don't return stale data if the dialog was closed externally (eg, viaAbortController.abort) ( crrev.com/c/5067504 , Bug: 1506292 ). - Testing : Fixed and re-enabled all ChromeDriver integration tests that were previously disabled for
chrome-headless-shellon Windows ( crrev.com/c/5027594 , Bug: 4358 ). - Testing : Weakened overly strict assertions in
testElementRegionTestto align with the WebDriver standard, resolving flakiness caused by browser rendering peculiarities ( crrev.com/c/5017865 , Bug: 4526 ).
Internal changes and refactors
- BiDi : Updated the BiDi Mapper dependency ( crrev.com/c/4994305 , Bug: 4226 ).
- Reverted the use of
IS_OZONE_{X11, WAYLAND}in favor ofOZONE_PLATFORM_*due to a bug ( crrev.com/c/5086571 , reverting crrev.com/c/5083096 , Bug: 1500494 ). - Migrated code in
commands_unittest.ccto usebase::BindLambdaForTestinginstead of the deprecatedbase::Passed( crrev.com/c/5078589 , Bug: 1326449 ). - Refactored
session.newto extract boilerplate capability handling (eg,testName,binary,browserName) into a dedicated method and ensured the command respects capabilities similarly to the classic command ( crrev.com/c/5004665 , crrev.com/c/5001510 , Bug: 4358 , Bug: 4610 ). - Removed usage of the deprecated
base/strings/string_piece_forward.hheader ( crrev.com/c/5008994 , Bug: 691162 ). - Prepared for the transition of
net::IOBufferto a non-owning class by usingnet::IOBufferWithSizefor owning cases ( crrev.com/c/4996470 , Bug: 1493389 ). - Introduced and utilized
base::RandBytesAsVector()to avoid storing binary values in strings ( crrev.com/c/5018451 ). - Disabled several consistently failing Python integration tests on Mac to prevent them from causing green builds due to LUCI analysis exoneration ( crrev.com/c/4998771 , Bug: 1486604 , Bug: 1486520 , Bug: 1486474 , Bug: 1481915 ).
- Renamed the
webdriver_tests_suite(andwpt_tests_suite) tochrome_wpt_teststo standardize WPT suite naming conventions on Linux try builders ( crrev.com/c/5014293 , Bug: 1474702 ). - Repurposed the
ConfirmIdpLoginFedCM webdriver command into a more extensibleClickDialogButtoncommand that accepts aDialogButtonparameter ( crrev.com/c/5003255 , Bug: 1499341 ). - Updated the
crossbenchdependency with numerous fixes and features, including better driver type parsing, network stubs, and iOS support ( crrev.com/c/5009937 ). - Added missing
#include <string>tochrome_finder.hfor IWYU compliance ( crrev.com/c/4994605 , Bug: 957519 ).
ChromeDriver 120
নতুন বৈশিষ্ট্য
- BiDi : Added support for
session.newandsession.endcommands, allowing users to create and terminate sessions directly via BiDi commands ( crrev.com/c/4941941 , Bug: 4496 ). - BiDi : Added support for the
session.statusPureBiDi command, enabling users to establish a WebSocket connection not bound to any session and retrieve the session status ( crrev.com/c/4938596 , Bug: 4496 ). (Relanded after a previous revert in crrev.com/c/4922097 ) - BiDi : Bumped the BiDi Mapper dependency and aligned with the new, simplified Mapper running process ( crrev.com/c/4952609 , Bug: 4226 ).
- Sensors : Implemented virtual sensor commands in
browser_protocol.pdland the CDP layer (Emulation domain), adding support for the Automation section of the Generic Sensor spec ( crrev.com/c/4770864 , Bug: 1278377 ). - Sensors : Added ChromeDriver extension commands for virtual sensor management, translating WebDriver parameters into the new CDP calls ( crrev.com/c/4770866 , Bug: 1278377 ).
- Sensors : Added a
content_shellcode path for virtual sensors manipulation viatestdriver.js, bypassing ChromeDriver entirely for web tests ( crrev.com/c/4770865 , Bug: 1278377 ). - Tracking Mitigations : Added ChromeDriver support for Bounce Tracking Mitigations (DIPS), enabling automation of the
nav-tracking-mitigationsspec ( crrev.com/c/4873672 , Bug: 1474656 ). (Note: This was temporarily reverted due to test failures on Mac in crrev.com/c/4938394 )
বাগ সংশোধন
- Startup : Added Headless Shell discovery to ChromeDriver, allowing it to search for the
chrome-headless-shellbinary if requested via capabilities and no explicit path is provided ( crrev.com/c/4987262 , Bug: 4358 ). (Relanded after a previous revert in crrev.com/c/4984449 ) - WebSockets : Implemented partial support for the WebSocket Closing Handshake, ensuring ChromeDriver responds with a
CLOSEframe when one is received from the remote end ( crrev.com/c/4931500 , Bug: 4499 ). - Permissions : Exposed
options.disclaim_responsibilityas a build flag to allow vendor builds (like Microsoft Teams) to turn it off, preventing macOS permission prompts from stalling test automation ( crrev.com/c/4929495 , Bug: 1223643 ). - C++ standard compliance : Fixed undefined behavior (UB) caught by UBSan when casting an out-of-range double to an int by adding range checks ( crrev.com/c/4980055 , Bug: 1394755 ).
- FedCM : Removed support for the old header syntax, ensuring compliance with the standard
login-status-httpsyntax ( crrev.com/c/4957073 , Bug: 1381501 ).
Internal changes and refactors
- Added
testReturnFrameElementintegration test to verify ChromeDriver's behavior regarding treatingwindow.frameElementas a stale reference ( crrev.com/c/4983549 , Bug: 4477 ). - Improved logging by ensuring ChromeDriver logs the specific paths where it attempts to locate the browser binary ( crrev.com/c/4976116 , Bug: 4539 ).
- Renamed various
base::Timefunctions to be more descriptive (eg,FromDoubleT()toFromSecondsSinceUnixEpoch()) ( crrev.com/c/4956111 ). - Refactored
net::StringIOBufferconstructor andIOBufferinstantiations to avoid unnecessary string copies and zero-length allocations ( crrev.com/c/4938384 , crrev.com/c/4959174 ). - Cleaned up string handling by replacing
base::StrCatwith+where applicable and utilizingbase::AppendHexEncodedByte()( crrev.com/c/4963465 , crrev.com/c/4977165 ). - Renamed
DIR_SOURCE_ROOTtoDIR_SRC_TEST_DATA_ROOTacross//chrome*tests for clarity ( crrev.com/c/4916045 , Bug: 1264897 ). - Disabled flaky
PureBidiTesttests on Mac builders ( crrev.com/c/4983555 , Bug: 1496826 ).
ChromeDriver 119
নতুন বৈশিষ্ট্য
- BiDi : Implemented support for resolving weak local object references returned by the remote end during remote function calls ( crrev.com/c/4886760 , Bug: 4536 ).
- FedCM : Added the vendor-prefixed
confirmidpsignincommand to support the IDP Sign-In Status API origin trial ( crrev.com/c/4811725 , Bug: 1451884 ).
বাগ সংশোধন
- Mobile emulation : Fixed an issue where predefined devices without Client Hints (eg, older configurations) were broken by populating them with sensible default values ( crrev.com/c/4887254 , Bug: 4550 ).
- Classic : Fixed serialization of
MapandSetobjects; they are now correctly serialized asObjectrather thanCollectionsince they lack alengthproperty ( crrev.com/c/4881378 , Bug: 4031 ). - Classic : Reinstated the logic to always download and use the latest compatible version of ChromeDriver during tests, falling back to specific versions only when compatibility issues arise ( crrev.com/c/4779613 , reverting crrev.com/c/4778973 ).
- FedCM : Standardized the browser automation commands by renaming
SignintoLogin(confirmidplogin) to align with the latest FedCM specification discussions ( crrev.com/c/4901302 , Bug: 1451884 ). - Testing : Fixed FedCM tests that failed when third-party cookies were disabled by explicitly enabling the IDP Sign-In Status API during test execution ( crrev.com/c/4889802 , Bug: 1484833 ).
- Testing : Replaced the invalid URL placeholder
~NOTFOUNDwith^NOTFOUNDin test runners to comply with upcoming Chromium URL standard enforcement changes ( crrev.com/c/4845589 , Bug: 1416013 ).
Internal changes and refactors
- BiDi : Updated the BiDi Mapper dependency to version 0.4.27, bringing in the latest fixes and features ( crrev.com/c/4862031 , crrev.com/c/4890322 ).
- Replaced multiple pointer/length APIs in
//urlwithstd::string_viewfor improved safety and convenience ( crrev.com/c/4897456 ). - Transitioned the
generateWebDriverValueutility to use the deep serialization option (serializationOptions.serialization: deep) natively provided by the BiDi protocol ( crrev.com/c/4889644 ). - Added integration tests to verify that searching under a stale element reference correctly returns a "stale element reference" error ( crrev.com/c/4886793 , Bug: 4440 ).
- Improved code style formatting in
call_function.js( crrev.com/c/4882511 , Bug: 4031 ). - Enhanced user feedback by explicitly informing users when they connect via WebSockets that pipes are supported and recommended for better reliability and security ( crrev.com/c/4882626 , Bug: 3480 ).
- Updated WPT suite configuration to archive
results.htmlforwebdriver_tests_suitetests, providing a better UI for viewing results ( crrev.com/c/4873223 ). - Fixed DevTools integration with WebView by marking WebView WebContents and setting their DevTools type to
popup_pageinstead ofother( crrev.com/c/4842093 ). - Renamed the WPT build target
chrome_wpttochrome_wpt_testsfor consistency and removed the redundantwebdriver_wpt_teststarget ( crrev.com/c/4847474 , Bug: 1474702 ). - Migrated
run_py_tests.pyfrom the deprecatedoptparselibrary toargparse( crrev.com/c/4849411 , Bug: 4557 ).
ChromeDriver 118
নতুন বৈশিষ্ট্য
- Integration Testing : Introduced C++ integration tests for ChromeDriver, allowing testing of specific classes against real CDP traffic, filling the gap between unit tests and Python integration tests ( crrev.com/c/4707855 , Bug: 4528 ).
- Crossbench : Updated the
crossbenchdependency with numerous improvements including new power benchmark stories, better platform and device support, enhanced debugging, and various fixes ( crrev.com/c/4803743 ).
বাগ সংশোধন
- Capabilities : Fixed an issue where
debuggerAddresswas missing from returned capabilities in default configurations; it is now correctly returned to support Selenium's CDP-based BiDi communication ( crrev.com/c/4789068 , Bug: 4533 ). - Capabilities : Ensured ChromeDriver returns standard
platformNamevalues (eg, 'linux', 'windows', 'mac') as required by the WebDriver specification ( crrev.com/c/4797735 , Bug: 4548 ).
Internal changes and refactors
- Migrated code in
MockSocketto preferbase::span<>over raw pointers for improved safety ( crrev.com/c/4832086 ). - Removed deprecated uses of
base::raw_ptrandbase::raw_refin favor of their unqualified formsraw_ptrandraw_refvia automated cleanup ( crrev.com/c/4773481 ). - Temporarily reverted a change that always used the latest ChromeDriver, as it caused crashes on Windows stable/beta channels ( crrev.com/c/4778973 , reverting crrev.com/c/4777430 ).
- Adjusted WPT (Web Platform Tests) configurations, including suppressing debug-only failures in
pointer_touch.pyand implementing browser-side focus verification for fenced frames ( crrev.com/c/4844810 , crrev.com/c/4572517 ). - Added missing
#include <vector>toclient_hints.hfor IWYU compliance ( crrev.com/c/4767547 ). - Migrated Apple-specific base types (
ScopedTypeRef,ScopedCFTypeRef,scoped_nsautorelease_pool) into thebase::apple::namespace, leaving temporary forwarding headers for Crashpad ( crrev.com/c/4799213 , crrev.com/c/4790744 , crrev.com/c/4790741 , crrev.com/c/4784010 ).
ক্রোমড্রাইভার ১১৭
নতুন বৈশিষ্ট্য
- Pipes Communication : Changed the default communication mode between ChromeDriver and Chrome from WebSockets to pipes (
--remote-debugging-in-pipeand--remote-debugging-out-pipe) across all supported platforms, including Windows ( crrev.com/c/4634299 , crrev.com/c/4628834 , crrev.com/c/4635378 , Bug: 3480 ). - BiDi : Updated the BiDi Mapper dependency ( crrev.com/c/4670516 , Bug: 4226 ).
বাগ সংশোধন
- Stability : Fixed a null pointer access that caused ChromeDriver to crash, which in turn resulted in
ConnectionRefusederrors during test runs ( crrev.com/c/4675633 , Bug: 1457101 ). - Navigation : Fixed an issue where Chrome's
NoSuchExecutionContextandNoSuchWindowerrors during navigation were not handled uniformly; both are now properly mapped to retry the operation ( crrev.com/c/4667156 , Bug: 4459 ). - Mobile emulation : Corrected the inference logic for
clientHints.mobile; it is now correctly inferred from theuserAgenton Android and defaults to false on other platforms, fixing an issue where tablets incorrectly reported as mobile ( crrev.com/c/4649348 , Bug: 4243 ). - Session creation : Updated session creation to correctly return the standard
SessionNotCreatederror code upon failure, strictly complying with the W3C WebDriver specification ( crrev.com/c/4638223 , Bug: 4379 ). Note: This change was subsequently reverted as some specific code paths require different error codes ( crrev.com/c/4651188 ).
Internal changes and refactors
- Eliminated the manual ChromeDriver release process scripts, as ChromeDriver is now fully integrated into the Chrome release process and available via the Chrome for Testing infrastructure ( crrev.com/c/4520687 , Bug: 4142 ).
- Migrated WPT (Web Platform Tests) infrastructure to use the official
wptrunnerharness instead of the bespokerun_webdriver_tests.py, significantly improving execution speed and reliability, and ensuring ChromeDriver respawns between tests to isolate crashes ( crrev.com/c/4723147 , crrev.com/c/4676070 , crrev.com/c/4639168 ). - Extensively refactored
ChromeLauncherand related classes to support the transition to pipes, loosening coupling withDevToolsHttpClientand moving WebSocket logic into dedicated branches ( crrev.com/c/4632801 , crrev.com/c/4674345 ). - Renamed the misleading
BrowserInfo.is_headlessfield toBrowserInfo.is_headless_shellfor clarity ( crrev.com/c/4650452 , Bug: 4358 ). - Replaced various deprecated
base::Valuemethods with the modernbase::Value::Dictequivalents (eg,FindDouble(),Set(),size()) across the 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 - Removed the use of
[w]ctype.hin favor of safer base string utilities and implemented new facilities forbase::expected( crrev.com/c/4749459 , crrev.com/c/4755226 ). - Implemented
get_fedcm_dialog_titleandselect_fedcm_accountautomation commands inTestDriverfor FedCM WPTs ( crrev.com/c/4618303 ). - Updated BiDi mapper build scripts to function correctly regardless of the current working directory ( crrev.com/c/4670550 ).
- Converted
/chrome/test/chromedriverfiles to use ARC (Automatic Reference Counting) in macOS builds, adding necessary boilerplate ( crrev.com/c/4663602 ). - Attempted to disable pipe communication by default via an automated rubber-stamper commit, but the change only touched configuration without altering the core pipes-by-default behavior introduced earlier ( crrev.com/c/4683947 ).
ক্রোমড্রাইভার ১১৬
নতুন বৈশিষ্ট্য
- FedCM : Added a new capability allowing clients to check if ChromeDriver supports FedCM commands without needing to execute them and catch errors ( crrev.com/c/4624924 , Bug: 1356159 ).
- Testing : Enabled test window reuse for testharness tests run via ChromeDriver in
wptrunnerto evaluate its impact on performance and flakiness ( crrev.com/c/4515180 , Bug: 1394572 ).
বাগ সংশোধন
- C++ standard compliance : Fixed undefined behavior caused by incorrectly using scoped enumerations (enum class) directly in format strings, addressing new Clang compiler warnings ( crrev.com/c/4628112 , Bug: 1456289 ).
- FedCM : Addressed a potential cause of test flakiness by fixing an edge case that prevented
setdelayenabledfrom working correctly ( crrev.com/c/4606064 , Bug: 1453412 ).
Internal changes and refactors
- BiDi : Bumped the BiDi Mapper dependency and updated the build script to pull the latest revision from 'main' by default ( crrev.com/c/4615087 , crrev.com/c/4615791 , Bug: 4226 ).
- Transitioned ChromeDriver to open and write all files using UTF-8 encoding explicitly ( crrev.com/c/4614522 ).
- Refactored
ChromeImplto eliminate its dependency onDevToolsHttpClientand reduced the usage ofSyncWebSocketFactoryandBrowserInfoin preparation for communicating over pipes instead of WebSockets ( crrev.com/c/4571690 , crrev.com/c/4571199 , Bug: 3480 ). - Removed the deprecated "default mode" for fenced frames and updated associated tests to enable the new feature flag, continuing the migration to FLEDGE auctions ( crrev.com/c/4558645 ).
- Improved FedCM tests by replacing generic
WaitForConditionassertions withassertTrueto clearly indicate when timeouts occur ( crrev.com/c/4590211 ). - Marked known flaky dangling
raw_ptrwarnings inlinux-relunittests ( crrev.com/c/4598070 ). - Updated OWNERS file for the BiDi mapper ( crrev.com/c/4614518 ).
ক্রোমড্রাইভার ১১৫
নতুন বৈশিষ্ট্য
- Mobile emulation : Implemented support for User-Agent Client Hints in mobile emulation, allowing ChromeDriver to parse client hints from capabilities and presets and pass them to Chrome ( crrev.com/c/4498667 , crrev.com/c/4466129 , Bug: 4243 ).
- Mobile emulation : Updated mobile emulation presets to use the major version of the host browser instead of the ChromeDriver version when replacing the
%sformat string in the user agent ( crrev.com/c/4502850 , Bug: 4243 ). - Setup : Added support for downloading a specific ChromeDriver version for a given channel, improving automation scenarios where ChromeDriver runs on a different platform (like Android/WebView) than the host ( crrev.com/c/4550281 ). 116.0.5791.0
বাগ সংশোধন
- Classic : Fixed an issue where failing to resolve a node would incorrectly return an
UnknownErrorinstead of the standardNoSuchElementerror ( crrev.com/c/4508952 , Bug: 4440 ). - Mobile emulation : Added stricter assertions to mobile emulation presets to enforce that the
clientHints.mobileflag must be true if theuserAgentstring contains 'Mobile' ( crrev.com/c/4507142 , Bug: 4243 ). - Mobile emulation : Migrated
DeviceMetricsoverrides to use theEmulation.setDeviceMetricsOverrideCDP command instead of the deprecatedPagedomain equivalent ( crrev.com/c/4502614 , Bug: 4243 ).
Internal changes and refactors
- BiDi : Updated the BiDi Mapper dependency, enabling deep serialization features ( crrev.com/c/4535936 , crrev.com/c/4512195 ).
- Removed the deprecated
Connectmethod fromDevToolsClientin preparation for migrating ChromeDriver to communicate over pipes ( crrev.com/c/4521485 , Bug: 3480 ). - Migrated the codebase to prefer
base::Value::Dictoverbase::Valueand replaced deprecated methods likeFindStringKey(),SetKey(), andSetByDottedPath()( crrev.com/c/4529788 , crrev.com/c/4522701 , crrev.com/c/4515800 , crrev.com/c/4507150 ). - Switched to using
string_util.hfunctions in place of[w]ctype.hfor safer type conversions ( crrev.com/c/4529187 ). - Changed the seed file loading logic to use absolute paths to ensure consistency when scripts and Chrome run in different locations ( crrev.com/c/4504656 ).
- Removed the unused
CallAsyncFunction()method fromweb_view.h( crrev.com/c/4518363 , Bug: 3376 ). - Applied an automated rename of
base::raw_ptrtoraw_ptrto follow style guide preferences ( crrev.com/c/4476651 ).
ক্রোমড্রাইভার ১১৪
নতুন বৈশিষ্ট্য
- Classic : Passed
MobileDeviceinformation toMobileEmulationOverrideManagerto lay the groundwork for future Client Hints and UserAgent overrides ( crrev.com/c/4447524 ). - Testing : Added test fixtures for ChromeDriver ( crrev.com/c/4459939 ).
বাগ সংশোধন
- Headless : Fixed a crash in the new headless mode by quietly ignoring scripted print preview requests (eg,
window.print()), aligning behavior with the old headless mode ( crrev.com/c/4436313 , Bug: 4385 ). - Capabilities : Fixed a use-after-move bug in ChromeDriver capabilities ( crrev.com/c/4462094 , Bug: 4243 ).
- DevTools : Removed a
DCHECKinDevToolsClientImpl::SendCommandInternalto prevent crashes when the DevTools connection breaks, as this is not an invariant violation ( crrev.com/c/4370486 , Bug: 4385 ).
Internal changes and refactors
- BiDi : Updated the BiDi Mapper dependency ( crrev.com/c/4418727 ).
- Addressed multiple dangling pointer warnings during unit test execution by properly managing unowned references and local destruction in
WebViewImpland performance logger tests ( crrev.com/c/4374824 , crrev.com/c/4368179 ). - Migrated codebase to use the new
base::Valuev2 API, replacing deprecated methods likeValue::SetPath(),Value::SetStringPath(), andbase::ListValue( crrev.com/c/4452309 , crrev.com/c/4431420 , crrev.com/c/4422897 , crrev.com/c/4377520 ). - Replaced all uses of
base::GUIDwithbase::Uuidto align with the core base library rename ( crrev.com/c/4455083 ). - Performed miscellaneous code cleanups, including shortening code, using monadic operations for
expected, removing dead code, and fixing style violations ( crrev.com/c/4475368 , crrev.com/c/4464199 ). - Updated tests involving fenced frames to use the
configattribute instead of the deprecatedsrcattribute ( crrev.com/c/4382231 ). - Removed ineffective
ShadowDOMV0usage ( crrev.com/c/4388302 ). - Reverted the addition of a flag for a Skia PDF fix (
SK_IGNORE_PDF_EOF_NEWLINE_FIX) to allow rebaselining ( crrev.com/c/4401451 ). - Updated the owner for the ChromeDriver test script and made adjustments to generate the configuration JSON exclusively for pinpoint ( crrev.com/c/4437492 , crrev.com/c/4298554 ).
- Added a missing include (
<cstring>) forstd::strleninweb_view_impl.ccto fix an IWYU build issue ( crrev.com/c/4376772 ). - Removed an unused test file (
orientation_test.html) ( crrev.com/c/4335668 ).
ক্রোমড্রাইভার 113.0.5672.63
ক্রোম সংস্করণ ১১৩ সমর্থন করে
- সমস্যা ৪২০৫ সমাধান করা হয়েছে: ক্লাসিক এবং বাইডি-তে একই অবজেক্ট আইডি [Pri-1]
- সমস্যা ৪৩০২ সমাধান করা হয়েছে: ExecuteGetWindowHandles-এ Mapper প্রথম ট্যাবে আছে বলে ধরে নেবেন না [Pri-1]
- সমস্যা ৪৩৫৬ সমাধান করা হয়েছে: ক্রোম ১১০ 'download.default_directory' প্রেফ ভ্যালুটি ব্যবহার করছিল না [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ১১৩.০.৫৬৭২.২৪
ক্রোম সংস্করণ ১১৩ সমর্থন করে
- সমস্যা ৪২০৫ সমাধান করা হয়েছে: ক্লাসিক এবং বাইডি-তে একই অবজেক্ট আইডি [Pri-1]
- সমস্যা ৪৩০২ সমাধান করা হয়েছে: ExecuteGetWindowHandles-এ Mapper প্রথম ট্যাবে আছে বলে ধরে নেবেন না [Pri-1]
- সমস্যা ৪৩৫৬ সমাধান করা হয়েছে: ক্রোম ১১০ 'download.default_directory' প্রেফ ভ্যালুটি ব্যবহার করছিল না [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ১১২.০.৫৬১৫.৪৯
ক্রোম সংস্করণ ১১২ সমর্থন করে
- সমস্যা ৩৫১৭ সমাধান করা হয়েছে: নন-হেডলেস [Pri-] এর জন্য প্রিন্ট ফিচার সক্রিয় করা হয়েছে
- সমস্যা ৪৪১৯ সমাধান করা হয়েছে: ক্রোমড্রাইভার ব্যবহার করার সময় স্পিডোমিটারে অতিরিক্ত ওভারহেড [Pri-3]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ১১২.০.৫৬১৫.২৮
ক্রোম সংস্করণ ১১২ সমর্থন করে
- সমস্যা ৪৩৫৭ সমাধান করা হয়েছে: Chromedriver সংস্করণ 110.0.5481.77-এর --headless এবং --user-data-dir অপশন সংক্রান্ত সেশন সমস্যা। [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 111.0.5563.64
ক্রোম সংস্করণ ১১১ সমর্থন করে
- সমস্যা ৪২১৬ সমাধান করা হয়েছে: কাস্টম BiDiMapper [Pri-] দিয়ে ChromeDriver চালানো
- সমস্যা ৪৩০০ সমাধান করা হয়েছে: ক্লাসিক এবং বাইডি [প্রাই-] এর মধ্যে উইন্ডো হ্যান্ডেল আন্তঃকার্যকরী।
- সমস্যা ৪৩২৫ সমাধান করা হয়েছে: call_function.js-এর jsonSerialize-এ toJSON-এর হ্যান্ডলিং স্ট্যান্ডার্ড থেকে বিচ্যুত। [Pri-]
- সমস্যা ৪৩৩০ সমাধান করা হয়েছে: DevToolsClientImpl::AddListener [Pri-] এ DCHECK ব্যর্থ হয়
- সমস্যা ৪৩৫৭ সমাধান করা হয়েছে: --headless এবং --user-data-dir অপশনগুলোর সাথে ChromeDriver সেশন সংক্রান্ত সমস্যা [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 111.0.5563.41
ক্রোম সংস্করণ ১১১ সমর্থন করে
- সমস্যা ৪৩৫৭ সমাধান করা হয়েছে: --headless এবং --user-data-dir অপশনগুলোর সাথে ChromeDriver সেশন সংক্রান্ত সমস্যা [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 111.0.5563.19
ক্রোম সংস্করণ ১১১ সমর্থন করে
- সমস্যা ৪২১৬ সমাধান করা হয়েছে: কাস্টম BiDiMapper [Pri-] দিয়ে ChromeDriver চালানো
- সমস্যা ৪৩০০ সমাধান করা হয়েছে: ক্লাসিক এবং বাইডি [প্রাই-] এর মধ্যে উইন্ডো হ্যান্ডেল আন্তঃকার্যকরী।
- সমস্যা ৪৩২৫ সমাধান করা হয়েছে: call_function.js-এর jsonSerialize-এ toJSON-এর হ্যান্ডলিং স্ট্যান্ডার্ড থেকে বিচ্যুত। [Pri-]
- সমস্যা ৪৩৩০ সমাধান করা হয়েছে: DevToolsClientImpl::AddListener [Pri-] এ DCHECK ব্যর্থ হয়
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 110.0.5481.77
ক্রোম সংস্করণ ১১০ সমর্থন করে
- সমস্যা ৪১৯৩ সমাধান করা হয়েছে: অ্যান্ড্রয়েড ১৩ [প্রাই-]-এ নতুন সেশন শুরু করতে ব্যর্থ।
- সমস্যা ৪২৭২ সমাধান করা হয়েছে: WebSocket-এর উচিত code=0-কে FIN-এর নির্দেশক হিসেবে বিবেচনা করা [Pri-]
- সমস্যা ৪২৭৬ সমাধান করা হয়েছে: ChromeDriver [Pri-]-এ সংযোগ সংক্রান্ত সমস্যা সমাধান করা হয়েছে।
- Resolved issue 4295: ChromeDriver with
"webSocketUrl": trueis racy [Pri-] - সমস্যা ৪২৯৭ সমাধান করা হয়েছে: ChromeDriver Bidi ভুলভাবে সিরিয়ালাইজ করে [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 110.0.5481.30
ক্রোম সংস্করণ ১১০ সমর্থন করে
- সমস্যা ৪১৯৩ সমাধান করা হয়েছে: অ্যান্ড্রয়েড ১৩ [প্রাই-]-এ নতুন সেশন শুরু করতে ব্যর্থ।
- সমস্যা ৪২৭২ সমাধান করা হয়েছে: WebSocket-এর উচিত code=0-কে FIN-এর নির্দেশক হিসেবে বিবেচনা করা [Pri-]
- সমস্যা ৪২৭৬ সমাধান করা হয়েছে: ChromeDriver [Pri-]-এ সংযোগ সংক্রান্ত সমস্যা সমাধান করা হয়েছে।
- Resolved issue 4295: ChromeDriver with
"webSocketUrl": trueis racy [Pri-] - সমস্যা ৪২৯৭ সমাধান করা হয়েছে: ChromeDriver Bidi ভুলভাবে সিরিয়ালাইজ করে [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 109.0.5414.74
Supports Chrome version 109
- Resolved issue 4179: BiDi session must support multiple connections [Pri-]
- Resolved issue 4203: Improve credits information [Pri-]
- Resolved issue 4263: Crash on Meta+A [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 109.0.5414.25
Supports Chrome version 109
- Resolved issue 4179: BiDi session must support multiple connections [Pri-]
- Resolved issue 4203: Improve credits information [Pri-]
- Resolved issue 4263: Crash on Meta+A [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 108.0.5359.71
Supports Chrome version 108 For more details, see the release notes .
ক্রোমড্রাইভার 108.0.5359.22
Supports Chrome version 108
- Resolved issue 4204: Fix the failing WPT test_top_level_and_one_child [Pri-]
- Resolved issue 4215: Rename chromedriver_mac64_m1 build to chromedriver_mac_arm64 [Pri-]
- Resolved issue 4221: Crash when a click command closes the browser [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 107.0.5304.62
Supports Chrome version 107
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 107.0.5304.18
Supports Chrome version 107
- Resolved issue 4180: Prohibit any BiDi commands handling until notified that BiDiMapper has started [Pri-]
- Resolved issue 4198: ChromeDriver BiDi should not assume that BiDiMapper is always in the first tab [Pri-]
- Resolved issue 4207: WebDriver error when running WPT [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 106.0.5249.61
Supports Chrome version 106
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 106.0.5249.21
Supports Chrome version 106
- Resolved issue 4016: Add basic BiDi support to ChromeDriver (Mapper based) [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 105.0.5195.52
Supports Chrome version 105
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 105.0.5195.19
Supports Chrome version
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 104.0.5112.79
Supports Chrome version 104
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 104.0.5112.29
Supports Chrome version 104
- Resolved issue 4121: WebDriver command sometimes fails with "unexpected command response" [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 104.0.5112.20
Supports Chrome version 104
- Resolved issue 4121: WebDriver command sometimes fails with "unexpected command response" [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 103.0.5060.134
Supports Chrome version 103
- Resolved issue 4048: target frame detached [Pri-]
- Resolved issue 4121: WebDriver command sometimes fails with "unexpected command response" [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 103.0.5060.53
Supports Chrome version 103
- Resolved issue 4048: target frame detached [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 103.0.5060.24
Supports Chrome version 103
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 102.0.5005.61
Supports Chrome version 102
- Resolved issue 1309282: chromedriver doesn't support multivalued switches [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 102.0.5005.27
Supports Chrome version 102
- Resolved issue 1309282: chromedriver doesn't support multivalued switches [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ১০১.০.৪৯৫১.৪১
Supports Chrome version 101
- Resolved issue 4046: DCHECK hit when appending empty fenced frame [Pri-]
- Resolved issue 4080: Switching to nested frame fails [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ১০১.০.৪৯৫১.১৫
Supports Chrome version 101
- Resolved issue 4046: DCHECK hit when appending empty fenced frame [Pri-]
- Resolved issue 4080: Switching to nested frame fails [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 100.0.4896.60
Supports Chrome version 100
- Resolved issue 4002: Support Fenced Frames [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ১০০.০.৪৮৯৬.২০
Supports Chrome version 100
- Resolved issue 4002: Support Fenced Frames [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৯.০.৪৮৪৪.৫১
Supports Chrome version 99
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৯.০.৪৮৪৪.৩৫
Supports Chrome version 99
- REVERTED!!! Resolved issue 2269: Impossible to use non-BMP characters (code points above U+FFFF) [Pri-3]
- Resolved issue chromium:1295243: Regression in ChromeDriver sendKeys [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৯.০.৪৮৪৪.১৭
Supports Chrome version 99
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৮.০.৪৭৫৮.১০২
Supports Chrome version 98
- Resolved issue 3933: Click at edge of viewport is ineffective without error [Pri-]
- REVERTED!!! Resolved issue 2269: Impossible to use non-BMP characters (code points above U+FFFF) [Pri-3]
- Resolved issue chromium:1295243: Regression in ChromeDriver sendKeys [Pri-1]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৮.০.৪৭৫৮.৮০
Supports Chrome version 98
- Resolved issue 3933: Click at edge of viewport is ineffective without error [Pri-]
- Resolved issue 2269: Impossible to use non-BMP characters (code points above U+FFFF) [Pri-3]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৮.০.৪৭৫৮.৪৮
Supports Chrome version 98
- Resolved issue 3933: Click at edge of viewport is ineffective without error [Pri-]
- Resolved issue 2269: Impossible to use non-BMP characters (code points above U+FFFF) [Pri-3]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার 97.0.4692.71
Supports Chrome version 97
- Resolved issue 3878: Better handling of fractional element coordinates for element click [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৭.০.৪৬৯২.৩৬
Supports Chrome version 97
- Resolved issue 3878: Better handling of fractional element coordinates for element click [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৭.০.৪৬৯২.২০
Supports Chrome version 97
- Resolved issue 3878: Better handling of fractional element coordinates for element click [Pri-]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৬.০.৪৬৬৪.৪৫
Supports Chrome version 96
- Resolved issue 3445: Impossible to access elements in iframe inside a shadow root [Pri-3]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৬.০.৪৬৬৪.৩৫
Supports Chrome version 96
- Resolved issue 3445: Impossible to access elements in iframe inside a shadow root [Pri-3]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৬.০.৪৬৬৪.১৮
Supports Chrome version 96
- Resolved issue 3445: Impossible to access elements in iframe inside a shadow root [Pri-3]
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৫.০.৪৬৩৮.৬৯
Supports Chrome version 95
- Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]
- Added
--allowed-originsargument
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৫.০.৪৬৩৮.৫৪
Supports Chrome version 95
- Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]
- Added
--allowed-originsargument
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৫.০.৪৬৩৮.১৭
Supports Chrome version 95
- Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]
- Added
--allowed-originsargument
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৫.০.৪৬৩৮.১০
Supports Chrome version 95
- Resolved issue 3857: Host header or origin header is specified and is not whitelisted or localhost [Pri-1]
- Added
--allowed-originsargument
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৪.০.৪৬০৬.১১৩
Supports Chrome version 94
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৪.০.৪৬০৬.৬১
Supports Chrome version 94
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৪.০.৪৬০৬.৪১
Supports Chrome version 94
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৩.০.৪৫৭৭.৬৩
Supports Chrome version 93
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯৩.০.৪৫৭৭.১৫
Supports Chrome version 93
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯২.০.৪৫১৫.১০৭
Supports Chrome version 92
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯২.০.৪৫১৫.৪৩
Supports Chrome version 92
- Resolved issue 3389: Host validation for ChromeDriver requests
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯১.০.৪৪৭২.১০১
Supports Chrome version 91
- Resolved issue 1205107: Unable to get attribute value for fields on the web application.
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯১.০.৪৪৭২.১৯
Supports Chrome version 91
- Resolved issue 3744: SendKeys() and Click() silently fail after link navigation
- Resolved issue 3746: attribute endpoint incorrectly updates values
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৯০.০.৪৪৩০.২৪
Supports Chrome version 90
- Resolved issue 3708: GetElementLocation's inView fails for elements in shadow DOM
- Resolved issue 3721: Collect performance log for service worker when enabled
- Resolved issue 3731: AdbImpl::GetPidByName doesn't work correctly on non-standard Android OS's like on OnePlus
- Resolved issue 3733: Catastrophic failure with domain on localhost
- Resolved issue 3734: Driver should Error Attempting to set Cookie on Wrong Domain
- Resolved issue 3743: Refactor call function and fix remove element issue
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৯.০.৪৩৮৯.২৩
Supports Chrome version 89
- Resolved issue 3667: Timed out receiving a message from renderer
- Resolved issue 3675: GetElementLocation uses inView method which mishandles boolean as array
- Resolved issue 3682: GetElementRegion returns incorrect size for elements which are partially out of viewport
- Resolved issue 3690: ChromeDriver fails if extensions use chrome.windows API
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৮.০.৪৩২৪.৯৬
Supports Chrome version 88
- Resolved issue 3641: Page not getting loaded/rendered when browser window is not in focus with Chrome Beta v87 and chromedriver v(87/86)
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৮.০.৪৩২৪.২৭
Supports Chrome version 88
- Resolved issue 3611:
getText()output in protractor different from<element>.innerText - Resolved issue 3625: Improve element screenshot compatibility
- Resolved issue 3628: Stale Element Reference and wrong URL reported back with URL having another URL as part of its path
- Resolved issue 3631: Add support for the
webauthn:extension:largeBlobcapability - Resolved issue 3635: Chromedriver 86 -
chromedriver.quit()doesn't seem to pass unload event properly - Resolved issue 3649: Copying selected text to clipboard doesn't work on Windows 10 when using headless mode
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৭.০.৪২৮০.৮৮
Supports Chrome version 87
- Resolved issue 3641: Page not getting loaded/rendered when browser window is not in focus with Chrome Beta v87 and chromedriver v(87/86)
- Resolved issue 3657: Screenshot background browser timed out
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৭.০.৪২৮০.২০
Supports Chrome version 87
- Resolved issue 2421: Delete old port-forwarding channels on android adb-server
- Resolved issue 3474: Emulated mobile device list needs updating
- Resolved issue 3507: Implement "get computed role"
- Resolved issue 3508: Implement "get computed label"
- Resolved issue 3584: Rename ChromeDriver command line option --whitelisted-ips
- Resolved issue 3588: Bidi WebSocket connection
- Resolved issue 3594: Navigation completes prematurely if OOPIF loads before main page
- Resolved issue 3598: A command line option for devtools port to be forwarded to webview_devtools_remote socket
- Resolved issue 3608: Chromedriver debuggerAddress doesn't support ipv6
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৬.০.৪২৪০.২২
Supports Chrome version 86
- Resolved issue 3370: Shut down Chrome gracefully or cookie will not be correctly saved to SQLite persistence file
- Resolved issue 3401: Get Element Location JS doesn't locate the visible center of the element
- Resolved issue 3462: For sendKeys, CMD key don't work for MAC
- Resolved issue 3541: Improve log between Client and ChromeDriver
- Resolved issue 3559: Output Chrome version when ChromeDriver reports incompatible
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৫.০.৪১৮৩.৮৭
Supports Chrome version 85
- Resolved issue 3578: Chrome 85 no longer allows graceful interaction with windows when an alert dialog is open
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৫.০.৪১৮৩.৮৩
Supports Chrome version 85
- Resolved issue 3577: ChromeDriver 85 doesn't detect changed Chrome directory (C:\Program Files)
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৫.০.৪১৮৩.৩৮
Supports Chrome version 85
- Resolved issue 3214: ChromeDriver78: Sendkeys resets text selection with contenteditable
- Resolved issue 3376: Remove LaunchApp command from ChromeDriver
- Resolved issue 3432: Sometimes
NavigationTrackerfails to detect when the page has finished loading - Resolved issue 3481: New Print endpoint according to w3c spec
- Resolved issue 3488: driver.get doesn't throw error when proxy is wrong configured
- Resolved issue 3502: Use
document.hasFocus()to check if element is focused - Resolved issue 3515: selenium.common.exceptions.WebDriverException: Message: unknown error: bad inspector message
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৪.০.৪১৪৭.৩০
Supports Chrome version 84
- Resolved issue 3420: after switching to the print window, the chromedriver stops responding
- Resolved issue 3421: Driver returns Cyrillic text without styles
- Resolved issue 3422: GetElementText breaks with prototype 1.6.0.3
- Resolved issue 3434: Cannot get 'assert' messages from the 'browser' logs
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৩.০.৪১০৩.৩৯
Supports Chrome version 83
- Updated Chromedriver to work correctly with prototype.js.
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮৩.০.৪১০৩.১৪
Supports Chrome version 83
- Resolved issue 1778: Deprecate launchApp from ChromeDriver
- Resolved issue 2520: InitSession can wait forever when Chrome is unresponsive
- Resolved issue 3120: Headless mode download from new tab
- Resolved issue 3234: Confirm semicolon found before substring
- Resolved issue 3240: ExecuteGetElementRect doesn't check returned status from GET_SIZE
- Resolved issue 3331: The
get_cookies()method is returning 'expiry' keys of type double, but should be int64 in w3c mode - Resolved issue 3332: Retry timeout logged as severe
- Resolved issue 3339: Chromedriver exited unexpectedly with code null, signal SIGTRAP
- Resolved issue 3351: Improve Security Considerations message
- Resolved issue 3352: Support SendKeys for color elements
- Resolved issue 3353: Wait for Pending Navigation continues after frame context destroyed
- Resolved issue 3375: Chromedriver v80 stalls on getPageSource on some sites
- Resolved issue 3383: ChromeDriver 80+ on Windows seems to exit or stall on certain element or click commands
- Resolved issue 3399: Remove wasThrown check
ক্রোমড্রাইভার ৮১.০.৪০৪৪.১৩৮
Supports Chrome version 81
- Updated Chromedriver to work correctly with prototype.js.
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮১.০.৪০৪৪.৬৯
Supports Chrome version 81
- Fixed: Chromedriver crashes on getPageSource on some sites.
- Fixed: ChromeDriver crashes on certain element or click commands.
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮১.০.৪০৪৪.২০
Supports Chrome version 81
- Fixed error when attempting to get location of html element.
- Get and Add Cookie commands are now frame specific.
- Resolved some issues that occur with sites that redefine standard Javascript objects.
- ChromeDriver will continue to wait for loading to complete after receiving a Target Closed message.
- Chromedriver now returns spec compliant error code for timeouts
- Fixed: ChromeDriver Unexpected Slow response time on NewSession Command.
- User-defined timeouts of over 10 minutes are now supported.
- Fixed: ChromeDriver unable to connect to DevTools due to IPv4 vs IPv6 mismatch.
- Restored search order for Chrome binary on Linux.
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮০.০.৩৯৮৭.১০৬
Supports Chrome version 80
- Restored search order for Chrome binary on Linux
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৮০.০.৩৯৮৭.১৬
Supports Chrome version 80
- Fixed Load page was aborted when using a proxy.
- Chromedriver now waits for Current frame to load.
- ChromeDriver log will include the port used by the driver.
- Enabled SetGeoLocation for w3c mode.
- Added missing Alert text for UnexpectedAlertOpen status.
- Improved message when CRX2 Extension is loaded.
- Fixed a potential race condition in ExecuteGetPageSource.
- ChromeDriver will add --ignore-certificate-errors flag when acceptInsecureCerts capability is true
- Updated the error message and return status for no such execution context
- Fixed: ChromeDriver may block indefinitely while waiting for pending navigation.
- Added SameSite attribute to AddCookie and GetCookie.
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৯.০.৩৯৪৫.৩৬
Supports Chrome version 79
Includes the following change over version 79.0.3945.16:
- Fixed incorrect calculation of element coordinates
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৯.০.৩৯৪৫.১৬
Supports Chrome version 79
- Fixed ChromeDriver crash caused by javascript alert fired during command execution
- Fixed a bug causing Chromedriver to lock when an alert is fired while taking a screenshot
- Removed --ignore-certificate-errors from Chrome launch command
- Changed platform and platformName to windows on Win10
- Fixed undefined window.navigator.webdriver when "enable-automation" is excluded
- Fixed WPT test "test_not_editable_inputs[hidden]"
- Fixed "Element is not clickable" when using headless mode
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৮.০.৩৯০৪.১০৫
Supports Chrome version 78
Includes the following change over version 78.0.3904.70: * Fixed incorrect calculation of element coordinates
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৮.০.৩৯০৪.৭০
Supports Chrome version 78
Includes the following change over version 78.0.3904.11:
- Reverted the change to adjust screeshot size on retina display, due to multiple issues reported
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৮.০.৩৯০৪.১১
Supports Chrome version 78
- Fixed several issues in JavaScript object serialization
- Fixed a bug in capability matching for Chrome on Android
- Implemented permissions automation
- Fixed screenshot size on retina display
- Fixed page load timeout in some scenarios
- Improved platformName capability matching
- Fixed error code returned while moving pointer to drop-down list options
- Fixed an issue affecting download in headless mode
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৭.০.৩৮৬৫.৪০
Supports Chrome version 77
Includes the following changes over version 77.0.3865.10:
- Fixed two bugs in serializing and deserializing JavaScript objects
- Fixed handling of platformName: android while matching capabilities
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৭.০.৩৮৬৫.১০
Supports Chrome version 77
- Fixed several issues in the implementation of Actions API
- Improved JavaScript code execution and result handling
- Fixed a bug that incorrectly rejected POST requests with empty body in OSS mode
- A more robust navigation tracker
- Support eager page load strategy
- Added New Window command from W3C WebDriver spec
- Support to save file downloads in headless mode
- Added support for loading CRX3 extensions
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৬.০.৩৮০৯.১২৬
Supports Chrome version 76
Includes the following changes over version 76.0.3809.68:
- Fixed two bugs in serializing and deserializing JavaScript objects
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৬.০.৩৮০৯.৬৮
Supports Chrome version 76
Includes the following changes over version 76.0.3809.25:
- Fixed a bug in detecting circular reference in JavaScript objects
- Fixed a bug that causes ChromeDriver to crash when certain types of JavaScript errors occur
- Fixed a bug that prevents actions API to interact with elements inside shadow DOMs
- Fixed a bug in keeping track of modifier key state between actions API commands
- Fixed a bug in keeping track of pointer locations between actions API commands
- Save "Cannot call non W3C standard command while in W3C mode" error to log file when it occurs
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৬.০.৩৮০৯.২৫
Supports Chrome version 76
Includes the following changes over version 76.0.3809.12:
- Fixed a bug that incorrectly rejected POST requests with empty body in OSS mode
- Added new endpoints for retrieving Chrome log
- Added endpoint for Is Displayed command in W3C mode
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৬.০.৩৮০৯.১২
Supports Chrome version 76
- Finished implementation of Actions API
- Improved spec compliance of script timeout handling
- Improved serialization of results from Execute Script command
- Fixed issues in scrolling element into view
- Added handling of Cancel key defined in WebDriver spec
- Fixed processing of unhandled alert error response
- Fixed processing of
<details>element - Updated excludeSwitches option to allow optional leading dashes in switch names
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৫.০.৩৭৭০.১৪০
Supports Chrome version 75
Includes the following changes over version 75.0.3770.90:
- Fixed a bug that caused ChromeDriver to crash when some types of JavaScript error occurs
- Fixed a bug in preserving modifier key state between actions
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৫.০.৩৭৭০.৯০
Supports Chrome version 75
Includes the following changes over version 75.0.3770.8:
- Fixed a bug that incorrectly rejected POST requests with empty body in OSS mode
- Added new endpoints for retrieving Chrome log
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৫.০.৩৭৭০.৮
Supports Chrome version 75
The most noticeable change is ChromeDriver now runs in W3C standard compliant mode by default . Other changes include:
- Fixed a bug that caused blur event to be raised twice during element clear
- Renamed capability loggingPrefs to goog:loggingPrefs, as required by W3C standard
- Fixed error handling in W3C mode
- Correct handling of creating cookies without leading dot in the domain name
- Allows null for script timeout
- Fixed Element Send Keys command to file input with 'multiple' attribute
- Fixed Get Active Element command to return "no such element" error when no active element exists
- Fixed navigation to malformed URL to return "invalid argument" error
- Fixed HTTP status code when invalid session id is received
- Fixed error response when input parameter is missing or malformed
- Fixed Execute Script command to handle line-oriented JavaScript comment
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৪.০.৩৭২৯.৬
Supports Chrome version 74
- Fixed a bug that generated unexpected debug.log file on Windows
- Fixed mouse clicking and drag / drop inside SVG document
- Added cache-control header in responses from ChromeDriver
- Fixed the type of error when click is intercepted by a different element
- Fixed a bug that caused ChromeDriver to fail on Linux devices without /dev/shm
- Fixed some types of double click events
- Fixed Get Sessions command
- Fixed error checking in Switch To Frame command
- Fixed Get Page Source command
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ৭৩.০.৩৬৮৩.৬৮
Supports Chrome version 73
- Fixed a bug that generated unexpected debug.log file on Windows
- Fixed error code returned from Execute Script command in some scenarios
- Added cache-control header in responses from ChromeDriver
- Made the HTTP server keep connection alive by default
- Fixed Close Window command to correctly handle user prompts
- Fixed error code returned while sending keys to disabled element
- Improved spec compliance of timeout value handling
- Improved spec compliance of Add Cookie command
- Increased HTTP server listening queue length
- Fixed Is Element Displayed command in v0 shadow DOM
- Added warning about Element Clear command behavior change in log file
- Fixed Execute Script command to correctly convert document.all into JSON format
- Improved handling of bad element reference
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ২.৪৬
Supports Chrome v71-73
- Fixed error code returned from Execute Script command in some scenarios
- Made the HTTP server keep connection alive by default
- Fixed Close Window command to correctly handle user prompts
- Fixed error code returned while sending keys to disabled element
- Improved spec compliance of timeout value handling
- Improved spec compliance of Add Cookie command
- Improved spec compliance of Switch to Frame command
- Increased HTTP server listening queue length
- Fixed Is Element Displayed command in v0 shadow DOM
- Fixed Element Double Click command
- Added warning about Element Clear command behavior change in log file
- Fixed Execute Script command to correctly convert document.all into JSON format
- Improved handling of bad element reference
আরও বিস্তারিত জানতে রিলিজ নোট দেখুন।
ক্রোমড্রাইভার ২.৪৫
Supports Chrome v70-72
- Fixed New Session is not spec compliant
- Fixed ChromeDriver shouldn't launch Chrome if Chrome and ChromeDriver versions are incompatible
- Fixed Find Element command returns wrong error code when an invalid locator is used
- Fixed Some ChromeDriver status codes are wrong
- Fixed Compile error in JS inside of WebViewImpl::DispatchTouchEventsForMouseEvents
- Fixed Window size commands should handle user prompts
- Fixed ChromeDriver doesn't start Chrome correctly with Chrome option "user-data-dir="
- Fixed Status command is not spec compliant
- Fixed Add support for strictFileInteractability
ক্রোমড্রাইভার ২.৪৪
Supports Chrome v69-71
- Fixed WindowMaximize on Mac
- Fixed Incorrect 'alert open error' for window handle call
- Fixed Element Send Keys should get "text" property in W3C mode
- Fixed XML special case of Is Element Enabled is not handled as per spec
- Fixed XML special case of Get Element CSS Value is not handled as per spec
- Fixed Set Window Rect needs to check for invalid input
- Fixed Support new unhandledPromptBehavior modes
ক্রোমড্রাইভার ২.৪৩
Supports Chrome v69-71
পরিবর্তনগুলোর মধ্যে রয়েছে:
- Fixed Parsing of proxy configuration is not standard compliant
- Fixed Launch app command is flaky
- Fixed Screenshot of element inside iFrame is taken incorrectly
- Added ChromeDriver supports window resizing over a remote connection
- Fixed Error codes are not handled in Clear element
- Fixed Not waiting until element is visible
- Fixed Get element property is not implemented
- Fixed Switch to Frame is not spec compliant
- Fixed Execute Async Script doesn't return spec compliant error codes
- Fixed Execute Script doesn't return spec compliant error codes
- Fixed Error code in ExecuteGet is not conformant with spec
- Fixed Send Alert Text is not returning spec compliant error codes
- Fixed clear() on an input type="date" pretends element is not user-editable
- Fixed Chromedriver gets window handle for the tab which is opened manually
- Fixed Allow append or start a new log file for chromedriver
- Fixed New Session doesn't invoke w3c mode if flag is in firstMatch
ক্রোমড্রাইভার ২.৪২
ক্রোম সংস্করণ ৬৮-৭০ সমর্থন করে
পরিবর্তনগুলোর মধ্যে রয়েছে:
- Fixed ClickEelement in Mobile emulation
- IPv4 দিয়ে হোয়াইটলিস্টেড আইপিগুলো ঠিক করা হয়েছে
- Mac OS-এ whitelisted-ips ফ্ল্যাগ ব্যবহার করে ChromeDriver চালু করার সমস্যাটি সমাধান করা হয়েছে।
- প্রি-W3C এবং W3C উভয় ফরম্যাট গ্রহণ করার জন্য SetTimeout স্থির করা হয়েছে।
- স্থির উপাদান স্ক্রিনশট নিন
- সমাধান করা হয়েছে যে ChromeDriver সিস্টেম PATH-এও Chrome বাইনারি খুঁজছিল।
- উইন্ডো ম্যাক্সিমাইজ এবং ফুল স্ক্রিন স্থির করুন
- Implemented log-replay feature. ( doesn't work for Android and Remote Browser yet )
- W3C স্ট্যান্ডার্ডের সাথে সঙ্গতিপূর্ণ নয় এমন কিছু এরর কোড সংশোধন করা হয়েছে।
- একাধিক আর্গুমেন্ট সঠিকভাবে পরিচালনা না করার সমস্যাটি কনসোল.লগ-এর সমাধান করা হয়েছে।
- ফিক্সড GetElementRect-কে ডাবল সংখ্যা গ্রহণ করতে হবে।
- স্থির স্পর্শ অনুকরণ
ক্রোমড্রাইভার ২.৪১
ক্রোম সংস্করণ ৬৭-৬৯ সমর্থন করে
পরিবর্তনগুলোর মধ্যে রয়েছে:
- "whitelisted-ips" অপশন সহ ChromeDriver চলার সময়কার সমস্যাটি সমাধান করা হয়েছে।
- ক্যাপাবিলিটিজ-এ রিমোট ডিবাগিং পোর্ট ফেরত দেওয়া হয়।
- অ্যান্ড্রয়েডে উইন্ডোর আকার পাওয়ার ব্যবস্থা বাস্তবায়ন করা হয়েছে।
- ডেস্কটপ ক্রোম চালু করার ত্রুটির বার্তাগুলো উন্নত করা হয়েছে।
- ক্রোম বাইনারিগুলো চালু করতে না পারলে ChromeDriver দ্রুত ব্যর্থ হয়।
- ক্লোজ উইন্ডো রিটার্ন ভ্যালু স্পেসিফিকেশনের সাথে সঙ্গতিপূর্ণ।