Điều này thường xảy ra khi chạy ChromeDriver hoặc Chrome bằng cách sử dụng một khai thác kiểm thử đặc biệt (có thể là IDE) hoặc hệ thống xây dựng liên tục (chẳng hạn như Jenkins).
Trước tiên, hãy thử chạy chính tệp nhị phân của Chrome mà quy trình kiểm thử sử dụng từ lời nhắc lệnh người dùng thông thường (kiểm tra tệp chromedriver.log
để xem Chrome đang dùng). Nếu bạn đang chuyển bất kỳ đối số hoặc nút chuyển dòng lệnh đặc biệt nào đến Chrome, hãy nhớ sử dụng cả các đối số hoặc công tắc đó. Nếu Chrome không khởi động đúng cách,
bạn cần sửa lỗi cài đặt Chrome (có thể bằng cách cài đặt lại).
Giả sử bạn có thể chạy Chrome qua lời nhắc lệnh, bước tiếp theo là xem 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à khởi chạy tệp nhị phân hoặc tập lệnh kiểm thử trực tiếp từ lời nhắc lệnh của người dùng thông thường). Bạn cũng nên kiểm tra xem mình có thể chạy Chrome trực tiếp từ bài kiểm thử của mình hay không (mà không cần sử dụng WebDriver/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 của Chrome. Nếu hoạt động kiểm thử của bạn cho thấy cùng một vấn đề ngay cả trong môi trường kiểm thử, hãy báo cáo một vấn đề mới kèm theo hướng dẫn về cách tái hiện vấn đề đó.
Ngược lại, trong trường hợp sự cố chỉ xảy ra trong môi trường kiểm thử đặc biệt:
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. Cách này thường khắc phục được các sự cố nếu bạn đang chạy Selenium dưới dạng một 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
chuyể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à không được khuyến khích. Thay vào đó, hãy định cấu hình môi trường để chạy Chrome với tư cách người dùng thông thường.
Nếu không có giải pháp nào khắc phục được vấn đề, hãy báo cáo vấn đề mới kèm theo hướng dẫn về cách tái hiện vấn đề. Nếu sự cố của bạn chỉ xảy ra trong một môi trường kiểm thử đặc biệt và 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/giải quyết sự cố của bạn.