• 15
  • 15
分享
  • JMeter操作实例——软件测试圈
  • 饭团🍙 2021-11-16 11:12:43 字数 3698 阅读 1532 收藏 15

基本功能介绍

1.常用测试计划元件

主要包含右键的功能模块介绍

1.png

 Threads(users)

 setUp Thread Group

一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。

说白了就是在启动其他线程前,该线程会首先启动并且完成后才会启动其他线程。

teardown thread group

一种特殊的hread group,用于执行测试后的动作,即所有线程完毕后启动的线程.

thread group(线程组)

这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。

测试片段(Test Fragment)

Test Fragment

测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

配置元件

CSV Data Set Config

被用来从文件中读取数据,并将它们拆分后存储到变量中,适合处理众多变量。其实就是设置变量。

2.png

Names:变量名列表(逗号分隔),可以指定变量名。

quoted data:CSV文件是否容许值被引用

on EOF:达到文件结尾后,是否从文件开始循环重新读取(默认True),当到达文件尾时,且Recycle选项设置为True,就会从文件第一行重新开始读取,如果设置为false,而Stop thread on EOF是False,那么当到达文件尾部时所有变量都将被置为<EOF>,可以通过设置JMeter属性来改变该值。如果Recycle选项为false,而Stop thread是True,那么到达文件尾部之后,将导致线程被终止。

thread on EOF:达到文件结尾后,线程是否该终止。

mode:如果希望每个线程拥有自己独立的值集合,那么就需要创建一系列数据文件,为每个线程准备一个数据文件,如、等,使用文件名test${__threadNum}.csv,并将“sharing mode"设置为"Current thread"

All threads:文件在所有线程间共享

Current thread group: 每个文件会针对每个线程组打开一次

Current thread: 每个文件会针对每个线程单独打开

Identifier:所有线程共享相同的标识,共享相同的文件。如有4个线程组,测试人员可以使用一个通用ID,以便在两个或多个线程组之间共享文件。

Delimiter(分隔符):默认逗号

Filename:文件名

File encoding:文件编码格式

FTP请求缺省值

FTP Request Defaults:被用于设置FTP请求的默认值

HTTP请求默认值

HTTP请求默认:设置HTTP请求使用的默认值

3.png

需要填写服务器名称或者ip 以及端口号,是网页自动化测试必备的元件

HTTP Cookie管理器

HTTP Cookie管理器:主要有两个功能:

它像web浏览器一样存储和发送Cookie。,如果测试人员有一个HTTP请求和相应里包含Cookie,Cookie管理器会自动存储Cookie,那么接下来针对特定web站点的所有请求中使用该Cookie。可在结果树中查看。接收到的Cookie可以被保存为变量,须定义属性"",另外,在被存储前Cookie名称会加上前缀“COOKIE_",要恢复早前处理方式,则定义属性”"(一个或多个空格)。如果启动了该功能,那么名称为TEST的Cookie,可以通过${COOKIE_TEST}加以引用。手动为Cookie管理器添加一个Cookie(为所有JMeter线程所共享)。一般网页测试包换cookie时会使用到。

Random Variable

Random Variable:被用来产生随机数字字符串,接下来将其存放到变量之中。

Variable Name: 变量名,用于保存随机字符串

output format:使用格式字符串,例如”000"会产生至少3个数字的随机数,或者“USER_000"产生的输出格式为USER_nnn,如果不指明,就是用()来产生数字。其实就是初始化格式。

Minimum Value: 产生随机数的最小值(整数)

Maximum Value:产生随机数的最大值(整数)

Seed for Random function:随机数产生器的种子,默认为当前时间(以毫秒为单位)

Per Thread(User): 如果为False,则随机数产生器在线程组的所欲线程共享,为True,则每个线程都有自己的随机数产生器。

前置处理器

用户参数

右键快捷菜单中选择 添加-前置处理器-用户参数

与用户自定义变量不同的是,用户参数列表中的参数取值可以在测试计划执行过程中发生变化。

4.png

