मेरे पास एक ऐसा पृष्ठ है जो कभी-कभी एक मिनट में लोड हो जाता है। मान लें कि यह अपेक्षित व्यवहार है और बदल नहीं होगा। इन मामलों में, मुझे Net::ReadTimeout
मिलता है।कैपिबारा अधिकतम स्वीकृत पृष्ठ लोड समय
ध्यान दें कि यह पिछले पृष्ठ पर एक बटन पर क्लिक करके किसी पृष्ठ पर नेविगेट करने के बाद है, न कि AJAX अनुरोध। इसलिए Capybara.using_wait_time
मदद नहीं करता है। page.driver.browser.manage.timeouts
के implicit_wait
, script_timeout
और page_load
स्थापना
- :
मैं जैसे कट्टरपंथी चीजों के एक नंबर (जिनमें से कुछ मुझे पता था कि काम नहीं होगा) की कोशिश की है।
- संपूर्ण ऑब्जेक्ट स्पेस के माध्यम से लूपिंग और सभी
Selenium::WebDriver::Remote::Http::Default
केtimeout
मान को सेट करना। - संपूर्ण ऑब्जेक्ट स्पेस के माध्यम से लूपिंग और सभी
Net::HTTP
read_timeout
सेट करना। page.driver.browser.send(:bridge).http.instance_variable_get(:@http).read_timeout=
कोई भी काम करने के लिए लग रहे हैं। यह बहुत छोटा होना चाहिए, फिर भी मुझे ऐसा करने का कोई तरीका नहीं मिला।
यदि आप एक वेबड्राइवर अज्ञेय समाधान के बारे में जानते हैं जो बहुत अच्छा होगा। यदि नहीं - मैं सेलेनियम का उपयोग कर रहा हूं।
मेरी 2 सेंट लोड करने के लिए एक मिनट से अधिक ले जाएगा: स्वचालन है त्वरित प्रतिक्रिया के बारे में, यदि आपके ऐप को लोड करने के लिए एक मिनट से अधिक समय लगता है, तो पेज टाइमआउट बढ़ाने का जवाब नहीं है, अपने ऐप्स को लोड करने का समय कम करें, आपको उस पर ध्यान केंद्रित करना चाहिए ... – Bodao
@ user3087106, मैं पूरी तरह से सहमत हूं। हालांकि, वर्तमान मामले में यह लागू नहीं है। मान लीजिए कि मैं किसी और के लाइव प्रोजेक्ट का परीक्षण कर रहा हूं और वे ऑपरेशन को अनुकूलित करने के लिए आवश्यक संसाधनों को निवेश करने के लिए तैयार नहीं हैं/इसे पृष्ठभूमि प्रक्रिया में या जो कुछ भी डालते हैं। – ndn
क्या आपने Capybara.default_max_wait_time (डिफ़ॉल्ट 2 सेकंड है) को बढ़ाने की कोशिश की है, साथ ही किसी तत्व के लिए एक जोर देने के साथ जो केवल नए पृष्ठ पर उपलब्ध है? – Sam