使用jmeter进行asp.net登录测试

时间:2013-04-15 05:51:06

标签: asp.net testing login jmeter load-testing

我是jmeter工具的新手。我想测试登录到asp.net网站。但经过2天的互联网搜索后,我没有成功。

我在下面列出了我遵循的步骤:

  1. 添加HTTP Request Defaults
  2. 添加HTTP Cookie Manager
  3. Regular Expression ExtractorEVENTVALIDATION添加两个VIEWSTATE
  4. 使用ASP.NET_SessionId添加HTTP网址重写修饰符(选中Path ExtensionCache Session Id)。

    enter image description here

  5. 有两个页面,一个是Login Get Page,另一个是Login POST Page。在Login Post Page中,我添加了以下参数:

    • 用户名:realUser
    • 密码:realPassword
    • __ VIEWSTATE:name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="(.+?)"

    enter image description here

    • __ EVENTVALIDATION:name="__VIEWSTATE" id="__VIEWSTATE" value="(.+?)"

    enter image description here

    • LoginButton:Log+In
  6. 添加View Results Tree

  7. 我已经探索了以下链接,但没有成功。

    当前输出:

    Current Output

    我缺少什么?
    有任何建议请。

    更新

    测试计划树结构:

    Test Plan Tree Structure

    登录详情 enter image description here

    登录请求标签 enter image description here

2 个答案:

答案 0 :(得分:2)

尝试使用Jmeter Proxy Server录制:

然后添加你描述的所有元素以制作动态需要的内容,但Http Url重写修饰符除外。

答案 1 :(得分:1)

我们也遇到了这样的问题,让登录页面在jmeter中工作。 最终我们得到了它的工作。需要注意的重要事项是:

  • 您必须为登录页面创建两个HTTP请求采样器,第一个使用GET方法。因此,正则表达式提取器可以捕获视图状态,然后使用执行登录的POST方法获取第二个视图状态。
  • 使用firebug或任何其他捕获工具捕获登录页面的帖子,并确保添加发布值的所有控件。如果您忘记了一个参数,那么您的页面将出错。我们也需要空的___VIEWSTATE参数。查看我们的帖子请求的屏幕截图
  • 对于某些页面,我们还必须使用空值添加参数__VIEWSTATEENCRYPTED

screenshot of the login http post request