1

我是 JSFUnit 和相关技术的初学者。我想知道:是否可以在不创建新的 JSFSession 对象的情况下更改 url?即我想模拟用户在他/她的地址栏中输入新地址的情况。

附加信息

问题是我的 facelets 页面中有很多链接,因为它们是在 ui:repeat 元素中创建的,所以无法分配 id。

解决方法

使用 cookie 恢复不同 JSFSession 之间的会话

4

1 回答 1

1

当然。

您可以在 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";
}   

通过这种方式,您可以为用户模拟相同的会话。

于 2011-01-12T12:18:52.077 回答