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