JMeter进阶之实战操作

本文将以某人才招聘网站为例子,通过一系列由简入深的一些HTTP接口测试的实例来练习如何讲JMeter应用到接口测试和功能测试中。

前言 JMeter 基本配置

1. 创建一个新的Test Plan并保存。
JMeter进阶之实战操作_第1张图片
新建一个TestPlan.png
2. 新建一个Thread Group, jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。
JMeter进阶之实战操作_第2张图片
创建一个新的线程组.png

不管是功能测试还是性能测试,可以在调试脚本的时候选择默认设置,如下所示
。如果是性能测试,可以在后期脚本都调试通过后再添加线程的数目。


JMeter进阶之实战操作_第3张图片
Thread Group 默认配置.png
3. 新建一个HTTP Request Defaults

在该Thread Group内的的其它HTTP Request和该Default 的配置一样就无需进行配置,比如server name,只需要配置特定的参数

JMeter进阶之实战操作_第4张图片
HTTP Request Defaults.png
JMeter进阶之实战操作_第5张图片
HTTP Default Request配置.png
4. 新建一个HTTP Cookie Manager

也是在Config Element里面,如上图。

5. 新建一个HTTP Header Manager

也是在Config Element里面,如上图。

6. 添加View Results Tree
JMeter进阶之实战操作_第6张图片
新建View Results Tree

一 用HTTP Request GET去访问一个网页

本文的所有实例都是基于以下这个网站进行的,注册登录都不需要验证码非常适合我们练手。


JMeter进阶之实战操作_第7张图片
某网站登录首页.png
JMeter进阶之实战操作_第8张图片
新建一个 HTTP Request.png
JMeter进阶之实战操作_第9张图片
配置HTTP Request.png

由上图可见,hostname不需要填,只需要添加路径即可。

点击运行后可以到查看运行结果如下:

JMeter进阶之实战操作_第10张图片
检查HTTP GET运行结果.png

二 用HTTP Request GET去登陆一个网页

这个GET和上面例子相比多了传入的参数。
已有的用户名:13874009226,密码:1111,请在JMeter上配置HTTP Request GET来测试该网站的登陆接口。


JMeter进阶之实战操作_第11张图片
HTTP GET Request配置.png
JMeter进阶之实战操作_第12张图片
HTTP GET Request运行结果.png

三 用HTTP Request POST去登陆一个网页

用户名和密码同上,请在JMeter上配置HTTP Request POST来测试该网站的登陆接口。


JMeter进阶之实战操作_第13张图片
配置HTTP POST Request.png
JMeter进阶之实战操作_第14张图片
HTTP POST Request运行结果.png

四 如何创建一个新用户

通过抓包,知道创建一个新用户需要发送2个HTTP Request,第一个是check这个用户是否存在,第二个是真正的注册用户的api。

JMeter进阶之实战操作_第15张图片
创建一个新用户需要设置2个Http Request.png

五 在创建新用户时加入判断条件

可以通过判断第一个HTTP Request的结果,为1时则说明该用户已创建就不要再去重复创建了。
可以利用Regular Expression Extractor和If Controller来一起实现。
JMeter正则表达式,可参考这篇博文:Jmeter关联,正则表达式提取器使用

a. 引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
b. 正则表达式:
    ():括起来的部分就是要提取的。
    .:匹配任何字符串。
    +:一次或多次。
    ?:不要太贪婪,在找到第一个匹配项后停止。
c. 模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值

d. 匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

e. 缺省值:如果参数没有取得到值,那默认给一个值让它取。
JMeter进阶之实战操作_第16张图片
Regular Expression Extractor和If Controller配置.png

六 使用用户自定义变量

pending

七 HTTP Requests之间互相关联

pending

八 本文JMeter例子程序下载

http://pan.baidu.com/s/1pK9wLNP

你可能感兴趣的:(JMeter进阶之实战操作)