2009-09-25 12 views
8

के साथ चयन पर विकल्प चुनने के लिए सेलेनियम का उपयोग करके मैं एक चयन तत्व में एक मान का चयन करने की कोशिश कर रहा हूं। मैं टेस्ट केस चलाने के लिए सेलेनियम आरसी (जावा) का उपयोग कर रहा हूं। मैं समझता हूँ कि एक मूल्य के चयन के लिए कोड द्वारा दिया जाता है:ऑप्टग्रुप

selenium.select("locator", "value=REQUIRED VALUE") 

मैं ऊपर कोड के साथ वांछित मान का चयन करने में असमर्थ हूँ। मुझे लगता है कि यह चयन स्रोत कोड में optgroup के साथ कुछ करने के लिए हो सकता है। मुझे कोई अपवाद नहीं मिलता है, आदेश ठीक निष्पादित करता है लेकिन पृष्ठ को देखकर आवश्यक मान का चयन नहीं किया जाता है। इसके अलावा, मैं आईडी (मूल्य के बजाय) का उपयोग नहीं कर सकता क्योंकि कोई भी नहीं है। चयनकर्ता का स्रोत कोड यहां दिया गया है:

<select> 
    <optgroup label="Group1"> 
     <option value="13">some value1</option> 
     <option value="25">some value2</option> 
    </optgroup> 
    <optgroup label="Group2"> 
     <option value="18">REQUIRED VALUE</option> 
     <option value="34">some value3</option> 
     ... 
     ... 
    </optgroup> 
</select> 

क्या सेलेनियम का उपयोग करके आवश्यक मूल्य का चयन करने का कोई तरीका है?

यह अच्छा होगा अगर हम विकल्प मानों (जैसे "18", "34" इत्यादि) से बच सकें क्योंकि ये संख्याएं बाद में बदलती हैं क्योंकि मान बदलते हैं। उदाहरण के लिए, "आवश्यक VALUE" में मान -18 है लेकिन यदि मैं इस आइटम को हटाना चाहता हूं और इसे फिर से जोड़ना चाहता हूं तो उसका मान अलग होगा। असल में यह ड्रॉप-डाउन बॉक्स गतिशील है।

उत्तर

13

आपके उदाहरण में आवश्यक विकल्प के लिए मूल्य वास्तव में '18' है। निम्न का प्रयास करें:

selenium.select("locator", "label=REQUIRED VALUE") 
+0

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

+1

मेरा जवाब दोबारा जांचें। मैं 'value =' को 'label =' में बदलने का सुझाव दे रहा हूं। यह आपको इसके मूल्य के बजाय अपने लेबल के आधार पर एक विकल्प चुनने की अनुमति देता है। –

+1

उत्तर देने के लिए धन्यवाद। यह लेबल के साथ पूरी तरह से काम कर रहा है! – Mugen