คุณเคยประสบปัญหาหรือไม่ขณะพัฒนาเว็บแอปพลิเคชันหรือรันเทสต์อัตโนมัติ: Chrome อัปเดตตัวเองโดยไม่คาดคิด ทำให้สคริปต์ที่เคยทำงานได้ดีมีปัญหา? หรือขณะดีบัก คุณไม่แน่ใจว่าบั๊กเกิดจากโค้ดของคุณหรือเกิดจากการที่เบราว์เซอร์เวอร์ชันใหม่?
Google ได้เปิดตัวเวอร์ชันพิเศษเพื่อแก้ปัญหาเหล่านี้ นั่นคือ Chrome for Testing นี่ไม่ใช่เวอร์ชันทดสอบ (Beta/Dev/Canary) ทั่วไป แต่เป็น "รสชาติ" ที่แยกออกมาโดยเฉพาะสำหรับนักพัฒนาและระบบเทสต์อัตโนมัติ
คุณสมบัติที่โดดเด่นที่สุดของ Chrome for Testing คือ: จะไม่ทำการอัปเดตอัตโนมัติโดยสิ้นเชิง อันที่จริงแล้ว มันไม่สามารถอัปเดตด้วยตนเองได้ด้วยซ้ำ
แตกต่างจาก Chrome ที่เราใช้กันในชีวิตประจำวัน Chrome for Testing ไม่ได้ติดตั้งผ่านตัวติดตั้ง คุณจะดาวน์โหลดไฟล์ ZIP ที่มีเบราว์เซอร์ครบถ้วน เมื่อแตกไฟล์แล้ว สามารถรันไฟล์ที่สั่งงานได้โดยตรง แต่ละเวอร์ชันที่เฉพาะเจาะจง แต่ละช่องทางการเผยแพร่ (Stable/Beta/Dev/Canary) จะมีแพ็กเกจดาวน์โหลดแยกต่างหาก
การออกแบบนี้หมายความว่า: คุณสามารถควบคุมเวอร์ชันของ Chrome ที่คุณใช้ได้อย่างสมบูรณ์ โดยไม่ต้องกังวลว่ามันจะอัปเดตตัวเองในขณะที่คุณกำลังทำงานสำคัญ
ลองนึกภาพสถานการณ์เหล่านี้:
• ขณะดีบักส่วนขยายหรือสคริปต์: คุณกำลังพยายามแก้ไขบั๊กที่ซับซ้อนอยู่ จู่ๆ Chrome ก็อัปเดตตัวเองในพื้นหลัง การแสดงผลของบั๊กก็เปลี่ยนไป ตอนนี้คุณไม่สามารถแน่ใจได้ว่าปัญหาเกิดจากโค้ดของคุณหรือจากการอัปเดตเบราว์เซอร์ ซึ่งทำให้การดีบักยากขึ้น
• การทดสอบความเข้ากันได้ของเวอร์ชัน: เว็บแอปพลิเคชันของคุณหยุดทำงานหลังจาก Chrome อัปเดต ด้วย Chrome for Testing คุณสามารถดาวน์โหลดเวอร์ชันเก่าเพื่อทดสอบเปรียบเทียบ และระบุได้อย่างแม่นยำว่าเป็นปัญหาที่เกิดจาก Chrome เวอร์ชันใด
• สถานการณ์เทสต์อัตโนมัติ: คุณมีชุดสคริปต์เทสต์อัตโนมัติที่รันในไปป์ไลน์ CI/CD หาก Chrome อัปเดตตัวเอง อาจทำให้การเทสต์ล้มเหลวโดยไม่คาดคิด และส่งผลกระทบต่อกระบวนการเผยแพร่ การใช้ Chrome for Testing สามารถรับประกันความสอดคล้องของสภาพแวดล้อมการเทสต์ได้
Chrome for Testing ไม่มีปุ่ม "ดาวน์โหลด" ที่เห็นได้ชัดเจน เพราะการออกแบบเริ่มต้นมีเป้าหมายเพื่อให้นักพัฒนาเลือกเวอร์ชันที่เฉพาะเจาะจง
Google มี API endpoint และเครื่องมือที่เกี่ยวข้องสำหรับการรับเวอร์ชันที่เฉพาะเจาะจง:
• หน้า Dashboard: แสดงเวอร์ชันล่าสุดของแต่ละช่องทางการเผยแพร่
• คลัง GitHub: มีรายการเวอร์ชันที่สมบูรณ์และ API endpoint ในรูปแบบ JSON
• คำขอ API: ดาวน์โหลดเวอร์ชันที่ต้องการโดยอัตโนมัติผ่านสคริปต์
โดยทั่วไป นักพัฒนาจะเขียนสคริปต์เพื่อรับเวอร์ชันที่ต้องการโดยอัตโนมัติ ใน API รายการ "Known Good Versions" ของ GitHub คุณสามารถค้นหาเวอร์ชันทั้งหมดตั้งแต่เดือนพฤษภาคม 2023 (เวอร์ชัน 113, Chrome for Testing เปิดตัวครั้งแรก) จนถึงปัจจุบัน รวมถึงเวอร์ชันแพตช์ทั้งหมดภายใต้หมายเลขเวอร์ชันหลักแต่ละเวอร์ชัน
แม้ว่า Chrome for Testing จะพยายามรักษาความสอดคล้องกับเวอร์ชันปกติ แต่ก็ยังมีข้อแตกต่างที่ควรทราบ:
• แถบด้านบน: จะมีแถบแสดงข้อความที่ด้านบนของหน้าต่างเบราว์เซอร์เสมอ เพื่อเตือนว่า "Chrome for testing is only for automated testing. For regular browsing, use a standard version of Chrome that updates automatically." นี่มีไว้เพื่อป้องกันไม่ให้ผู้ใช้ใช้เป็นเบราว์เซอร์ประจำวัน
• การระบุชื่อ: ในเมนูการตั้งค่าและตำแหน่งอื่นๆ จะแสดง "Chrome For Testing" แทนที่จะเป็นเพียง "Chrome"
• รายละเอียดแบรนด์: บางส่วนของอินเทอร์เฟซจะแสดง "Chromium" แทน "Chrome" เช่นในส่วนการเข้าสู่ระบบโปรไฟล์
Chrome for Testing อาจเปิดใช้งานหรือปิดใช้งานคุณสมบัติทดลองบางอย่าง (flags) ไว้แล้ว ตัวอย่างเช่น ผู้ใช้บางคนพบว่า Chrome for Testing เวอร์ชันเดียวกันเปิดใช้งานเมนูจัดการส่วนขยายใหม่โดยอัตโนมัติ ในขณะที่ในเวอร์ชันปกติ คุณต้องเปิดใช้งานผ่าน flags ด้วยตนเอง
เป็นที่น่าสังเกตว่าความแตกต่างเหล่านี้ส่วนใหญ่อยู่ในการตั้งค่าเริ่มต้น ไม่ใช่ในตัวฟังก์ชันเอง แนวคิดหลักของ Chrome for Testing คือการใกล้เคียงกับ Chrome ปกติของเวอร์ชันที่เทียบเท่าให้มากที่สุด เพียงแต่อาจมีการเปิด/ปิดสถานะเริ่มต้นของคุณสมบัติทดลองบางอย่างที่แตกต่างกัน
ในระบบ Windows, Chrome for Testing จะใช้ไดเรกทอรีข้อมูลผู้ใช้ที่แยกต่างหาก (ซึ่งอยู่ในโฟลเดอร์ AppData) หมายความว่ามันจะไม่แชร์บุ๊กมาร์ก ส่วนขยาย คุกกี้ หรือข้อมูลอื่นๆ กับ Chrome เวอร์ชันอื่นที่คุณติดตั้งไว้
Chrome for Testing ไม่ได้ออกแบบมาสำหรับผู้ใช้ทั่วไป สถานการณ์การใช้งานทั่วไปได้แก่:
• การแยกสภาพแวดล้อมการพัฒนา: ใช้เวอร์ชันที่เฉพาะเจาะจงขณะพัฒนาในเครื่อง เพื่อหลีกเลี่ยงผลกระทบจากการอัปเดตเบราว์เซอร์ต่อความคืบหน้าของการพัฒนา
• เฟรมเวิร์กเทสต์อัตโนมัติ: ใช้ร่วมกับเครื่องมือต่างๆ เช่น Selenium, Puppeteer เพื่อให้แน่ใจว่าสภาพแวดล้อมการเทสต์มีเวอร์ชันที่คงที่
• การตรวจสอบความเข้ากันได้ของเวอร์ชัน: สลับเวอร์ชันต่างๆ อย่างรวดเร็วเพื่อทดสอบความเข้ากันได้
• การจำลองและระบุบั๊ก: กำหนดเวอร์ชันที่เฉพาะเจาะจงเพื่อจำลองปัญหาได้อย่างแม่นยำ
แม้ว่า Chrome for Testing จะมีฟังก์ชันครบถ้วน แต่ Google ก็แนะนำอย่างชัดเจนว่า ไม่ควรใช้เป็นเบราว์เซอร์ประจำวัน เหตุผลง่ายๆ คือ: การไม่อัปเดตอัตโนมัติหมายถึงการไม่ได้รับแพตช์ความปลอดภัย และการใช้งานระยะยาวมีความเสี่ยงด้านความปลอดภัย
Chrome for Testing มีฟังก์ชันที่เหมือนกับ Chrome ปกติในเวอร์ชันเดียวกันเป็นส่วนใหญ่ ความแตกต่างหลักคือจะไม่ทำการอัปเดตอัตโนมัติและการตั้งค่าเริ่มต้นของฟีเจอร์ทดลองบางอย่างอาจแตกต่างกัน เป้าหมายของการออกแบบคือเพื่อให้ใกล้เคียงกับเวอร์ชันปกติให้มากที่สุด เพื่อให้ผลลัพธ์การทดสอบมีความแม่นยำ
ไม่แนะนำให้ทำเช่นนั้น Chrome for Testing จะไม่อัปเดตอัตโนมัติ ซึ่งหมายความว่าคุณจะไม่ได้รับการแก้ไขด้านความปลอดภัยและบั๊กที่ทันท่วงที การใช้งานระยะยาวมีความเสี่ยงด้านความปลอดภัย Google ยังแจ้งอย่างชัดเจนในอินเทอร์เฟซว่าเวอร์ชันนี้มีไว้สำหรับระบบเทสต์อัตโนมัติเท่านั้น
ไปที่ หน้า GitHub ของ Chrome for Testing ใน API endpoint "Known Good Versions" คุณสามารถดูเวอร์ชันที่มีอยู่ทั้งหมดได้ คุณสามารถดาวน์โหลดไฟล์ ZIP ของเวอร์ชันที่ต้องการได้ผ่านการเรียก API หรือโดยตรงจาก Dashboard
Chrome for Testing มีให้ดาวน์โหลดสำหรับแพลตฟอร์ม Windows, macOS และ Linux โดยแต่ละแพลตฟอร์มจะมีเวอร์ชันสำหรับช่องทางการเผยแพร่ที่แตกต่างกัน (Stable/Beta/Dev/Canary)
ได้ เนื่องจาก Chrome for Testing ใช้ไดเรกทอรีข้อมูลผู้ใช้ที่แยกต่างหากและไม่จำเป็นต้องติดตั้ง คุณสามารถรัน Chrome for Testing หลายเวอร์ชันที่แตกต่างกันพร้อมกันได้ โดยจะไม่รบกวนกันและกัน หรือรบกวน Chrome ปกติที่คุณติดตั้งไว้
โครงร่าง