1

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

4

2 回答 2

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>

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

于 2011-01-07T22:01:01.757 回答
0
    存储评估
    window.document.getElementsByName('descript')[0].value;
    元素

于 2013-11-27T10:02:05.893 回答