我有在JMeter的/压力测试没有现成的经验.NET开发。 我试图加载测试,我已经用JMeter来开发的ASP.net网站。 之所以使用JMeter是具有大量的名声和信誉的一个开源工具。
我提到这个链接 ,以便采取视图状态是ASP.net的典型特征的照顾。 但我的要求是不是说有这么简单。 我试图加载通过发送用户名和密码来登录页面,然后通过只允许如果登录成功后要浏览其他页面测试测试我的网站。
我要带去实现这一目标的步骤如下。
- 通过选择工作台创建HTTP代理服务器>添加>非测试元素。
- 在Firefox中改变网络设置在HTTP代理服务器定义的端口。
- 创建一个
Thread Group
通过选择测试计划>添加>线程(用户)>线程组。 - 创建
HTTP Request Defaults
选择线程组>添加>配置元素> HTTP请求默认值。 - (一)我在远程服务器IP输入
Server Name or IP:
(二)进入的路径,我的登录页面/MyWebApplication/login.aspx
- 创建
User Defined Variables
选择线程组>添加>配置元素>用户定义的变量。 我的login.aspx页面非常简单,它有两个文本框需要用户名和密码,并在数据库匹配他们,如果成功,它们重定向到LoginSuccess.aspx页。
我login.aspx的只有三个服务器控件,二asp:TextBox
用于接收登录ID和密码,一个asp:Button
用于在数据库检查它们。
他们的ID是txtLogin
,txtPassword
,btnLogin
分别。在用户定义的变量(6步中创建),我已经添加了管理员和123admin,这是在DB实际登录在login.aspx的页面得到检查,并在成功时重定向到LoginSuccess.aspx页。
用户定义的变量:
Name: Value Description login admin password 123admin
我选择的线程组增加了两个正则表达式提取>添加>后置处理>正则表达式提取。
我已经改名为第一个正则表达式提取器
View State Extractor
并添加以下数据对他们说:Reference Name: viewstate Regular Expression: name="__VIEWSTATE" id="__VIEWSTATE" value="(.+?)" Template:$1$ Match No.(0 for Random): 1 Default Value: ERROR
同样地,我已经改名为第2个正则表达式提取作为
Event Validation Extractor
并添加以下数据对他们说:Reference Name: eventValidation Regular Expression: name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="(.+?)" Template:$1$ Match No.(0 for Random): 1 Default Value: ERROR
在步骤5中,我添加以下数据
Send Parameters With the Request: Name: - Value txtLogin - $(login) txtPassword - $(password) __VIEWSTATE - $(viewState) __EVENTVALIDATION - $(eventValidation)
现在我添加HTTP Cookie管理器通过选择线程组>添加>配置元素> HTTP Cookie管理器。
现在我加入记录控制器通过选择线程组>添加>逻辑控制器>记录控制器。
我开始HTTP代理服务器,然后用firefox输入了完整的URL到我的login.aspx页面,在两个文本框中输入admin和123admin和按下登录按钮,并来到了LoginSuccess.aspx成功重定向。 我停止了HTTP代理服务器,并关闭我的Firefox浏览器。
现在,我已经保存了测试计划(包含记录的步骤,这里仅有几步之遥,1 login.aspx的,另一个用于LoginSuccess.aspx)并运行测试和查看在查看结果树是从返回500错误的测试结果服务器。
我无法确定我缺少什么成分,因为在这里,而我不能成功地使用JMeter的。 我只是改变了这里提到的那些价值观和我没有写在这里一切都值是默认类型一样No of thread:
。