Chrome สำหรับการทดสอบ: การดาวน์โหลดที่เชื่อถือได้สำหรับระบบอัตโนมัติของเบราว์เซอร์

วันนี้เรายินดีที่จะประกาศเปิดตัว Chrome สำหรับการทดสอบ ซึ่งเป็น Chrome รสชาติใหม่ที่กำหนดเป้าหมายสำหรับการทดสอบเว็บแอปและกรณีการใช้งานอัตโนมัติโดยเฉพาะ บทความนี้จะอธิบายเหตุผลที่ทีม Chrome เห็นว่าจำเป็น และจะแนะนำตัวอย่างที่เป็นรูปธรรมซึ่ง Chrome สำหรับการทดสอบอาจเป็นประโยชน์ต่อคุณในฐานะนักพัฒนาซอฟต์แวร์

ที่มา

การทดสอบเบราว์เซอร์เป็นองค์ประกอบสำคัญในการสร้างประสบการณ์การใช้งานเว็บคุณภาพสูง ไม่ว่าจะเป็นการดำเนินการด้วยตนเองหรือโดยอัตโนมัติ ในขณะเดียวกัน การตั้งค่าสภาพแวดล้อมการทดสอบเบราว์เซอร์ที่เพียงพอไม่ใช่เรื่องที่ยากเย็นเสียอีก จนทำให้มีการรายงานว่าเป็นปัญหาของนักพัฒนาเว็บชั้นนำอย่างสม่ำเสมอ วันนี้เราขอแจ้งให้ทราบถึงการเปลี่ยนแปลงที่หวังว่าจะช่วยบรรเทาความเจ็บปวดบางส่วนได้

การอัปเดตอัตโนมัติ: เหมาะสำหรับผู้ใช้ และสร้างความเดือดร้อนแก่นักพัฒนาแอป

คุณสมบัติเด่นอย่างหนึ่งของ Chrome คือความสามารถในการอัปเดตอัตโนมัติ ผู้ใช้รู้สึกดีใจที่ได้ทราบว่าตนใช้เบราว์เซอร์เวอร์ชันล่าสุดและปลอดภัย รวมถึงฟีเจอร์แพลตฟอร์มเว็บที่ทันสมัย ฟีเจอร์ของเบราว์เซอร์ และการแก้ไขข้อบกพร่องอยู่เสมอ

อย่างไรก็ตาม ในฐานะนักพัฒนาซอฟต์แวร์ที่ใช้ชุดการทดสอบแบบปลายทางถึงปลายทาง คุณอาจมีมุมมองที่ต่างออกไปโดยสิ้นเชิง เช่น

  • คุณต้องการผลลัพธ์ที่สม่ำเสมอและทำซ้ำได้ในการทดสอบซ้ำๆ แต่กรณีนี้อาจไม่เกิดขึ้นหากโปรแกรมปฏิบัติการหรือไบนารีของเบราว์เซอร์ตัดสินใจอัปเดตตัวเองในระหว่างการทดสอบ 2 ครั้ง
  • คุณต้องการปักหมุดเวอร์ชันของเบราว์เซอร์ที่ต้องการ และตรวจสอบหมายเลขเวอร์ชันนั้นในที่เก็บซอร์สโค้ดเพื่อให้สามารถดูคอมมิตและสาขาเก่า รวมถึงทำการทดสอบกับไบนารีของเบราว์เซอร์อีกครั้งจากช่วงเวลานั้น

ทั้ง 2 อย่างนี้จะไม่สามารถทำได้หากใช้ไบนารีของเบราว์เซอร์ที่อัปเดตอัตโนมัติ ด้วยเหตุนี้ คุณอาจไม่ต้องการใช้การติดตั้ง Chrome แบบปกติสำหรับการทดสอบอัตโนมัติ ข้อมูลนี้เป็นข้อมูลพื้นฐานที่ไม่ตรงกันระหว่างข้อดีสำหรับผู้ใช้เบราว์เซอร์ทั่วไปกับข้อดีสำหรับนักพัฒนาซอฟต์แวร์ที่ทำการทดสอบอัตโนมัติ

ไบนารีของเบราว์เซอร์ที่มีเวอร์ชัน

นอกจากการอัปเดตอัตโนมัติแล้ว คุณอาจพบว่าการหาไบนารีของ Chrome ในเวอร์ชันที่เจาะจงนั้นทำได้ยาก Google ตั้งใจที่จะไม่ให้บริการดาวน์โหลดของ Chrome ที่มีการกำหนดเวอร์ชัน เนื่องจากผู้ใช้ไม่ควรให้ความสำคัญกับหมายเลขเวอร์ชัน ผู้ใช้ควรได้รับการอัปเดตเป็นเวอร์ชันล่าสุดโดยเร็วที่สุดเสมอ วิธีนี้เหมาะสำหรับผู้ใช้ แต่ยุ่งยากสำหรับนักพัฒนาซอฟต์แวร์ที่ต้องสร้างรายงานข้อบกพร่องซ้ำใน Chrome เวอร์ชันเก่า

