กรณีนี้มักเกิดขึ้นเมื่อใช้ ChromeDriver หรือ Chrome โดยใช้โปรแกรมทดสอบพิเศษ (อาจเป็น IDE) หรือระบบบิลด์แบบต่อเนื่อง (เช่น Jenkins)
ก่อนอื่น ให้ลองเปิดไบนารี Chrome เดียวกันกับที่การทดสอบใช้จากพรอมต์คำสั่งของผู้ใช้ตามปกติ (ตรวจสอบไฟล์ chromedriver.log
เพื่อดูว่ากำลังใช้ Chrome เวอร์ชันใดอยู่) หากคุณส่งการเปลี่ยนบรรทัดคำสั่งหรืออาร์กิวเมนต์พิเศษ
ไปยัง Chrome โปรดใส่ตัวเลือกหรืออาร์กิวเมนต์เหล่านั้นด้วย หาก Chrome เริ่มทำงานอย่างไม่ถูกต้อง
คุณต้องแก้ไขการติดตั้ง Chrome (โดยการติดตั้งใหม่)
สมมติว่าคุณสามารถเรียกใช้ Chrome จากพรอมต์คำสั่งได้ ขั้นตอนต่อไปคือดูว่าเกิดปัญหาเดียวกันหรือไม่เมื่อเรียกใช้การทดสอบในสภาพแวดล้อมการทดสอบ (แนะนำให้เปิดไบนารีการทดสอบหรือสคริปต์ทดสอบโดยตรงจากพรอมต์คำสั่งของผู้ใช้ปกติ) นอกจากนี้คุณควรตรวจสอบว่าคุณสามารถเปิด Chrome ได้โดยตรงจากการทดสอบ (โดยไม่ใช้ WebDriver/ChromeDriver) เช่น ใน Java คุณอาจใช้ ProcessBuilder API เพื่อเริ่มไบนารี Chrome โดยตรง หากการทดสอบของคุณแสดงปัญหาเดียวกันแม้ในสภาพแวดล้อมการทดสอบ ให้ยื่นปัญหาใหม่พร้อมทั้งวิธีการทำให้เกิดปัญหาซ้ำ
หรือไม่เช่นนั้น หากปัญหาเกิดขึ้นเฉพาะในสภาพแวดล้อมการทดสอบพิเศษ ให้ดำเนินการดังนี้
ใช้โปรแกรมติดตั้งสำรองของ Chrome การทำเช่นนี้จะติดตั้ง Chrome สำหรับผู้ใช้ทุกคน วิธีนี้มักแก้ปัญหาได้หากคุณใช้ Selenium เป็นบริการที่ทำงานอยู่เบื้องหลัง
สาเหตุที่พบบ่อยที่ทําให้ Chrome ขัดข้องระหว่างการเริ่มต้นคือให้ Chrome เป็นผู้ใช้รูท (ผู้ดูแลระบบ) ใน Linux แม้ว่าคุณจะสามารถแก้ปัญหานี้ได้โดยการส่งผ่าน Flag --no-sandbox
เมื่อสร้างเซสชัน WebDriver แต่เราไม่รองรับการกำหนดค่าดังกล่าวและไม่แนะนำอย่างยิ่ง กำหนดค่าสภาพแวดล้อมของคุณ
เพื่อเรียกใช้ Chrome ในฐานะผู้ใช้ทั่วไปแทน
หากวิธีแก้ปัญหาเหล่านี้ไม่ช่วยแก้ปัญหา ให้แจ้งปัญหาใหม่พร้อมคำแนะนำในการทำให้ปัญหาเกิดซ้ำ หากปัญหาของคุณเกิดขึ้นเฉพาะในสภาพแวดล้อมการทดสอบพิเศษที่ไม่ปกติ โปรดทราบว่านักพัฒนาซอฟต์แวร์ ChromeDriver อาจเลือกที่จะไม่ตรวจสอบ/แก้ปัญหาของคุณ