Jmeter录制工具使用及Jmeter参数,集合点,断言使用

2018-09-14  尹文姣 

[本文系原创博文,首发在测试窝,如需转载请务必注明作者和出处]

本次分享的Jmeter适合零基础和初级的朋友,这里都是Jmeter常用的功能,希望对大家有帮助


Jmeter的两种录制脚本方法

录制1—— badboy
badboy下载:http://www.badboy.com.au/

Badboy介绍

Badboy是一款不错的Web自动化测试工具,Badboy 是澳大利亚的一个软件公司设计的,有免费版可以下载。

优势:(1)Badboy提供了将Web测试脚本直接导出生成JMeter 脚本的功能,并且这个功能非常好用,也非常简单。

2)使用 jmeter 的代理服务器可以顺利录制完整的 http 请求,包括请求的头;但无法录制cookies,对于网站脚本,大多需要 cookies 支持,可以使用 badboy 来录制。

Badboy的使用

1,进入安装目录,直接双击

2,运行程序。

① 脚本的录制,输入URL地址,回车开始录制。然后就可以开始正常的业务操作了 

② 点击record on/off结束录制,可以看到左侧被录制的网址。导出.jmx格式的脚本,文件—>Export to Jmeter....

3,打开Jmeter工具,选择“文件”--》“打开”选择刚才保存的文件(.jmx类型)


录制2——代理

1:创建一个线程组(右键点击“测试计划”—>"添加"—>“线程组”)

2:在“工作台”- 非测试元件 - 添加“HTTP代码服务器”

3:代理服务器的端口,默认8080,可自行修改,但不要与其它应用端口冲突

4:目标控制器:录制的脚本存放的位置,可选择项为测试计划中的线程组(根据实际来选择即可)

5:分组:

“分组”的概念是将一批请求汇总分组,可以把url请求理解为组。

“不对样本分组”:所有请求全部罗列

“在组间添加分隔”:加入一个虚拟的以分割线命名的动作,运行同“不对样本分组”,无实际意义

“每个组放入一个新的控制器”:执行时按控制器给输出结果

“只存储每个组的第一个样本”:对于一次url请求,实际很多次http请求的情况

 6:点击启动

设置IE浏览器

IE—>“internet选项”—>“连接”—>“局域网设置”

勾选“代理服务器”下的复选框,填写地址,端口,端口一定要和Jmeter的端口一致

打开浏览器输入需要录制的web项目地址

jmeter会自动记录你IE所访问的页面

建议:不推荐这种录制方式,因为录制出来很多请求,搞不清楚那个请求是自己需要的




Jmeter badboy脚本录制详解

1,页面功能分析


1. 界面视图,模拟浏览器,能够进行操作

2. 需要录制脚本的URL

3. 点击运行URL

4. Summary:运行的各指标,响应时间,成功事物等

5. 参数:在录制到的需要参数化的地方能够在这里操作之后导入jmeter 

6. 目录树,记录录制到的每一个操作 

7. 录制按钮,点击之后记录操作 

8. 停止按钮,在停止途中不会记录操作,如果需要再次开始再次点击录制按钮,会继续录制,在step1头部会出现红点。 

9. 回放按钮

10. 回放所有

11. 倒回按钮,退回到前一步操作

12. 单独运行一个请求


2,录制


3,添加检查点

步骤1:停止录制后,添加检查点;

步骤2:回放


4,参数化——文本

步骤1添加参数集

步骤2:修改循环次数

步骤 3 :修改查询参数

步骤4:修改检查点参数

步骤5:回放

5,结果报告



6,导出Jmeter



Jmeter的3种参数化方式(还有很多种,目前就学了3种简单些的)

1,用户参数

设置方式:添加→前置处理器→用户参数,设置如下:



说明:searchtxt是参数名称,用户_1/用户_2是参数的2个值。仅对于多线程时,每个线程会取其中一个值,若线程超过2个,则会重复取这2个值中的一个。若设置为1个线程,则此参数化方法无效。

2,csv data set config

设置方式:添加→配置元件→csv data set config,设置如下:


3,随机函数RandomString

设置方式:选项→函数助手对话框→选择函数为:_Random,设置如下:

说明:第一行是最小值:填写1,第二行最大值:填写100,点击生成:自动生成函数

复制函数到HTTP请求 值里面去


Jmeter之集合点

注意:

1.JMeter里面的集合点通过添加定时器来完成。

2.Synchronizing timer仅作用于同一个JVM中的线程

3.Synchronizing Timer定时器,添加到请求之前或某个Sampler的子节点

1,Synchronizing timer

设置方式:添加→定时器→Synchronizing timer,设置如下:

Number of Simulated Users to Group by:集合多少人后再执行请求(也就是执行的线程数)

注意:等同于设置为线程租中的线程数,一定要确保设置的值不大于它所在线程组包含的用户数。

Timeout in milliseconds:指定人数 多少秒没集合到算超时(设置延迟时间以毫秒为单位)

注意:如果设置Timeout in milliseconds为0,表示无超时时间,会一直等下去。

线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。

百度资料:https://www.cnblogs.com/deepstone/p/3338623.html




Jmeter之检查点(断言)

1,断言持续时间

设置方式:添加→断言→断言持续时间,设置如下:


如响应时间大于设定的最大值,则断言不通过,如上图,如果响应时间大于20毫秒,则断言不通过:


2,断言文件大小(Size Assertion)

设置方式:添加→断言→断言持续时间,设置如下:

Size to Assert -- 判断返回文件内容的大小

1,如果小于或者等于500个字节,则为绿色,通过,不会出现断言错误信息

2,可以设置返回的结果文件是等于大于等于指定字节来判断是否通过,如上图,如果返回的字节数大于500个字节,则断言判断不通过。







56°|562 人阅读|0 条评论
登录 后发表评论