前提条件
测试环境: http://49.233.108.117:28019/swagger-ui.html#/
接口中主要操作
设置变量

使用变量发送请求
上下游传参
注册接口

根据文档
需要输入 用户名和密码.
- 用户名需要使用(11位)手机号码来注册
注册用户
- 点击 【Try it out】

输入信息, 注意:每次注册的时候需要使用不同的手机号码。
{"loginName": "13400001111","password": "123456"}
- 点击 【excute】

- 注册成功

- 如果再次注册,会提示注册失败。

登录接口

需要注意:登录接口中的密码 需要md5加密。
md5 在线加密
https://tool.chinaz.com/tools/md5.aspx
在登录接口中,使用密文进行登录。
加入购物车

- 登录接口提供 token值

// 服务器返回的接口var jsondata = pm.response.json();// 设置变量pm.globals.set("token",jsondata.data);
- 首页接口中提供商品的id

pm.globals.set("gid", pm.response.json().data.hotGoodses[0].goodsId);
上面两个接口分别提取出 token值和 商品id
在加入购物车的接口中可以直接调用
使用token。
使用id
CSV参数化
做单接口测试,需要关注正常场景和异常场景。比如登录,登录的时候需要考虑异常测试。
根据登录接口,需要两个字段
用户名,密码
| phone | passwd | errmsge |
|---|---|---|
| 123456 | 登录名不能为空 | |
| 13400001131 | 密码不能为空 | |
| 41112341234 | 123456 | 请输入正确的手机号! |
| 18012341234 | 123456 | 登录失败! |
| 18012341234 | E10ADC3949BA59ABBE56E057F20F883E | 登录失败! |
测试登录接口
1219.csv
每条数据都对应不同的结果。需要添加断言。
断言的接口我们定义在csv文件中,需要获取csv文件中变量值;

获取变量

pm.test("Body matches string", function () {// 获取csv文件中定义的变量 errmsg (csv文件写errmsg,这里也使用errmsg,保持一致)var data = pm.variables.get("errmsg");// 添加断言pm.expect(pm.response.text()).to.include(data);});
也可以直接从data中获取csv文件中设置的变量
pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include(data.errmsg);});
执行,可以看到执行的结果
Postman 工具

附件
下面为课堂练习文件
1219新丰.postman_collection.json
1219.csv
JMeter 工具
定义变量
定义变量的方式有多种,可以在【测试计划】上面直接添加,
也可以创建【用户定义的变量】—添加
创建http请求
在http请求中,如果请求的数据格式为 json格式,需要添加信息头管理器
函数助手
每次注册都使用手机号,可以使用函数助手随机生成一个手机号码
生成随机电话号码 并将号码保存到变量 phone 中
注册接口中可以使用函数助手来表示手机号码。
{"loginName": "${__Random(13000000000,13999999999,phone)}","password": "123456"}
md5 加密
登录接口中使用 md5加密
登录的数据
{"loginName": "${phone}","passwordMd5": "${__digest(md5,123456,,,)}"}
查看结果树,可以看到用户注册,用户登录使用的手机号码都是同一个;
上下游传参
json 提取器

$.data.newGoodses[0].goodsId
推荐一个在线格式化的工具
https://oktools.net/json
json 断言

csv参数化
还是使用登录接口
准备csv文件数据
phone,passwd,errmsg,123456,登录名不能为空13400001131,,密码不能为空41112341234,123456,请输入正确的手机号!18012341234,123456,登录失败!18012341234,E10ADC3949BA59ABBE56E057F20F883E,登录失败!
登录接口使用参数。
断言中可以直接使用变量;
附件


