川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

JMeter主要组件介绍(一)

作者:川石学院 日期:2022-01-11 15:13:55 点击数:

一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“JMeter主要组件介绍(1)”。

JMeter主要组件介绍((图1)

  接下来修改录制的脚本,在修改之前,介绍一下一些最基本的组件功能。由于JMeter功能非常强大并且支持很多控件,所以在这里经介绍最基本的组件。

  1. 测试计划

  jmx文件是一个树形结构,这棵树的根节点就是测试计划,如图3-130所示

JMeter主要组件介绍((图2)

图3-130测试计划

  这里的名称为测试计划的名称,注释为对这个测试计划的详细注解。JMeter所有的组件都有这两个选项,下面不再进行重复介绍。在这里简单地介绍一下下面几个选项。

  l 独立运行每个线程组(例如在一个组运行后启动下一个):如果不选择,表示多个线程组全部一起运行。

  l 主线程结束后运行teardown线程组:关闭主线程后运行 teardown程序来关闭线程组,一般不选择。

  l 函数测试模式:可以获得更多服务器返回信息,一般不选择。

  l 添加目录或jar包到classpath:不建议在这里添加,如果有必要可以放在%JMeter_HOME%\lib\ext\目录下。

  2. 线程组

  线程组通过菜单“Add->Threads(Users) -> Threads Group”添加。如图3-131所示

  

JMeter主要组件介绍((图3)

图3-131 线程组

  l 线程数:表示一次测试运行启动多少个线程。作为性能测试的时候,相当于在线用户数;在做接口测试的时候,请设置为1。

  l Ramp-Up时间(秒):决定多长时间启动所有线程。如果使用100个线程,Ramp-up period是10秒,那么JMeter在10秒启动所有100个线程,也就是说平均每1秒钟启动10个线程。Ramp-Up需要充足长以避免在启动测试时有一个太大的工作负载,并且要充足小以至于最后一个线程在第一个完成前启动。

  l 循环次数:设置循环的次数或者无限循环。所以在做接口测试的时候,请设置为1。

  l 如果循环计数不是-1(随机)或永久,则持续时间将为循环计数*迭代持续时间。

  在网上下载JMeterPlugins-Standard.jar,放入%JMETER_HOME%\lib\ext中,重新启动JMeter,选择Test Plan,点击鼠标右键,选择“Add->Thread(users)->jp@gc-Stepping Thread Group”。可以设置类似LoadRunner中的场景设计器,如图3-132所示

  

JMeter主要组件介绍((图4)

图3-132 Stepping 线程组

  3.HTTP Cookie 管理器

  HTTP Cookie 管理器,通过菜单“Add-> Config Element -> HTTP Cookie Manager”添加。如图3-132所示

  

JMeter主要组件介绍((图5)

图3-132 HTTP Cookie管理器

  l 每次反复清除cookies:每次线程执行完就会清除cookies。

  l Cookie 策略,管理cookies的策略,详细请查看官网介绍:http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/cookie/CookiePolicy.html。一般情况下请设置为standard。

  l 添加:添加cookie项。包括名、值、域、路径以及是否安全,其中名与值为必填项,其他为选填项。

  l 删除:删除当前所选的cookie项。

  l 载入:可以引入浏览器保存下来的Cookie,一般为txt文件。

  4. 函数助手

  点击132图中左上角最后第二个图标,或者菜单“Tools->Function Helper Dialog”进入函数助手。如图3-133所示

JMeter主要组件介绍((图6)

图3-133函数助手

  比如需要一个随机数产生器,选择函数__Random,第一行输入随机数的最小数,第二行输入随机数的最大数,第三行输入随机数的变量,点击【Generate & Copy to clipboard】按键,如图3-134所示

JMeter主要组件介绍((图7)

图3-133随机函数

  l Function Syntax:函数表达式

  l The result of the function is:当前产生的随机数。

  l Current JMeter Variable:当前的JMeter变量。

  最后到JMeyer的相应位置,把Function Syntax中的内容粘贴上即可使用。

  5. 正则表达式提取器

  有时候需要从返回内容中提取相关的信息作为验证或者作为参数,以便进行下一步操作。这时需要使用“正则表达式提取器”,通过菜单“Add->Post Processors->Regular Expression Extractor”添加。如图3-133所示

  

JMeter主要组件介绍((图8)

图3-133 Regular Expression Extractor

  l Name of created variable:通过正则表达式提取后获得参数的变量名。

  l Regular Expression:正则表达式。

  l Template($i$ where i is capturing group number,start at 1:模板吗,格式为$i$,其中i表示从1开始的计数器,如果获得一个参数标记为$1$,两个参数标记为$2$...。

  l Match No. (0 for Random) :由于满足正则表达式条件的个数可能不止一个,这里指定匹配多少个:0表示从匹配的的个数中随机挑选;-1表示获取所有的;n(n>0)表示匹配第n个(如果匹配的数目小于n,则报错)。

  l Default Value:如果没有匹配到的缺省值,便于调试。

  图3-134为在这则表达式中的目的是获取HTNL中的用户名和密码的参数,在这里设置了3个匹配时,而有用的仅仅为第1个和第3个,所以在模板提取式中仅设置 “$1$$3$”。使用的时候通过变量${RefName_g1}和${RefName_g3}获得。(JMeter的变量表达式为:${变量名})。

JMeter主要组件介绍((图9)

图3-134 提取多个表达式

  6. 循环控制器

  循环控制器在性能测试中,类似于LoadRunner定义了一个迭代。在做性能测试的时候参数Loop Count选择Forever,而在做接口测试的时候选择1。通过菜单“Add->Logic->Loop Controller”添加,如图3-135所示

JMeter主要组件介绍((图10)

图3-135 循环控制器

  7. HTTP Request

  HTTP Request是一个关键的组件,它定义了HTTP Request请求的信息。通过菜单“Add->Samples->HTTP Request”添加,如图3-136所示

JMeter主要组件介绍((图11)

图3-136 HTTP request

  l 在Web Server选项框中,protocol默认为http协议,当然也可以选择https协议。Server Name or IP中输入待测产品所在的域名或者IP地址。Protocol Number为服务器运行的端口号。

  l 在HTTP Request选项框中,Method中选择HTTP的九个方法中的任意一个,一般情况下,多为“POST”或者“GET”方法。Path为请求的路径,如果请求为根目录,路径为“/”。Content encoding为编码格式,默认情况为“ios8859”,但是建议使用“utf-8”。

  l Redirect automatically:不会将重定向视为单独的请求。

  l Follow redirects:会将每个重定向视为单独的请求。一般而言如果产品程序中有类似于JavaScript语言中window.location.href="url"的重定向语句用Follow redirects,否则请使用Redirect automatically。

  l Use Keepalive:表示使用面向连接的请求,也就是说在请求头中包含keep-alive。

  l multipart/form-data:表示以multipart/form-data发出请求,也就是说除了可以使用键值对发送请求外,还可以发送文件。

  l browser-compatible headers:表示浏览器兼容请求头。

  l 参数:就是所要传输的参数(一般为POST参数,get参数写在url中),分别填写请求的名称,值及其他信息。

今天关于“JMeter主要组件介绍(1)”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2022-01-11 15:13:55
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2022-01-11 15:13:55
  • 国外的月亮也不一定比国内测试猿的年薪美~2022-01-11 15:13:55
  • 建筑工程专业朱同学成功转行为软件测试人!2022-01-11 15:13:55
  • 财务管理专业转行软件测试月薪甩会计几条街!2022-01-11 15:13:55
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2022-01-11 15:13:55
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2022-01-11 15:13:55
  • 文科生转行软件测试照样拿下高薪15K!2022-01-11 15:13:55
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2022-01-11 15:13:55
  • 毕业1年,迷茫的他最终选择转行软件测试2022-01-11 15:13:55