当前位置: 首页 > 知识库问答 >
问题:

使用JMeter测试JSF应用程序-ViewState问题

史景铄
2023-03-14

我整天都在尝试运行JSF应用程序的JMeter测试。我知道ViewState,但这似乎是一个非常简单的问题。我准备了正则表达式提取器:

Reference Name: jsfViewState
Regular expression: id=\"javax.faces.ViewState\" value=\"(.+?)\"
Template $1$
Match No. 1

以下采样器是用代理和记录创建的。

第一个请求/TourJSF/pages/protected/admin/addTourPage。xhtml。这是将从中提取ViewState的GET请求。

POST请求/TourJSF/pages/protected/admin/addTourPage。xhtml其中<代码>${jsfviewstee}被传递到javax中。面孔。视图状态

第二个GET请求在本例中非常重要。

结果是:

首先GET。在右边我们可以看到ViewState的值。

调试采样器,它显示jsfViewState值是正确的。我们可以将其与上一屏幕进行比较。

javax.faces.application.ViewExpiredException: viewId:/pages/protected/admin/addTourPage.xhtml - View /pages/protected/admin/addTourPage.xhtml could not be restored.

我找到了一些关于这个问题的博客和话题,但许多都没有解决。如果需要,我可以把这些主题的链接。我真的很困惑...

问题在哪里?也许有什么

  • jsessionid
  • HTTP头管理器在每个HTTP请求中?我删除了HTTP头管理器,但没有任何更改
  • JSF应用程序的一些东西?当我添加context paramcom时。太阳面孔。启用将W11兼容性恢复到网站。xml,没有ViewExpiredException,但返回页面的内容不正确

共有1个答案

汝墨一
2023-03-14

你不是缺少一个饼干经理吗?

见:

  • http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Cookie_Manager

还请阅读以下内容:

  • http://wiki.apache.org/myfaces/PerformanceTestingWithJMeter
 类似资料:
  • 我是一名教师。net开发人员之前没有JMeter/压力测试经验。我正在尝试加载测试ASP。net网站,我用JMeter开发的。使用JMeter的原因是它是一个开放源码的工具,有很多名气和信誉 我引用此链接是为了处理viewstate,这是ASP的一个典型功能。网然而,我的要求并不像上面所说的那么简单。我正在尝试通过发送用户ID和密码登录页面来加载测试我的站点,然后通过其他页面进行测试,这些页面只有

  • 我有Jmeter和webdriver插件(chrome,firefox,phantomJS,...) > 问题是,当我使用多线程(Chrome,PhantomJS)启动场景时,打开第一个线程并登录,但所有其他线程都不登录,原因是我们已经在应用程序上连接(目标是在应用程序上同时有几个用户),我不知道如何像firefox那样隔离会话(firefox的问题不是headless,只有45版本有效) 我试图

  • 我们正在使用web应用程序上的JMeter对1500个用户进行负载测试。我们正在分批进行。第一批100个用户,爬坡期300秒,我们循环15次。此方法是否适用于负载测试? 应用程序在负载测试时响应太慢?给我宝贵的建议?

  • 我使用JMeter加载测试ASP. net应用程序。我能够成功记录登录功能 HTTPRequestDefaults HTTPCookieManager 线程组 记录控制器 登录请求后,我提取了

  • 我正在LinuxCLI模式下对两台从机进行远程测试。我已经在主机和从机上设置了如下的rmi端口。我可以从主从机远程登录到端口8080/1099,反之亦然。防火墙已为这些端口打开。 jmeter.properties:client.rmi.localport=1099 jmeter.properties:server.rmi.localport=8080 我在主节点和从节点上启动了 jmeter 服

  • 根据这个链接,我可以创建一个测试应用程序,Robolectric将自动开始在测试中使用它。我不能让它运转起来。 我正在使用Dagger进行依赖注入,并为和创建了注入包装类。那么我的每个活动都扩展了包装器活动类,而不是简单的旧。