我是JSFUnit和相关技术的初学者。我想知道:是否可以在不创建新的JSFSession对象的情况下更改URL?即我想模拟用户在他/她的地址栏中输入新地址的情况。
其他信息
问题是我的facelets页面中有很多链接,因为它们是在ui:repeat元素中创建的,所以无法分配id。
解决方法
使用cookie恢复不同JSFSession之间的会话
答案 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";
}
通过这种方式,您可以为用户模拟相同的会话。