Chrome بلافاصله شروع نمی شود یا از کار می افتد

این اغلب هنگام اجرای ChromeDriver یا Chrome با استفاده از مهار تست ویژه (شاید یک IDE) یا سیستم ساخت مداوم (مانند Jenkins) اتفاق می افتد.

سعی کنید همان باینری کروم را که آزمایش شما استفاده می‌کند از یک خط فرمان معمولی کاربر راه‌اندازی کنید. تأیید کنید کدام باینری Chrome در فایل chromedriver.log استفاده می‌شود. اگر سوئیچ‌ها یا آرگومان‌های خط فرمان خاصی را به Chrome ارسال می‌کنید، حتماً آن‌ها را نیز درج کنید. اگر Chrome به درستی راه اندازی نمی شود، باید نصب Chrome خود را تعمیر کنید. سعی کنید دوباره نصب کنید.

با فرض اینکه می‌توانید Chrome را از یک خط فرمان اجرا کنید، قدم بعدی شما این است که ببینید آیا هنگام اجرای آزمایش در یک محیط آزمایشی همان مشکل رخ می‌دهد یا خیر. ترجیحاً باینری یا اسکریپت آزمایشی را مستقیماً از خط فرمان یک کاربر معمولی اجرا کنید. تأیید کنید که می‌توانید Chrome را مستقیماً از آزمایش خود بدون استفاده از WebDriver یا ChromeDriver راه‌اندازی کنید. برای مثال، در جاوا، می‌توانید از ProcessBuilder API برای راه‌اندازی مستقیم کروم باینری استفاده کنید. اگر تست شما حتی در یک محیط آزمایشی نیز همین مشکل را نشان می‌دهد، یک شماره جدید با دستورالعمل‌هایی درباره نحوه بازتولید مشکل ثبت کنید.

در غیر این صورت، اگر مشکل فقط در محیط تست ویژه شما رخ دهد:

از نصب کننده جایگزین Chrome استفاده کنید. با این کار Chrome برای همه کاربران نصب می شود. اگر سلنیوم را به عنوان یک سرویس پس‌زمینه اجرا می‌کنید، اغلب مشکلات را برطرف می‌کند.

یکی از دلایل رایج خرابی کروم در حین راه اندازی، اجرای کروم به عنوان کاربر اصلی (مدیر) در لینوکس است. در حالی که هنگام ایجاد جلسه WebDriver می‌توان با ارسال پرچم --no-sandbox به حل این مشکل پرداخت، چنین پیکربندی پشتیبانی نمی‌شود و به شدت دلسرد می‌شود. محیط خود را طوری پیکربندی کنید که Chrome را به عنوان یک کاربر معمولی اجرا کند.

اگر هیچ یک از این راه‌حل‌ها مشکل را برطرف نکرد، یک مشکل جدید با دستورالعمل‌هایی درباره نحوه بازتولید مشکل ثبت کنید. اگر مشکل شما فقط در یک محیط آزمایشی خاص و غیر معمول رخ می دهد، توجه داشته باشید که توسعه دهندگان ChromeDriver ممکن است تصمیم بگیرند مشکل شما را بررسی و حل نکنند.