如何使用JMeter对实现viewstate的ASP.net web应用程序进行负载测试
我是一名.net开发人员,之前没有JMeter/压力测试方面的经验。我正在尝试对使用JMeter开发的ASP.net网站进行负载测试。使用JMeter的原因是它是一个开源工具,有很多名气和信誉。如何使用JMeter对实现viewstate的ASP.net web应用程序进行负载测试,asp.net,jmeter,viewstate,load-testing,Asp.net,Jmeter,Viewstate,Load Testing,我是一名.net开发人员,之前没有JMeter/压力测试方面的经验。我正在尝试对使用JMeter开发的ASP.net网站进行负载测试。使用JMeter的原因是它是一个开源工具,有很多名气和信誉。 我提到是为了处理viewstate,这是ASP.net的一个典型特性。然而,我的要求并不像上面所说的那么简单。我正在尝试通过发送用户ID和密码登录页面来加载测试我的站点,然后通过其他页面进行测试,这些页面只有在登录成功时才允许浏览 下面列出了我为实现这一目标而采取的步骤 通过选择工作台>添加>非测试元素
我提到是为了处理viewstate,这是ASP.net的一个典型特性。然而,我的要求并不像上面所说的那么简单。我正在尝试通过发送用户ID和密码登录页面来加载测试我的站点,然后通过其他页面进行测试,这些页面只有在登录成功时才允许浏览 下面列出了我为实现这一目标而采取的步骤
线程组
HTTP请求默认值
服务器名称或IP:
中输入我的远程服务器的IP(b) 以
/MyWebApplication/login.aspx
My login.aspx只有三个服务器控件,两个
asp:TextBox
用于接收loginid和密码,一个asp:Button
用于在数据库中检查它们。它们的id分别是
txtLogin
,txtPassword
,btnLogin
在用户定义的变量(在步骤6中创建)中,我添加了admin和123admin,它们是在login.aspx页面中签入的db中的真实登录,成功后将重定向到loginsucess.aspx页面
用户定义变量:
Name: Value Description
login admin
password 123admin
查看状态提取器
,并向其添加了以下数据:
Reference Name: viewstate
Regular Expression: name="__VIEWSTATE" id="__VIEWSTATE" value="(.+?)"
Template:$1$
Match No.(0 for Random): 1
Default Value: ERROR
Reference Name: eventValidation
Regular Expression: name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="(.+?)"
Template:$1$
Match No.(0 for Random): 1
Default Value: ERROR
事件验证提取器
,并向其添加了以下数据:
Reference Name: viewstate
Regular Expression: name="__VIEWSTATE" id="__VIEWSTATE" value="(.+?)"
Template:$1$
Match No.(0 for Random): 1
Default Value: ERROR
Reference Name: eventValidation
Regular Expression: name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="(.+?)"
Template:$1$
Match No.(0 for Random): 1
Default Value: ERROR
Send Parameters With the Request:
Name: - Value
txtLogin - $(login)
txtPassword - $(password)
__VIEWSTATE - $(viewState)
__EVENTVALIDATION - $(eventValidation)
No of thread:
txtLogin=$(login)
,txtPassword=$(password)
,…将变量值引用为
$(VAR\u NAME)
不正确,应使用${VAR\u NAME}
。你能保证这只是你问题中的拼写错误吗?或者你的脚本中有相同的拼写错误吗
viewstate
和eventValidation
的值是否都是从您的请求中提取的,并且正则表达式查询是否正常工作txtLogin
,txtPassword
,\uuu VIEWSTATE
,\uu EVENTVALIDATION
)以及正确的值都随请求一起发送Http 500是。服务器错误代码,因此不是您的脚本失败。要禁用几个月前我遇到的安全性,必须在.aspx中添加一个标记。在步骤5中,更改如下
Name: - Value
txtLogin - ${login}
txtPassword - ${password}
__VIEWSTATE - ${viewState}
__EVENTVALIDATION - ${eventValidation}
还要验证正则表达式提取器是否按要求工作。我的意思是检查它是否获取了正确的值 我用过
这对我很有效。使用视图状态{viewState}的正则表达式提取器时,传递了变量,并收到视图状态损坏错误消息
CSS/JQuery提取器中要设置的参数有:-
参考名称:viewState
CSS/JQuery表达式:输入[id=\uu VIEWSTATE]
属性:值
我遵循的步骤是:-
我对jmeter模拟问题的回答可以在这里查看: