این اغلب هنگام اجرای ChromeDriver یا Chrome با استفاده از مهار تست ویژه (شاید یک IDE) یا سیستم ساخت مداوم (مانند Jenkins) اتفاق می افتد.
ابتدا سعی کنید همان باینری کروم را که آزمایش شما استفاده میکند از یک خط فرمان کاربر معمولی راهاندازی کنید (فایل chromedriver.log
خود را بررسی کنید تا ببینید Chrome از چه چیزی استفاده میشود). اگر سوئیچ خط فرمان یا آرگومان خاصی را به Chrome ارسال میکنید، حتماً آنها را نیز وارد کنید. اگر Chrome به درستی راه اندازی نشد، باید نصب Chrome خود را برطرف کنید (شاید با نصب مجدد).
با فرض اینکه میتوانید Chrome را از یک خط فرمان اجرا کنید، گام بعدی شما باید این باشد که ببینید آیا هنگام اجرای آزمایش شما در یک محیط آزمایشی (ترجیحاً باینری یا اسکریپت آزمایشی را مستقیماً از خط فرمان یک کاربر معمولی راهاندازی میکند یا خیر) همین مشکل رخ میدهد یا خیر. همچنین باید بررسی کنید که میتوانید Chrome را مستقیماً از آزمایش خود (بدون استفاده از WebDriver/ChromeDriver) راهاندازی کنید. برای مثال، در جاوا، میتوانید از ProcessBuilder API برای راهاندازی مستقیم کروم باینری استفاده کنید. اگر تست شما حتی در یک محیط آزمایشی نیز همین مشکل را نشان میدهد، یک شماره جدید با دستورالعملهایی درباره نحوه بازتولید مشکل ثبت کنید.
در غیر این صورت، اگر مشکل فقط در محیط تست ویژه شما رخ دهد:
استفاده از نصب کننده جایگزین Chrome . با این کار Chrome برای همه کاربران نصب می شود. اگر سلنیوم را به عنوان یک سرویس پسزمینه اجرا میکنید، اغلب مشکلات را برطرف میکند.
یکی از دلایل رایج خرابی کروم در حین راه اندازی، اجرای کروم به عنوان کاربر اصلی (مدیر) در لینوکس است. در حالی که هنگام ایجاد جلسه WebDriver میتوان با ارسال پرچم --no-sandbox
به حل این مشکل پرداخت، چنین پیکربندی پشتیبانی نمیشود و به شدت دلسرد میشود. محیط خود را طوری پیکربندی کنید که Chrome را به عنوان یک کاربر معمولی اجرا کند.
اگر هیچ یک از این راهحلها مشکل را برطرف نکرد، یک مشکل جدید با دستورالعملهایی درباره نحوه بازتولید مشکل ثبت کنید. اگر مشکل شما فقط در یک محیط آزمایشی خاص و غیر معمول رخ می دهد، توجه داشته باشید که برنامه نویسان ChromeDriver ممکن است تصمیم بگیرند مشکل شما را بررسی/حل نکنند.