Chrome ไม่เริ่มทำงานหรือขัดข้องในทันที

ปัญหานี้มักเกิดขึ้นเมื่อเรียกใช้ ChromeDriver หรือ Chrome โดยใช้ชุดทดสอบพิเศษ (อาจเป็น IDE) หรือระบบการบิลด์แบบต่อเนื่อง (เช่น Jenkins)

ลองเปิดไบนารี Chrome เดียวกับที่การทดสอบใช้จากพรอมต์คำสั่งของผู้ใช้ทั่วไป ยืนยันว่ามีการใช้ไบนารี Chrome ใดในไฟล์ chromedriver.log หากคุณส่งสวิตช์หรืออาร์กิวเมนต์บรรทัดคำสั่งพิเศษไปยัง Chrome อย่าลืมใส่สวิตช์หรืออาร์กิวเมนต์เหล่านั้นด้วย หาก Chrome เริ่มต้นไม่ถูกต้อง คุณต้องแก้ไขการติดตั้ง Chrome ลองติดตั้งอีกครั้ง

สมมติว่าคุณเรียกใช้ Chrome จาก Command Prompt ได้ ขั้นตอนถัดไปคือดูว่าเกิดปัญหาเดียวกันหรือไม่เมื่อทำการทดสอบในสภาพแวดล้อมการทดสอบ เราขอแนะนำให้คุณเปิดไบนารีหรือสคริปต์ทดสอบจากพรอมต์คำสั่งของผู้ใช้ทั่วไปโดยตรง ยืนยันว่าคุณสามารถเปิด Chrome จากการทดสอบได้โดยตรงโดยไม่ต้องใช้ WebDriver หรือ ChromeDriver ตัวอย่างเช่น ใน Java คุณอาจใช้ ProcessBuilder API เพื่อเริ่มไบนารีของ Chrome โดยตรง หากการทดสอบแสดงปัญหาเดียวกันแม้ในสภาพแวดล้อมการทดสอบ ให้ยื่นปัญหาใหม่พร้อมวิธีการจำลองปัญหา

หรือหากปัญหาเกิดขึ้นเฉพาะในสภาพแวดล้อมการทดสอบพิเศษ ให้ทำดังนี้

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

สาเหตุที่พบบ่อยที่ทำให้ Chrome ขัดข้องระหว่างการเริ่มต้นคือการใช้ Chrome ในฐานะผู้ใช้รูท (ผู้ดูแลระบบ) ใน Linux แม้ว่าจะแก้ปัญหานี้ได้โดยการส่ง Flag --no-sandbox เมื่อสร้างเซสชัน WebDriver แต่เราไม่รองรับการกำหนดค่าดังกล่าวและไม่แนะนําอย่างยิ่ง กำหนดค่าสภาพแวดล้อมเพื่อเรียกใช้ Chrome ในฐานะผู้ใช้ทั่วไปแทน

หากวิธีแก้ปัญหาเหล่านี้แก้ไขปัญหาไม่ได้ ให้ยื่นปัญหาใหม่พร้อมวิธีการทำซ้ำ หากปัญหาเกิดขึ้นเฉพาะในสภาพแวดล้อมการทดสอบพิเศษที่พบไม่บ่อยนัก โปรดทราบว่านักพัฒนาซอฟต์แวร์ ChromeDriver อาจเลือกที่จะไม่ตรวจสอบและแก้ไขปัญหา