さまざまな構成項目の入力フィールドを保持するいくつかのタブを持つ複雑なデータ入力フォームを備えた Web アプリがあります。さまざまなタブのフィールドにデータを入力してから保存を実行するテストを書いています。各項目を入力するたびに、データ入力コントロールに選択したテキストまたは値があることを確認してから、次のステップに進みます。常にではありませんが、別のタブに移動すると、前のタブのフィールドに入力したデータが失われることがあります。
これを防ぐにはどうすればよいですか?
Java で WebDriver を使用して Selenium 2 を使用し、Firefox でテストを実行しています。
次の 2 つのフィールドで問題が発生しています。
1 つは単純なテキスト入力フィールドです 2 つ目はオートコンプリート機能を備えたテキスト入力ボックスです
どちらのフィールドも、タブを切り替える前にデータを入力する最後のフィールドです。タブを切り替える前にデータを入力した他のフィールドのデータが失われることはありません。新しいタブに移動する直前にやり取りするものだけです。
テキストを入力フィールドに送信するメソッドの最後に JQuery がロードされていることを確認しようとしましたが、役に立たないようです。JQuery をチェックするメソッドは true を返し、データはまだ時々消去されます。
これは、手動でデータを入力する場合には発生しません。また、データが 1 つのタブのみに入力される別の自動テストでも発生しません。
テキストが入力され、オートコンプリートをトリガーした保留中の入力がない場合のオートコンプリート フィールドの html は次のとおりです。
<div id="s2id_autogen5" class="select2-container select2-container-multi select2">
<ul class="select2-choices" style="">
<li class="select2-search-choice">
<div>
htm
</div>
<a class="select2-search-choice-close" tabindex="-1" onclick="return false;" href="#"></a>
</li>
<li class="select2-search-field">
<input class="select2-input" type="text" autocomplete="off" tabindex="0" style="width: 10px;"></input>
</li>
</ul>
</div>
単純なテキスト入力フィールドの HTML ソースは次のとおりです。
<td class="optionValue option_sr_test_object_url">
<input id="option_d03e6450-5990-4a31-8e84-5b1af89d2c47_sr_test_object_url" type="text" placeholder="e.g. /path/testobject.html" value="/path/test.html">
</input>
</td>