2014-09-19 13 views
6

मुझे अपने गेब परीक्षण के एक टुकड़े के साथ बड़ी कठिनाई हो रही है; ड्रॉपडाउन से मूल्य का चयन कैसे करें। मैंने इसे चार अलग-अलग तरीकों से आजमाया है, और इनमें से कोई भी काम नहीं है। यह या तो परीक्षण को दुर्घटनाग्रस्त कर देगा या उस पर दाएं छोड़ देगा। किसी भी मदद की सराहना की जाएगीगेब: मैं ड्रॉपडाउन से मूल्य कैसे चुनूं?

HTML फ़ॉर्म तत्व (102,727 db तालिका में कैलिफोर्निया के लिए आईडी है ...)

<div class="col-sm-2"> 
    <label id="submitterState-label" class="toplabel" for=submitterState>State</label> 
    <g:select name="submitterState" id="submitterState" from="stuff here..." class="form-control" optionKey="id" value="morestuff" noSelection="['null':'']" aria-labelledby="submitterState-label"/> 
</div> 

परिणामस्वरूप HTML:

<div class="col-sm-2"> 
     <label id="submitterState-label" class="toplabel" for=submitterState>State</label> 
     <select name="submitterState" id="submitterState" class="form-control" aria-labelledby="submitterState-label" > 
<option value="null"></option> 
<option value="102722" >Alabama</option> 
<option value="102723" >Alaska</option> 
<option value="102724" >American Samoa</option> 
<option value="102721" >APO Address - AA</option> 
<option value="102725" >Arizona</option> 
<option value="102726" >Arkansas</option> 
<option value="102727" >California</option> 
<option value="102728" >Colorado</option> 
<option value="102729" >Connecticut</option> 
<option value="102730" >Delaware</option> 
<option value="102731" >District of Columbia</option> 
<option value="102732" >Florida</option> 
<option value="102733" >Georgia</option> 
<option value="102734" >Guam</option> 
<option value="102735" >Hawaii</option> 
<option value="102736" >Idaho</option> 
<option value="102737" >Illinois</option> 
<option value="102738" >Indiana</option> 
<option value="102739" >Iowa</option> 
<option value="102740" >Kansas</option> 
<option value="102741" >Kentucky</option> 
<option value="102742" >Louisiana</option> 
<option value="102743" >Maine</option> 
<option value="102744" >Maryland</option> 
<option value="102745" >Massachusetts</option> 
<option value="102746" >Michigan</option> 
<option value="102747" >Minnesota</option> 
<option value="102748" >Mississippi</option> 
<option value="102749" >Missouri</option> 
<option value="102750" >Montana</option> 
<option value="102751" >Nebraska</option> 
<option value="102752" >Nevada</option> 
<option value="102753" >New Hampshire</option> 
<option value="102754" >New Jersey</option> 
<option value="102755" >New Mexico</option> 
<option value="102756" >New York</option> 
<option value="102757" >North Carolina</option> 
<option value="102758" >North Dakota</option> 
<option value="102759" >Northern Mariana Islands</option> 
<option value="102760" >Ohio</option> 
<option value="102761" >Oklahoma</option> 
<option value="102762" >Oregon</option> 
<option value="102763" >Pennsylvania</option> 
<option value="102764" >Puerto Rico</option> 
<option value="102765" >Rhode Island</option> 
<option value="102766" >South Carolina</option> 
<option value="102767" >South Dakota</option> 
<option value="102768" >Tennessee</option> 
<option value="102769" >Texas</option> 
<option value="102770" >U.S. Virgin Islands</option> 
<option value="102771" >Utah</option> 
<option value="102772" >Vermont</option> 
<option value="102773" >Virginia</option> 
<option value="102774" >Washington</option> 
<option value="102775" >West Virginia</option> 
<option value="102776" >Wisconsin</option> 
<option value="102777" >Wyoming</option> 
</select> 

Geb परीक्षण (इनमें से कोई भी काम ...):

$('#submitterState').value(102727) 
    $("form").submitterState = 102727 
    $('select', name: "submitterState").value(102727) 
    $('div.col-sm-2').find('select', name: "submitterState").value(102727) 
+0

उपर्युक्त सभी परीक्षण इस त्रुटि को वापस करते हैं: java.lang.IllegalArgumentException: पाठ या मूल्य के साथ विकल्प का चयन नहीं कर सका: 102727 – ry1633

+0

क्या आप परिणामस्वरूप एचटीएमएल (और जीएसपी कोड नहीं) दिखा सकते हैं जिसके साथ आप काम कर रहे हैं? – erdi

उत्तर

8

मुझे लगता है कि उपयोगकर्ता को यह अनुकरण करने का सबसे अच्छा तरीका है। पहले <select> पर क्लिक करें, फिर <option> पर क्लिक करें जो आप चाहते हैं।

$('#submitterState').click() 
$('#submitterState').find("option").find{ it.value() == "102727" }.click() 

स्पष्ट रूप से यह एक विधि कॉल में अच्छा दिखता है, लेकिन यह आपको जाना चाहिए।

+1

मैंने आपके रास्ते की कोशिश की। लेकिन यह इस त्रुटि को देता है। java.lang.NullPointerException: शून्य ऑब्जेक्ट पर विधि क्लिक() को आमंत्रित नहीं कर सकता – ry1633

+1

क्षमा करें मैंने आपके HTML को नहीं पढ़ा है, 'इसे {it.value() == 102727} ढूंढें। क्लिक करें() ', अगर यह काम नहीं करता है पूर्ण त्रुटि संदेश पोस्ट करें। – jk47

+0

अभी भी वही त्रुटि देता है "java.lang.NullPointerException: शून्य ऑब्जेक्ट पर विधि क्लिक() को आमंत्रित नहीं कर सकता"। मैं बाकी त्रुटि बी/सी पोस्ट नहीं कर सकता इसमें कुछ संगठन संवेदनशील जानकारी शामिल है। – ry1633

0
import org.openqa.selenium.support.ui.Select; 
import org.openqa.selenium.By; 

Select dropdown = new Select(driver.findElement(By.id("var_302"))); 
      dropdown.selectByVisibleText("Hispanic or Latino"); 

इसे आज़माएं।

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