lam*_*eta 2 java testing automated-tests jmeter jsf-2
我们正在尝试在JSF应用程序中使用JMeter添加一个简单的测试.我们按照以下说明操作:
http://jmeter.apache.org/usermanual/build-adv-web-test-plan.html
它有一个简单的登录页面,其中包含用户名和密码以及一个提交按钮.您可以从屏幕截图中看到我们使用了代理.使用屏幕截图中的设置,我们收到HTTP 500错误.我不确定我是否以正确的方式提出问题.请询问您是否需要澄清.








错误代码是:

编辑:我认为这将是SO最长的问题.但有时候图像比文字要好.无论如何,我们所做的是发送与我们在firebug中看到的数据相同的数据.但仍然有500错误.您可以在附件中看到Tomcat日志.

HTTP 5xx代码与服务器或应用程序错误有关.首先搜索日志文件.
您的脚本不需要"用户定义的变量"组件,因为没有真正需要根据线程/用户评估的变量表达式.
"正则表达式提取器"组件足以提取JSF ViewState值.我建议你删除你的表达式的最后一部分,"/>",并将正则表达式分组(.+?)更改为(\ w +?)'因为它将评估为几个匹配(可能只有2).更改"匹配号"的值 字段为1(如果匹配的所有值相同,则无需使用随机数).
我不明白为什么你使用"XPath Extractor"和"Regular Expression Extractor"组件来提取相同的值.我喜欢在使用html时使用最后一个.使用格式良好的xml字符串/文件进行处理时,XPath会更好.
要从头开始捕获脚本,我建议您在Workbench中添加"HTTP代理服务器",配置它,启动它,配置浏览器以使用此代理并使用浏览器导航这些页面.这样,您将捕获所有请求,并请求您选择的浏览器使用的标头.在此之后,删除不必要的请求并将查询参数(如javax.faces.ViewState)更改为相应的变量.
考虑在将使用参数值中的变量的HTTP Sampler中使用提取器(Pos-Processors).例如:if/EBS请求首先出现,而/EBS/login.xhtml请求有一个javax.faces.ViewState参数,那么,/ EBS响应可能包含一个带有javax.faces.ViewState值的隐藏输入.
这是我使用的JSF应用程序测试脚本的常见组成.提供有关HTTP 500错误原因的更多信息应阐明获得更好解决方案的方法.
在jsfViewState的正则表达式提取器上,添加(?s)到正则表达式的开头.所以你有了:
(?s)<input type="hidden" name="javax\.faces\.ViewState" id="javax\.faces\.ViewState" value="(.+?)" />
Run Code Online (Sandbox Code Playgroud)
这允许(.+?)跨越换行符.
| 归档时间: |
|
| 查看次数: |
5009 次 |
| 最近记录: |