使用selenium IDE创建一个选择选项

时间:2011-01-07 21:25:22

标签: selenium-ide

我有2个选项用于设置信用卡上的到期日期,我想测试当卡过期时错误消息正确回传。我唯一的问题是,现在我无法选择一个已过期的值,因为列表从2011年1月开始,但尚未到期。我正在考虑做的是在selenium中使用javascript来注入已知的过期值。任何人都知道如何做到这一点或建议更好的方法来实现?

2 个答案:

答案 0 :(得分:1)

您可以使用storeEval方法使用Selenium运行JavaScript代码段。 JavaScript在Selenium对象的上下文中运行,因此您需要window.document来获取文档引用(因此第一行的原因)。

此代码段是用于添加select元素的新选项的JavaScript:

var d = window.document;
var select = d.getElementsByName("selectName")[0];
var option = d.createElement('option');
option.value='Value';
option.innerHTML='My new option';
select.appendChild(option);

这是我的Selenium IDE条目的复制/粘贴。

<tr>
 <td>storeEval</td>
 <td>var d = window.document;var select = d.getElementsByName(&quot;selectName&quot;)[0];var option = d.createElement('option');option.value='Value';option.innerHTML='My new option';select.appendChild(option);</td>
 <td></td>
</tr>

然后,您可以在Selenium中使用标准select方法来选择该选项。当然,您始终可以在JavaScript代码段中执行option.setAttribute('selected',true)但是让Selenium执行此操作将确保已选择新值(因为如果找不到它,它将失败)。

答案 1 :(得分:0)

    storeEval
    window.document.getElementsByName('descript')[0].value;
    element