เมื่อต้นปีนี้ เราได้ประกาศความพร้อมใช้งานโหมดไม่มีส่วนหัวใหม่ของ Chrome (--headless=new
) ใน Chrome 112 โหมดนี้จะช่วยให้นักพัฒนาซอฟต์แวร์เรียกใช้ Chrome ในสภาพแวดล้อมที่ไม่มีการดูแลได้โดยไม่มี UI ที่มองเห็นได้ ซึ่งมีประโยชน์สำหรับกรณีการใช้งานของการทดสอบและการทำงานอัตโนมัติ
ในประกาศฉบับนี้ เราได้พูดถึงแผนที่จะนำโหมดไม่มีส่วนหัวแบบเก่าออกจากไบนารีของ Chrome การนําออกนี้สมเหตุสมผลเนื่องจากในทางเทคนิคแล้ว Headless ตัวเดิมเป็นเบราว์เซอร์แยกต่างหาก ซึ่งหมายความว่าขณะนี้เรากำลังจัดส่งไบนารีของเบราว์เซอร์ 2 ไฟล์ในหนึ่งเดียว ในขณะเดียวกัน เราตระหนักดีว่ามี Use Case ที่แตกต่างกันสําหรับโหมดไม่มีส่วนหัวแบบเก่าและแบบใหม่ ดังนี้
- โหมดไม่มีส่วนหัวแบบเก่าเป็น Wrapper น้ำหนักเบารอบๆ โมดูล
//content
ของ Chromium ดังนั้นจึงมีทรัพยากร Dependency น้อยกว่ามาก กล่าวอย่างเจาะจงคือ เบราว์เซอร์นี้ไม่จำเป็นต้องใช้ X11/Wayland, D-Bus และมีประสิทธิภาพมากกว่าเบราว์เซอร์ Chrome เต็มรูปแบบ ซึ่งทำให้เหมาะสำหรับกรณีการใช้งาน เช่น การจับภาพหน้าจออัตโนมัติหรือการคัดลอกเนื้อหาจากเว็บ - ส่วน New Headless คือเบราว์เซอร์ Chrome ที่แท้จริง จึงมีความเชื่อถือได้ เชื่อถือได้ และมีฟีเจอร์ต่างๆ มากกว่า ซึ่งทำให้เหมาะสำหรับการทดสอบเว็บแอปหรือการทดสอบส่วนขยายเบราว์เซอร์ที่มีความแม่นยำสูงมากขึ้น
กล่าวอีกนัยหนึ่งคือการเปรียบเทียบระหว่างประสิทธิภาพกับความน่าเชื่อถือ โหมดไม่มีส่วนหัวโหมดใดเหมาะกับคุณมากที่สุด ขึ้นอยู่กับกรณีการใช้งานของคุณ
นักพัฒนาแอปและผู้ทดสอบที่ไม่ต้องการใช้ฟังก์ชันเต็มรูปแบบของ Chrome สําหรับ Use Case ของระบบอัตโนมัติอาจต้องการใช้ Headless แบบเก่า หรือไม่เช่นนั้น ฟีเจอร์ Headless ใหม่เป็นตัวเลือกที่ดีที่สุด
เรายินดีที่จะประกาศว่าการติดตั้งใช้งาน Headless แบบเก่าพร้อมให้ใช้งานในรูปแบบไบนารี chrome-headless-shell
แบบสแตนด์อโลนแล้ว เพื่อให้นักพัฒนาแอปและผู้ทดสอบมีทางเลือกระหว่าง 2 ตัวเลือกนี้ต่อไป ไบนารี chrome-headless-shell
ใหม่เหล่านี้สร้างขึ้นสำหรับ Chrome ทุกรุ่นที่แสดงต่อผู้ใช้ และพร้อมให้ดาวน์โหลดผ่าน Chrome สำหรับโครงสร้างพื้นฐานในการทดสอบ โดยเริ่มตั้งแต่ Chrome 120 เป็นต้นไป
ฉันจะรับไบนารี chrome-headless-shell
ได้อย่างไร
วิธีที่ง่ายที่สุดในการดาวน์โหลด chrome-headless-shell
สำหรับแพลตฟอร์มของคุณเช่นเดียวกับไบนารีอื่นๆ ของ Chrome สำหรับการทดสอบคือการใช้ยูทิลิตีบรรทัดคำสั่ง @puppeteer/browsers
ซึ่งพร้อมใช้งานใน npm
โดยมีตัวอย่างดังนี้
# Download the latest available `chrome-headless-shell` binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome-headless-shell@stable
# Download a specific `chrome-headless-shell` version.
npx @puppeteer/browsers install chrome-headless-shell@120.0.6098.0
แต่หากคุณต้องการสร้างสคริปต์อัตโนมัติของคุณเองสำหรับการดาวน์โหลดไบนารี chrome-headless-shell
เราก็ช่วยคุณได้ Chrome สำหรับการทดสอบมีปลายทาง JSON API ที่มีเวอร์ชันล่าสุดที่พร้อมใช้งานตามเวอร์ชันการเผยแพร่ของ Chrome (เสถียร เบต้า การพัฒนา และ Canary) หากต้องการดูภาพรวมคร่าวๆ ของสถานะล่าสุด โปรดดูแดชบอร์ดความพร้อมใช้งานของ Chrome สำหรับการทดสอบ
ความคิดเห็น
เราหวังเป็นอย่างยิ่งว่าจะได้รับฟังความคิดเห็นจากคุณเกี่ยวกับ chrome-headless-shell
หากพบปัญหา โปรดรายงานปัญหาดังกล่าว