0
votes

I am trying to select drop down values using Selenium IDE. Say for example there are three drop down lists Country, State & City. Once you select a country A from the country drop down, the state drop down is populated (empty before) with the corresponding values and so on for the city. When I record, some hardcoded values get recorded specific to the value selected in first drop down. I selected the first value in the first drop down. Then selenium records the following for the ajax action: click | css=option[value="28"]

Here 28 is the id stored in db for the selected value (first item in the drop down). I don't want this hardcoded value in my script as the actual ids in prod will be different.

I tried using waitForCondition but it is not able to populate the drop down values in the second drop down. Adding pause of 10 seconds also didn't help.

The sample recorded code is here:

<tr>
<td>select</td>
<td>id=property1</td>
<td>index=1</td>
</tr>
<tr>
<td>click</td>
<td>css=option[value=&quot;28&quot;]</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>id=property2</td>
<td>index=1</td>
</tr>
<tr>
<td>click</td>
<td>css=option[value=&quot;12&quot;]</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>id=property3</td>
<td>index=1</td>
</tr>
<tr>
<td>click</td>
<td>css=option[value=&quot;14&quot;]</td>
<td></td>
</tr>
<tr>

The waitForCondition I tried is here waitForCondition | var value = selenium.getText("//input[@id='some_xyIDHidden']"); value == "" | 10000

I am probably missing a basic step here. Need help.

Thanks

2

2 Answers

0
votes

Try using selenium.fireEvent("<locator>","blur") on each and every element

0
votes

in this condition you have to to store the value in a variable, the while dropdown will appear then you can use that value, for this you have to use the storeEval command to store the value in a variable