私はJSFUnitと関連技術の初心者です。私は疑問に思っていました:新しいJSFSessionオブジェクトを作成せずにURLを変更することは可能ですか?つまり、ユーザーが自分のアドレスバーに新しいアドレスを入力する状況をシミュレートしたいと思います。
追加情報
問題は、ファセットページに多くのリンクがあり、それらはui:repeat要素内に作成されているためIDを割り当てることができないことです。
回避策
Cookieを使用して、異なるJSFSession間のセッションを復元します
もちろん。
xhtml/jspページにボタンを含めることができます。このボタンは、要求されたページに移動します。
たとえば、ログインページがあり、ユーザーがテストページに移動したい場合は、JSFUnitに次のように記述します。
jsfSession = new JSFSession("start.jsf");
client = jsfSession.getJSFClientSession();
client.click("Login");
とstart.jsfページにあります:
<h:form>
<h:commandButton id = "Login" value="Login" action="#{loginBean.doLogin}"/>
</h:form>
あなたのどこにloginBean
public void doLogin(){
return "test.jsf";
}
このようにして、ユーザーに対して同じセッションをシミュレートできます。