• 12
  • 12
分享
  • jmeter如何将上一个请求的结果作为下一个请求的参数——软件测试圈
  • 北极 2022-03-22 11:18:30 字数 1561 阅读 6620 收藏 12

1、简介

ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库,FTP服务器,等等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

Apachejmeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

2、用途

  1. 能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。

  2. 完全的可移植性和100%纯java。

  3. 完全Swing和轻量组件支持(预编译的JAR使用javax.swing.*)包。

  4. 完全多线程框架允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。

  5. 精心的GUI设计允许快速操作和更精确的计时。

  6. 缓存和离线分析/回放测试结果。

3、下载、简单应用

下载、简单应用可参照:http://www.cnblogs.com/0201zcr/p/5046193.html

4、如何将上一个请求的结果作为下一个请求的参数

在压力测试的时候,经常要将几个流程串联起来才能将程序测试通过。如:我现在用户首先要登录,获得我登录的凭证(tokenId),之后我的请求其他的资源的时候需要带上这个凭证。才能识别你是否是合法的用户。

1)创建一个线程租

微信图片_20220322111241.png

2)创建一个获取凭证的请求

2.png

3)创建后置处理器

JMeterGUI视图中右击该采样器打开右键菜单->添加->后置处理器->正则表达式提取器,打开"正则表达式提取器"会话页面并编辑其内容如下:

3.png

后置处理器是当这个请求返回后要做得事情,我这里是要从返回的内容中将我们要的tokenId获取出来。这里使用“正则表达式提取器”,用正则表达式,将我们要的内容获取出来。

4)正则表达式提取器配置

4.png

  • 引用名称是下个请求将要引用到的变量名;

  • 正则表达式是提取你想要内容的正则表达式,小括号()表示提取,也就是说对于你想要提取的内容需要用它括起来;

  • 模板是使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从1开始匹配,依次类推。这里只有一个,所以填写$1$即可;

  • 匹配数字表示如何取值。0代表随机取值,1代表全部取值。这里只有一个,填1即可;

  • 缺省值表示参数没有取到值的话,默认给它的值。一般不填。

这个请求返回的数据如下:

{"message":"success","statusCode":200,"registerDay":"20","tokenId":"bf1017bc1bb495ae31764b306a3422885f5"}

我们现在要获取的是上面这个json字符串中tokenId的值,即bf1017bc1bb495ae31764b306a3422885f5。

5)添加下一个请求

在这个请求中,我们要将上面的tokenId作为一个参数一并发送。

同上2)添加一个http请求(线程租右键——》添加——》Sampler——》HTTP请求)

5.png

6)添加查看结果树

6.png

7)执行后,即可通过”查看结果树“查询

7.png


作者:WhyWin

原文链接:https://www.cnblogs.com/0201zcr/p/5089620.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   本文主要分为两部分:  一是Selenium Grid环境搭建过程;  二是运行打开百度网站并截图脚本,验证搭建成功。  什么是Grid  Grid是用来实现分布式测试的工具,在一台机器上执行代码,通过grid驱动多台关联机器进行测试。  主机叫Hub, 驱动机器Node1-Noden等。  环境搭建过程  下载并配置JDK(本文略过)。  下载Grid Server  下载网址:https://www.selenium.dev/downloads/  运行 Grid Server  cmd运行命令:java -jar selenium-server...
            13 13 1352
            分享
          •   苹果公司今天向开发者发布了iOS17.5的首个测试版,正如预期的那样,该更新引入了对从欧盟开发者网站下载应用程序的支持。在iOS17.4中,苹果开始允许开发者通过欧盟的其他应用程序市场提供应用程序,以遵守《数字市场法案》。  苹果最初打算只通过这些市场提供应用程序,但在今年3月,苹果表示事实上将增加对直接从网站下载应用程序的支持。  要在欧盟网站上提供应用程序下载,开发者需要满足特定的标准。开发者需要连续两年或两年以上成为苹果开发者计划的成员,并且必须在上一年在欧盟的iOS平台上首次安装超过一百万次。其他要求还包括提交苹果公司的公证程序和发布透明的数据收集政策。  苹果公司将为授权开发者提...
            0 0 232
            分享
          • 读者提问:公司只有 1个测试,领导让我同时测试 10个项目,我该怎么办?阿常回答:如果我是那个测试,我会做这三件事1、向上申请资源2、任务分配到人3、执行测试任务一、向上申请资源1个测试同时对接 10个项目(这 10个项目大部分是新项目),这个确实让人难以招架,不瞒大家说,阿常在以前的公司就遇到过这种情况,当时我做的第一件事就是向上申请资源。当时我们有 10个开发,1个测试,2个产品,2个设计,我跟领导申请到了产品和设计帮忙做测试验证工作。二、任务分配到人总共 10个项目,测试资源 5人(测试 1人,产品 2人,设计 2人)。1、每人平均分配到 2个项目2、按阿常给的模版写测试用例3、由阿常检...
            0 0 1044
            分享
          •   面试一直是跳槽时期非常热门的话题,虽然现在已经过了跳槽的旺季,下一轮跳槽季需要到年底才会出现,但是当跳槽季的时候你再看这篇文章可能已经晚了,过冬的粮食永远不是冬天准备的,而是秋收的时候。  一、简历准备  简历是你进入面试的敲门砖,也是留给意向公司的第一印象,所以这个很重要,必须在这上面做足了文章,一份优秀的面试简历是整个面试成败的重中之重,我们会详细分析如何准备简历才能保证简历不被刷掉。  简历通常有这几部分构成:  ·基本资料  · 专业技能  · 工作经历  · 项目经历  · 教育背景  我们会逐一进行分析。  二、准备简历模板  万事开头难...
            0 0 711
            分享
      • 51testing软件测试圈微信