Điều này thường xảy ra khi chạy ChromeDriver hoặc Chrome bằng một bộ kiểm thử đặc biệt (có thể là một IDE) hoặc hệ thống xây dựng liên tục (chẳng hạn như Jenkins).
Hãy thử chạy cùng một tệp nhị phân Chrome mà kiểm thử của bạn sử dụng từ một lời nhắc lệnh người dùng thông thường. Xác nhận tệp nhị phân Chrome nào đang được sử dụng trong tệp chromedriver.log
. Nếu bạn truyền các đối số hoặc nút chuyển dòng lệnh đặc biệt đến Chrome, hãy nhớ thêm các đối số hoặc nút chuyển đó. Nếu Chrome không khởi động đúng cách, bạn cần khắc phục vấn đề cài đặt Chrome. Hãy thử cài đặt lại.
Giả sử bạn có thể chạy Chrome từ một lời nhắc lệnh, bước tiếp theo là xem liệu vấn đề tương tự có xảy ra khi chạy kiểm thử trong môi trường kiểm thử hay không. Tốt nhất là bạn nên chạy tệp nhị phân hoặc tập lệnh kiểm thử ngay từ lời nhắc lệnh của người dùng thông thường. Xác nhận rằng bạn có thể khởi chạy Chrome trực tiếp từ kiểm thử mà không cần sử dụng WebDriver hoặc ChromeDriver. Ví dụ: trong Java, bạn có thể sử dụng API ProcessBuilder để trực tiếp khởi động tệp nhị phân Chrome. Nếu kiểm thử của bạn gặp phải cùng một vấn đề ngay cả trong môi trường kiểm thử, hãy gửi một vấn đề mới kèm theo hướng dẫn về cách tái hiện vấn đề.
Nếu không, nếu vấn đề chỉ xảy ra trong môi trường thử nghiệm đặc biệt của bạn:
Sử dụng trình cài đặt thay thế của Chrome. Thao tác này sẽ cài đặt Chrome cho tất cả người dùng. Việc này thường khắc phục được vấn đề nếu bạn đang chạy Selenium dưới dạng dịch vụ nền.
Một nguyên nhân phổ biến khiến Chrome gặp sự cố trong quá trình khởi động là chạy Chrome với tư cách người dùng gốc (quản trị viên) trên Linux. Mặc dù có thể giải quyết vấn đề này bằng cách truyền cờ --no-sandbox
khi tạo phiên WebDriver, nhưng cấu hình như vậy không được hỗ trợ và bạn không nên sử dụng. Thay vào đó, hãy định cấu hình môi trường để chạy Chrome dưới dạng người dùng thông thường.
Nếu không có giải pháp nào trong số này khắc phục được vấn đề, hãy gửi một vấn đề mới kèm theo hướng dẫn về cách tái hiện vấn đề. Nếu vấn đề của bạn chỉ xảy ra trong một môi trường thử nghiệm đặc biệt, không phổ biến, hãy lưu ý rằng các nhà phát triển ChromeDriver có thể chọn không điều tra và giải quyết vấn đề của bạn.