ตัวอย่างที่เจาะจงมากขึ้นของปัญหานี้คือเมื่อคุณต้องการใช้ ChromeDriver สำหรับระบบอัตโนมัติของเบราว์เซอร์ นอกจากคุณจะต้องดาวน์โหลดไบนารีของ Chrome แล้ว คุณยังต้องมีไบนารี ChromeDriver ที่ตรงกับเวอร์ชันที่เกี่ยวข้องด้วยเพื่อให้แน่ใจว่าไบนารีทั้ง 2 แบบใช้งานร่วมกันได้

เนื่องจากไม่มีวิธีที่ดีในการแก้ไขปัญหาเหล่านี้ เราทราบดีว่านักพัฒนาซอฟต์แวร์จำนวนมากจึงดาวน์โหลดไบนารี Chromium (ไม่ใช่ Chrome) แทน แม้ว่าวิธีนี้จะมีข้อบกพร่องบ้าง ข้อแรก ไบนารีของ Chromium เหล่านี้อาจไม่พร้อมให้บริการในบางแพลตฟอร์ม ประการที่ 2 คือสร้างและเผยแพร่แยกจากกระบวนการเผยแพร่ Chrome ทำให้ไม่สามารถแมปเวอร์ชันต่างๆ กลับไปยัง Chrome รุ่นจริงที่แสดงต่อผู้ใช้ได้ อย่างที่สามคือ Chromium นั้นแตกต่างจาก Chrome

โซลูชัน: Chrome สำหรับการทดสอบ

Chrome for Testing ออกแบบมาเพื่อแก้ปัญหาเหล่านี้ โดยเป็น Chrome เวอร์ชันเฉพาะที่กําหนดเป้าหมายการใช้งานเพื่อการทดสอบ โดยไม่มีการอัปเดตอัตโนมัติ ซึ่งผสานรวมเข้ากับกระบวนการเผยแพร่ของ Chrome และให้บริการสำหรับ Chrome ทุกรุ่น ไบนารีที่มีเวอร์ชันที่ใกล้เคียงกับ Chrome ทั่วไปมากที่สุดโดยไม่ส่งผลเสียต่อกรณีการใช้งานในการทดสอบ

ในการสร้าง Chrome สำหรับการทดสอบ เราได้เปลี่ยนแปลงโค้ดเบสของ Chromium และ Chrome และตั้งค่าโครงสร้างพื้นฐานเพื่อสร้างและอัปโหลดไบนารีเหล่านี้ไปยังที่เก็บข้อมูลที่พร้อมใช้งานแบบสาธารณะในขั้นตอนการเผยแพร่ Chrome ในทุกช่องทาง (เสถียร เบต้า การพัฒนา และ Canary)

โครงสร้างพื้นฐานเกี่ยวกับ Chrome for Testing ปลดล็อกโอกาสที่น่าสนใจนอกเหนือจาก Chrome เอง ตัวอย่างเช่น เราสามารถขจัดปัญหาที่เราพูดถึงก่อนหน้านี้เกี่ยวกับการค้นหาไบนารีของ Chrome และ ChromeDriver ที่ตรงกันได้ทั้งหมดโดยการผสานรวมกระบวนการเผยแพร่ ChromeDriver เข้ากับโครงสร้างพื้นฐานของ Chrome สำหรับการทดสอบ นอกเหนือจากการแก้ปัญหาที่ผู้ใช้พบเจอแล้ว ยังเป็นการปรับรุ่น ChromeDriver ให้สอดคล้องกับของ Chrome และลดขั้นตอนการเผยแพร่ ChromeDriver ด้วยตนเอง

ฉันจะรับไบนารี Chrome สำหรับการทดสอบได้อย่างไร

วิธีที่ง่ายที่สุดในการดาวน์โหลดไบนารี Chrome สำหรับการทดสอบสำหรับแพลตฟอร์มของคุณคือการใช้ยูทิลิตีบรรทัดคำสั่ง @puppeteer/browsers ของเราซึ่งมีให้ใช้งานผ่านทาง npm โดยมีตัวอย่างดังนี้

# Download the latest available Chrome for Testing binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome@stable

# Download a specific Chrome for Testing version.
npx @puppeteer/browsers install chrome@116.0.5793.0

# Download the latest available ChromeDriver version corresponding to the Canary channel.
npx @puppeteer/browsers install chromedriver@canary

# Download a specific ChromeDriver version.
npx @puppeteer/browsers install chromedriver@116.0.5793.0

หากคุณต้องการสร้างสคริปต์อัตโนมัติของคุณเองสำหรับการดาวน์โหลดไบนารีเหล่านี้ เรามีทั้งหมดนี้ให้คุณ เราให้บริการปลายทาง JSON API ที่มีเวอร์ชันล่าสุดที่พร้อมใช้งานตามเวอร์ชันการเผยแพร่ของ Chrome (เสถียร เบต้า กําลังพัฒนา Canary) หากต้องการดูภาพรวมคร่าวๆ ของสถานะล่าสุด โปรดดูแดชบอร์ดความพร้อมใช้งานของ Chrome สำหรับการทดสอบ