【发布时间】:2012-07-24 11:03:45
【问题描述】:
我正在尝试使用 Selenium IDE 选择下拉值。例如,有三个下拉列表 Country、State 和 City。从国家下拉列表中选择国家 A 后,将使用城市的相应值填充州下拉列表(之前为空),依此类推。 当我记录时,一些硬编码的值会被记录到特定于第一个下拉列表中选择的值。 我在第一个下拉列表中选择了第一个值。然后 selenium 为 ajax 操作记录以下内容: 点击 | css=option[value="28"]
这里 28 是存储在 db 中的所选值的 id(下拉列表中的第一项)。我不想在我的脚本中使用这个硬编码值,因为 prod 中的实际 id 会有所不同。
我尝试使用 waitForCondition 但它无法填充第二个下拉列表中的下拉值。添加 10 秒的暂停也没有帮助。
示例记录代码在这里:
<tr>
<td>select</td>
<td>id=property1</td>
<td>index=1</td>
</tr>
<tr>
<td>click</td>
<td>css=option[value="28"]</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="12"]</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="14"]</td>
<td></td>
</tr>
<tr>
我试过的waitForCondition在这里 等待条件 | var value = selenium.getText("//input[@id='some_xyIDHidden']");值 == "" | 10000
我可能在这里遗漏了一个基本步骤。需要帮助。
谢谢
【问题讨论】: