(JSFUnit)在同一个会话中访问许多url

时间:2011-01-12 11:55:49

标签: java jsf jsfunit

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

其他信息

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

解决方法

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

1 个答案:

答案 0 :(得分: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";
}   

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