2017-04-02 10 views
6

में ऐसी कोई सत्र त्रुटि नहीं है जब मैं जेनकिंस से स्क्रिप्ट चला रहा हूं तो मुझे ऐसा कोई सत्र त्रुटि नहीं मिल रही है। इसके लिए क्या कारण है? क्या कोई कनेक्शन विफलता है या यह किसी अन्य कारण के कारण है (मैं लगभग 26 स्क्रिप्ट चला रहा हूं और इसमें से कम से कम एक स्क्रिप्ट में ऐसी कोई सत्र त्रुटि नहीं है)सेलेनियम क्रोमड्राइवर

स्क्रिप्ट अलग-अलग स्क्रिप्ट हैं और ऐसी कोई सत्र त्रुटि दोबारा नहीं दोहराई जाती है उसी स्क्रिप्ट के लिए

+0

के माध्यम से परीक्षण के दौरान यह अलग हो जाएगा यदि आप अधिक जानकारी के साथ अपना प्रश्न पूरा कर सकते हैं? आप किस ब्राउज़र और सेलेनियम संस्करण का उपयोग कर रहे हैं? क्या आप सेलेनियम ग्रिड के खिलाफ दौड़ रहे हैं? यदि हां, तो आपने कितने नोड्स सेट किए हैं? – Tom

+0

मैं नवीनतम सेलेनियम संस्करण के साथ क्रोम और क्रोमड्राइवर का उपयोग कर रहा हूं लेकिन अभी भी समस्या मौजूद है – Shan

+0

आप एक लंबी चर्चा [क्रोमियम पर] देख सकते हैं (https://bugs.chromium.org/p/chromedriver/issues/detail?आईडी = 732) इसके बारे में। मुझे अभी भी इसके साथ सिरदर्द है। मैं डेलर छवियों के साथ सेलेनियम 3 का उपयोग कर रहा हूं और इसके लिए एक स्थिर व्यवहार नहीं हो सका। – Tom

उत्तर

4

मैं कभी-कभी इस तरह के मामले से मुलाकात करता हूं। मैं सेलेनियम की बजाय लैरावेल डस्क के साथ क्रोमड्राइवर का उपयोग करता हूं। हालांकि, मेरा मानना ​​है कि कारण ChromeDriver पर है, सेलेनियम

क्रोमड्राइवर फ़ोल्डर में कुछ कैश फ़ाइलों को बनाएगा: C:\Users\(yourAccountName)\AppData\Local\Temp। इस फ़ोल्डर में, आपको कई कैश फ़ोल्डर्स दिखाई देंगे जो scoped_dir1234_5678 जैसा दिखते हैं। प्रत्येक फ़ोल्डर लगभग 10 एमबी पर कब्जा कर लिया। यदि जेनकींस क्रोमड्राइवर को अक्सर चलाता है, तो ChromeDriver अस्थायी फ़ोल्डर में कैश फ़ाइल को ओवरपॉप्लेट कर सकता है। आपको अपने सी ड्राइव पर 30-50 जीबी कैश फाइलों के बारे में सोचना चाहिए और अपने सी ड्राइवर से भरा होना चाहिए।

जब मेरा सी ड्राइव अंतरिक्ष से बाहर है, तो ChromeDriver शुरू करने में सक्षम नहीं होगा, और फिर मुझे त्रुटि संदेश "फेसबुक \ WebDriver \ Exception \ NoSuchDriverException: ऐसा कोई सत्र नहीं" वापस कर देगा।

समाधान:

  1. अस्थायी फ़ोल्डर में जाएँ, सी जगह साफ कर सकते हैं सभी ChromeDriver कैश फ़ोल्डर हटाएँ।
  2. ऐसी स्क्रिप्ट बनाएं जो ChromeDriver के कैश फ़ोल्डर को हटा/साफ़ कर सके।

--UPDATE--

मुद्दा पैदा करने के लिए एक और स्थिति का पता लगाएं।

यदि आप एक ही ओएस पर एक ही समय में दो अलग-अलग उदाहरणों में क्रोमड्राइवर शुरू करने के लिए एक ही स्क्रिप्ट चलाते हैं, जब एक उदाहरण समाप्त हो जाता है और क्रोमरेड्रिवर बंद कर दिया जाता है, तो अन्य क्रोम ब्राउज़र इंस्टेंस भी बंद हो सकता है।

उदाहरण के लिए आप दो कंसोल और उत्तेजना क्रोमेड्रिवर स्क्रिप खोलते हैं, या आप एक ही समय में जेनकींस प्रोजेक्ट शुरू करते हैं।

मुझे विश्वास है कि यदि आप अलग-अलग स्क्रिप्ट चलाते हैं लेकिन एक ही समय में क्रोमरेड्राइवर की आवश्यकता होती है। क्रोम ब्रोसर इंस्टेंस शट डाउन के कारण स्क्रिप्ट में से एक में "ऐसा कोई सत्र नहीं होगा"।

समाधान:

  1. जेनकींस
  2. निर्माण अवरोधक में परियोजना की स्थापना, जो परियोजना को लक्षित यह प्रतीक्षा करने के लिए जब तक वह पूरा की जरूरत है निर्माण अवरोधक स्थापित करें।

मेरा मामला सेलेनियम के बिना लैरवेल डस्क का उपयोग कर रहा है। मुझे यकीन नहीं है कि परीक्षण सेलेनियम सर्वर

संबंधित मुद्दे