2012-01-19 10 views
9

क्या उपयोगकर्ता सेलेनियम आईडीई स्क्रिप्ट चलाने के दौरान मैन्युअल इनपुट दे सकता है? पूर्व के लिए । यदि नाम फ़ील्ड है तो क्या हम हर बार स्क्रिप्ट चलाने के लिए इनपुट बॉक्स खोल सकते हैं ताकि उपयोगकर्ता नाम फ़ील्ड के लिए अपना इनपुट दे सके?सेलेनियम आईडीई स्क्रिप्ट चलाने के दौरान उपयोगकर्ता से मैन्युअल इनपुट

यदि हाँ तो मुझे एक समाधान का सुझाव कृपया मुझे पता है कि क्या यह संभव है या नहीं करते हैं ..

अग्रिम धन्यवाद

उत्तर

16

आप क्रम में एक जावास्क्रिप्ट शीघ्र लागू करने की मूल्य

<tr> 
    <td>storeEval</td> 
    <td>javascript{prompt(&quot;Please enter your FirstName&quot;)}</td> 
    <td>firstName</td> 
</tr> 

तो मूल्य तक पहुँचने प्राप्त करने के लिए निम्न स्क्रिप्ट का उपयोग कर सकते हैं स्टीफन Binns जवाबी कार्रवाई के लिए ${firstName}

0

में आप तकनीक इस्तेमाल कर सकते हैं सुझाव दिया here जो सेलेनियम WebDriver और जावा के BufferedReader उपयोग करता है। मुझे नहीं लगता कि इसे सेलेनियम आईडीई के लिए अनुकूलित किया जा सकता है, लेकिन तकनीक सेलेनियम आरसी के साथ ठीक काम करना चाहिए।

मूल विचार है:

  • अंक सेलेनियम बिंदु जहां उपयोगकर्ता इनपुट पर कब्जा करना चाहते हैं पर निर्भर आदेश देता है।
  • BufferedReader में उपयोगकर्ता इनपुट को कैप्चर करने के लिए निम्न कोड पर कॉल करें।

    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); reader.readLine();

  • अपने सेलेनियम जारी आदेशों

(ध्यान दें, यदि आप सी # का उपयोग कर रहे हैं, वहाँ कैसे Console.In.ReadLine(); बजाय BufferedReader उपयोग करने के लिए पर एक चर्चा here है)।

0

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

+0

हाँ आप सही हैं..मैं इस समाधान को आजमाउंगा .. धन्यवाद –

0

बस एक मामूली संशोधन का उपयोग करने का एक मामला है । मैं सेलेनियम आईडीई 2.5.0 चल रहा हूँ और अपने परीक्षण इस तरह दिखता है:

<tr> 
    <td>store</td> 
    <td>javascript{prompt(&quot;password&quot;)}</td> 
    <td>password</td> 
</tr> 

जावास्क्रिप्ट के बिना {} यह संकेत नहीं होगा।

0

प्रस्तावित समाधान सेलेनियम आईडीई (2.5 के लिए परीक्षण)

<tr> 
    <td>store</td> 
    <td>javascript{prompt(&quot;password&quot;)}</td> 
    <td>password</td> 
</tr> 
1

सेलेनियम आईडीई 2.8.0 में के लिए ठीक काम करता है: कब्जा परीक्षण सत्र लॉगिन और पासवर्ड दर्ज। प्रत्येक के लिए कमांड संपादित करें और "टाइप" से "waitForText" में बदलें और पहले लॉगिन और पासवर्ड के लिए संग्रहीत वैल्यू फ़ील्ड में मान हटा दें। आईडीई से सहेजी गई टेस्ट स्क्रिप्ट को दोबारा चलाएं।

+0

चूंकि मुझे स्वीकृत समाधान पसंद है, यह एक है पूरी तरह से obfuscated पासवर्ड पाने के लिए बेहतर है। – JuanitoMint

0

थ्रेड का उपयोग करें।नींद (20000); यह 20s के लिए सब कुछ जमा कर देगा और आप उस अवधि की अवधि में मैन्युअल रूप से दर्ज करना चाहते हैं

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