如图,username和password分别有两组不同的取值。通过界面右下方的四个按钮,可以向列表中增加参数,增加参数值,删除参数和删除参数值。

“每次迭代更新一次”选项控制参数取值的变化规则,如果选中该选项,则参数的值在每个迭代中保持不变,在新的迭代开始时取下一个值。如果取消该选项,则参数值在每个在其作用域内的sampler发出请求时取下一个可用值。

如果参数的取值范围很小,使用用户参数比较合适;如果参数的取值范围很大,建议使用csv data set config方法。

断言

响应断言

用户可以使用断言来检查从服务器获得的响应内容。通过断言可以测试服务器返回的响应与测试人员的期望是否相符。

例如,测试人员可以断言某个查询的响应中包含特定的文字信息。测试人员可以使用Perl格式的正则表达式来描述响应中应该包含的文字,或者它应该与整个响应相符。

测试人员可以为任何采样器添加断言。例如,测试人员可以为HTTP请求添加断言,用于检查文本".."。接下来JMeter就会检查该文本是否出现在HTTP响应中。如果JMeter不能找到该文本,那么它就会将请求标记为失败。此条为经常用于功能测试,查找是否反馈信息成功。

监听器

聚合报告

5.png

最常用的监听器之一,非常好用,建议每次都选上

对于记录的指标解释:

Label:所监控记录的sampler名称

#Samplers:当前sampler执行成功的总数

Averrage:平均的响应时间

Median:50%的用户的响应时间都小于或等于此值

90% Line:90%的用户的响应时间都小于或等于此值

Min:最小的响应时间

Max:最大的响应时间

Error%:设置了断言之后,断言失败的百分比,也就是说如果没有设置断言这里就是0,除非系统报错则不是0。

Througput:吞吐量——默认情况下表示每秒完成的请求数?

KB/sec:每秒从服务端接收到的数据量

对于Median和90% Line的一些解释,jmeter官方文档说是中位数的百分位值和90的百分位的值,经过一系列的搜索,中位数的意思就是正好有一半的值比当前这个值高或者等于,也可以理解为有一半的值比当前这个值低或者等于;90百分位的意思就是有90%的值比当前值小或者等于,有10%的值比当前值大或者等于。

  保存当前记录的结果,点击Save Table Data完成保存,默认保存为csv格式的文件。?

Simple Data Writer??? ? 此监听器可以将请求过程中的数据写入到一个文件,可以当做脚本运行的简易日志?

查看结果树

6.png

在使用断言后,在此处可以查看详细的断言信息。

图形结果

7.png

通过图形查看各个数据的变化趋势

工作台

针对工作台只介绍http代理服务器,主要用于web测试的启动

HTTP代理服务器

8.png

启动测试的必备配置,设置端口、分组、目标控制器和地址后,点击启动即可开始录制测试流程。

脚本录制

1.录制步骤

1.添加一个线程组和http请求默认值

(输入内容在图中已经全部填写完成)

9.png

2.在工作台右键添加HTTP代理服务器

10.png

3.配置代理服务器

*注:端口号不能被占用。排除模式中添加的东西将在录制时不被录制上。端口可能会有被占用的情况,这种情况下点击启动会报错,可以再cmd里查看是否被监听。命令为:netstat?-aon|findstr?"8080"(8080为端口号)

4.浏览器端设置。设置的地址可以是localhost,也可以是,端口与HTTP代理服务器端设置的端口号一致。

*注:在设置了代理服务器后,去其他浏览器上访问网页会不能打开,要取消代理服务器后才会正常。

在Jmeter的HTTP代理服务器上点击启动,然后再浏览器上进行要录制的操作,例登录动作,录制结束后点击HTTP代理服务器上的停止。

11.png

12.png

只留下这一个登陆的过程,其余全部删除就可以获得该登陆脚本

添加HTTP Cookies管理器(只需要一个)

对线程组进行次数编辑

13.png

8.添加查看结果树监听器,然后点击去执行看结果就可以了。

14.png

到此就完成了一个最简单对登陆的性能测试流程


文章来源:百度文库

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
      • 51testing软件测试圈微信