【问题标题】:Selenium IDE: Handle Ajax controls - select drop down valuesSelenium IDE:处理 Ajax 控件 - 选择下拉值
【发布时间】: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=&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>

我试过的waitForCondition在这里 等待条件 | var value = selenium.getText("//input[@id='some_xyIDHidden']");值 == "" | 10000

我可能在这里遗漏了一个基本步骤。需要帮助。

谢谢

【问题讨论】:

    标签: ajax selenium


    【解决方案1】:

    尝试在每个元素上使用selenium.fireEvent("&lt;locator&gt;","blur")

    【讨论】:

      【解决方案2】:

      在这种情况下,您必须将值存储在变量中,然后会出现 while 下拉菜单,然后您可以使用该值,为此您必须使用 storeEval 命令将值存储在变量

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多