本文将以某人才招聘网站为例子,通过一系列由简入深的一些HTTP接口测试的实例来练习如何讲JMeter应用到接口测试和功能测试中。
前言 JMeter 基本配置
1. 创建一个新的Test Plan并保存。
新建一个TestPlan.png2. 新建一个Thread Group, jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。
创建一个新的线程组.png不管是功能测试还是性能测试,可以在调试脚本的时候选择默认设置,如下所示
。如果是性能测试,可以在后期脚本都调试通过后再添加线程的数目。
Thread Group 默认配置.png
3. 新建一个HTTP Request Defaults
在该Thread Group内的的其它HTTP Request和该Default 的配置一样就无需进行配置,比如server name,只需要配置特定的参数
HTTP Request Defaults.png HTTP Default Request配置.png4. 新建一个HTTP Cookie Manager
也是在Config Element里面,如上图。
5. 新建一个HTTP Header Manager
也是在Config Element里面,如上图。
6. 添加View Results Tree
新建View Results Tree一 用HTTP Request GET去访问一个网页
本文的所有实例都是基于以下这个网站进行的,注册登录都不需要验证码非常适合我们练手。
某网站登录首页.png 新建一个 HTTP Request.png 配置HTTP Request.png
由上图可见,hostname不需要填,只需要添加路径即可。
点击运行后可以到查看运行结果如下:
检查HTTP GET运行结果.png二 用HTTP Request GET去登陆一个网页
这个GET和上面例子相比多了传入的参数。
已有的用户名:13874009226,密码:1111,请在JMeter上配置HTTP Request GET来测试该网站的登陆接口。
HTTP GET Request配置.png HTTP GET Request运行结果.png
三 用HTTP Request POST去登陆一个网页
用户名和密码同上,请在JMeter上配置HTTP Request POST来测试该网站的登陆接口。
配置HTTP POST Request.png HTTP POST Request运行结果.png
四 如何创建一个新用户
通过抓包,知道创建一个新用户需要发送2个HTTP Request,第一个是check这个用户是否存在,第二个是真正的注册用户的api。
创建一个新用户需要设置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. 缺省值:如果参数没有取得到值,那默认给一个值让它取。
Regular Expression Extractor和If Controller配置.png
六 使用用户自定义变量
pending
七 HTTP Requests之间互相关联
pending
网友评论