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

发布于 2024-10-11 18:29:15 字数 262 浏览 2 评论 0原文

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

其他信息

问题是我的 Facelets 页面中有许多链接,无法为其分配 id,因为它们是在 ui:repeat 元素内创建的。

解决方法

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

I am beginner in JSFUnit and related technologies. I was wondering: is it possible to change the url without creating a new JSFSession object? I.e. I would like to simulate the situation where the user types in a new address in his/her address bar.

Additional Information

The problem is that I have many links in my facelets page, that cannot be assigned ids because they are created inside a ui:repeat element.

Workaround

Use a cookie to restore the session between different JSFSessions

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尴尬癌患者 2024-10-18 18:29:15

当然。

您的 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";
}   

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

Of course.

You could have a button in your xhtml/jsp page. This button will lead to the requested page.

For example, if you have login page, and the user would like to go to test page so in your JSFUnit write:

jsfSession = new JSFSession("start.jsf");
client = jsfSession.getJSFClientSession();
client.click("Login");

and in start.jsf page have:

<h:form>
    <h:commandButton id = "Login" value="Login" action="#{loginBean.doLogin}"/>
</h:form>

where in your loginBean

public void doLogin(){
   return "test.jsf";
}   

In this way you can simulate the same session for the user.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文