1

フォームタグでラップされていない場合でも、テキストボックスにテキストを入力することを含むユースケースを httpUnit を使用してテストするためのクラス割り当てがあります。内部を見るフォームがない場合、テキストを送信したり、値を設定したりするにはどうすればよいですか? GetElementWithId では、これらのいずれも実行できません。テストを書くだけでなく、必要なコードに変更を加えることができます。

以下は、html のレンダリングに使用される jsp コードです。

<script type="text/javascript">
 $(function(){

    $("#searchBox").keyup(function(){
        $("#userSearch").attr("src","patientSearch.jsp?forward=<%=StringEscapeUtils.escapeHtml("" + (request.getParameter("forward") ))%>&q="+$("#searchBox").val()+"&allowDeactivated="+$("#allowDeactivated:checked").val())
    });
    $("#oldSearch").hide(); 

 });
</script>
<h2> Select a Patient</h2>
<b>Search by name or MID:</b><br/>
<div style="border: 1px solid Gray; padding:5px;float:left;">
    <input id="searchBox" name="searchBox" style="width: 250px;" type="text" value="<%= StringEscapeUtils.escapeHtml("" + ( firstName )) %>" />
    <br />
    <input id="allowDeactivated" type="checkbox" />
    Show deactivated patients
</div>
4

1 に答える 1

1

これが私がそれを機能させるために使用したハックです...

WebForm form = curPage.getForms()[0];
form.getScriptableObject().setParameterValue("UID_PATIENTID", "1");
Button btn = form.getButtons()[1];
btn.click();
curPage = wc.getCurrentPage();

私が変更しているフォームは隠されているため、実際の「ユーザー」が行うことではありませんが、テストに合格します。誰かがこれをより良い方法で行う方法を知っているなら、本当に知りたいです.

于 2013-04-14T07:45:57.613 に答える