クレジット カードの有効期限を設定するために 2 つの選択があり、カードの有効期限が切れたときにエラー メッセージが正しく返されることをテストしたいと考えています。私が抱えている唯一の問題は、リストが2011年1月に開始され、まだ期限切れになっていないため、現在期限切れの値を選択できないことです。私が考えているのは、セレンで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
storeEval window.document.getElementsByName('descript')[0].value; エレメント
于 2013-11-27T10:02:05.893 に答える