रोबोट फ्रेमवर्क में कुछ शर्त पूरी होने तक मुझे लूप के लिए पुनरावृति करने की आवश्यकता है।

${counter}=  Set Variable  1

    :FOR    ${item}    IN RANGE    ${counter}
    \    Check condition
    \    ${counter} = ${counter} + 1

क्या यहां ${काउंटर} वैरिएबल वैल्यू बढ़ाना संभव है?

enter image description here

0
Looking Forward 4 मार्च 2020, 13:11
आप जो उपयोग करना चाहते हैं वह थोड़ी देर का लूप है, रोबोट ढांचे ने अभी तक इसे लागू नहीं किया है। देखें: stackoverflow.com/questions/36328595/… जाहिरा तौर पर एक समाधान है: github. com/robotframework/robotframework/issues/3235
 – 
Ryan
5 मार्च 2020, 01:51

2 जवाब

हां।

${counter}=    Set Variable     1
FOR    ${item}    IN RANGE    1     20
    ${counter}=     Evaluate     ${counter} + 1
    Log To Console    ${counter}
    Exit For Loop If     ${counter} == 10
END

और फॉर लूप्स को Exit For Loop या Exit For Loop If कीवर्ड का उपयोग करके बाहर निकाला जा सकता है। कीवर्ड दस्तावेज़

टिप्पणियों के बाद संपादित करें।

2
asprtrmp 4 मार्च 2020, 14:12
काम नहीं कर रहा। मैंने कई बार यह कोशिश की है। पता नहीं यहाँ क्या कमी है।
 – 
Looking Forward
4 मार्च 2020, 13:27
मैंने प्रश्न में स्क्रीनशॉट जोड़ा है। कृपया एक नज़र डालें।
 – 
Looking Forward
4 मार्च 2020, 13:30
बेशक यह काम नहीं करता है यदि आपको मान 10 होने की आवश्यकता है और आप इसे केवल एक बार लूप करते हैं। प्रश्न में इस 10 शर्त को पहले स्थान पर क्यों नहीं बताते?
 – 
asprtrmp
4 मार्च 2020, 14:10
संपादित उत्तर। कृपया ध्यान दें कि अधिकतम संख्या (इस मामले में 20) शर्त (10) से बड़ी होनी चाहिए।
 – 
asprtrmp
4 मार्च 2020, 14:13
मैं नहीं चाहता कि यह 20 या किसी अन्य संख्या तक सीमित रहे। स्थिति के आधार पर पुनरावृत्ति सीमा बढ़नी चाहिए। जावा की तरह: int i=0 से i<10 {i++} के लिए।
 – 
Looking Forward
4 मार्च 2020, 14:33

आप थोड़ी देर के लूप के बारे में पूछ रहे हैं। रोबोट में थोड़ी देर का लूप नहीं होता है। इसके लिए कोई समर्थन नहीं है, और रोबोट शायद कम से कम 2021 तक इसका समर्थन नहीं करेगा। केवल लूपिंग निर्माण एक लूप के लिए.

ऐसा लगता है कि आपको 20 की सीमा निर्धारित करने से परहेज है, लेकिन पुनरावृत्तियों की संख्या के लिए एक व्यावहारिक सीमा होनी चाहिए, चाहे वह 1,000, 10,000, या 10 लाख या अधिक हो। बस एक फॉर लूप का उपयोग करें जिसकी ऊपरी सीमा बहुत अधिक है, और सभी उद्देश्यों और उद्देश्यों के लिए आपने थोड़ी देर लूप बनाया है।

FOR    ${item}    IN RANGE    1000000
    Exit FOR loop if  <some condition>
    ${counter}=  evaluate  $counter + 1
END

हालांकि यह While <some condition> जितना सुंदर नहीं दिखता है, अंतिम परिणाम वही होगा, यह मानते हुए कि आपकी स्थिति दस लाख पुनरावृत्तियों से पहले किसी बिंदु पर सही हो जाती है।

0
Bryan Oakley 5 मार्च 2020, 02:32
धन्यवाद @ ब्रायन। हां, मुझे पता है कि रोबोट के पास लूप मैकेनिज्म नहीं है। इसलिए मैं कुछ शर्त पूरी होने तक लूप पुनरावृत्ति के लिए उपयोग करने का प्रयास कर रहा था। मैंने अजगर (.py फ़ाइल) में भी तर्क को लागू करने के बारे में सोचा, लेकिन मेरे प्रोजेक्ट के काम के लिए, यह संभव नहीं था। फिर भी, धन्यवाद।
 – 
Looking Forward
5 मार्च 2020, 09:54