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

如何使用JMeter进行ASP负载测试。net web应用程序实现viewstate

阴英武
2023-03-14

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

下面列出了我正在采取的实现这一目标的步骤。

>

  • 通过选择WorkBench创建Http代理服务器

    在用户定义的变量(在步骤6中创建)中,我添加了admin和123admin,它们是db中的实际登录名,用于登录时进行签入。aspx页面和成功后将重定向到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
    

    在步骤5中,我添加了以下数据

    Send Parameters With the Request:
        Name:             - Value
        txtLogin          - $(login)
        txtPassword       - $(password)
        __VIEWSTATE       - $(viewState)
        __EVENTVALIDATION - $(eventValidation)
    

    现在,我通过选择线程组添加了HTTP Cookie管理器

    现在我通过选择线程组添加了录制控制器

    我启动了HTTP代理服务器,然后使用firefox输入登录的完整URL。aspx页面,在两个文本框中输入admin和123admin,然后按下Login按钮,并在LoginAccess上成功重定向。aspx。我停止了HTTP代理服务器并关闭了firefox浏览器。

    现在我已经保存了测试计划(包含记录的步骤,这里只有2个步骤,1个用于login.aspx,另一个用于LoginSuccess.aspx),并运行测试,并在视图结果树中查看测试结果服务器。

    我无法确定我在这里遗漏了什么成分,因为我无法成功使用JMeter。我只更改了这里提到的那些值,对于我没有在这里写的所有内容,这些值都是默认类型,比如No of thread:

  • 共有3个答案

    韩寒
    2023-03-14

    我使用了CSS/JQuery提取器,它对我很有用。使用视图状态{viewState}的正则表达式提取器时,传递了变量,并收到视图状态损坏错误消息。

    CSS/JQuery提取器中要设置的参数有:-

    参考名称:viewState

    CSS/JQuery表达式:输入[id=\uu VIEWSTATE]

    属性:值

    我遵循的步骤是:-

    >

  • 首先做登录过程的记录
  • 拖动线程组中所需的页面
  • 在登录页面的get请求中,分别为视图状态和事件验证添加两个CSS/JQuery提取器
  • 在登录页面的post请求中,按如下所示添加正文参数并运行批处理。

    名称:-值

    txtLogin-${login}

    txtPassword-${password}

    __VIEWSTATE-${view State}

    __EVENTVALIDATION-${事件验证}

  • 山煜祺
    2023-03-14

    在步骤5中,更改如下

    Name:             - Value
    txtLogin          - ${login}
    txtPassword       - ${password}
    __VIEWSTATE       - ${viewState}
    __EVENTVALIDATION - ${eventValidation}
    

    还要验证,正则表达式提取器是否按要求工作。我的意思是检查它是否获取正确的值。

    周志文
    2023-03-14
    1. 请至少为脚本添加更好的架构
     类似资料:
    • 我目前正在尝试使用Siteminder对web应用程序的登录页面进行加载测试。我尝试使用JMeter的HTTP cookie管理器,但没有成功!继续重定向到登录页面! 你有关于这种情况的示例或教程的链接吗?!

    • 嗨,我是JMeter的新手,我知道如何使用JMeter执行负载测试。我试图弄清楚压力测试或容量测试是如何通过JMeter执行的。是不是通过逐渐增加JMeter中的线程数,我们可以确定何时出现性能问题,并获得阈值,在阈值以上运行测试。那它会做压力测试吗? 在如何执行压力测试和能力测试与Jeter工具混淆。

    • 我正在对我的asp.net应用程序进行负载测试,只使用了100个用户的jmetm。 我在页面上有jQuery"脚本/jquery.min.js"JQuery存在于文件夹中。错误如下20%的用户。 `示例结果:-线程名称:线程组1-25示例开始:2014-07-31 11:45:43 IST加载时间:189003延迟:0字节大小:2000字节大小:0字节大小:0正文大小:2000示例计数:1错误计数

    • 我是一个新手在jeter工具。我想测试登录到一个asp.net网站。但是我在网上搜索了2天后没有成功。 我在下面列出了我遵循的步骤: > 添加一个。 添加一个。 为EVENTVALIDATION和VIEWSTATE添加两个正则表达式提取器。 添加HTTP URL重写修改器与(检查和)。 有两个页面,一个是,另一个是。在Login Post Page中,我添加了以下参数: 用户名: __EVENTV

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

    • 我如何负载测试一个同时有300个用户使用jmeter的登录页面(而不是一个又一个用户。同时有300个用户登录)?线程组的设置应该是什么?