टेस्टरनर के साथ हेडलेस और Xvfb
इस पेज में बताया गया है कि WebdriverIO टेस्टरनर Xvfb (X Virtual Framebuffer) का उपयोग करके लिनक्स पर हेडलेस एक्जीक्यूशन का समर्थन कैसे करता है। यह कवर करता है कि Xvfb कब उपयोगी है, इसे कैसे कॉन्फ़िगर करें, और यह CI और Docker में कैसे व्यवहार करता है।
कब Xvfb बनाम नेटिव हेडलेस का उपयोग करें
- जब संभव हो तो न्यूनतम ओवरहेड के लिए नेटिव हेडलेस (जैसे, Chrome
--headless=...
) का उपयोग करें। - Xvfb का उपयोग करें जब:
- इलेक्ट्रॉन या ऐसे ऐप्स का परीक्षण कर रहे हों ज िन्हें विंडो मैनेजर या डेस्कटॉप वातावरण की आवश्यकता हो
- आप GLX या विंडो-मैनेजर पर निर्भर व्यवहारों पर निर्भर हैं
- आपके टूल्स को डिस्प्ले सर्वर (
DISPLAY
) की अपेक्षा है - आप Chromium त्रुटियों से सामना करते हैं जैसे:
session not created: probably user data directory is already in use ...
Chrome failed to start: exited abnormally. (DevToolsActivePort file doesn't exist)
उपयोगकर्ता डेटा डायरेक्टरी टकराव त्रुटि भ्रामक हो सकती है क्योंकि यह अक्सर ब्राउज़र क्रैश और तत्काल रीस्टार्ट का परिणाम होती है जो पिछले इंस्टेंस से समान प्रोफाइल डायरेक्टरी का पुन: उपयोग करती है। स्थिर डिस्प्ले सुनिश्चित करना (जैसे, Xvfb के माध्यम से) अक्सर इसे हल करता है - यदि नहीं, तो आपको प्रति वर्कर एक अद्वितीय--user-data-dir
पास करना चाहिए।