前提条件

测试环境: http://49.233.108.117:28019/swagger-ui.html#/

接口中主要操作

设置变量

image.png
使用变量发送请求
image.png

上下游传参

注册接口

image.png
根据文档
需要输入 用户名和密码.

  • 用户名需要使用(11位)手机号码来注册

注册用户

  1. 点击 【Try it out】

image.png
输入信息, 注意:每次注册的时候需要使用不同的手机号码。

  1. {
  2. "loginName": "13400001111",
  3. "password": "123456"
  4. }
  1. 点击 【excute】

image.png

  1. 注册成功

image.png

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

image.png

注册成功之后,需要进行登录。

登录接口

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

加入购物车

75-接口复习 - 图11

  1. 登录接口提供 token值

image.png

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

image.png

  1. pm.globals.set("gid", pm.response.json().data.hotGoodses[0].goodsId);

上面两个接口分别提取出 token值和 商品id
在加入购物车的接口中可以直接调用
使用token。
image.png
使用id
image.png

CSV参数化

做单接口测试,需要关注正常场景和异常场景。比如登录,登录的时候需要考虑异常测试。
根据登录接口,需要两个字段
用户名,密码

phone passwd errmsge
123456 登录名不能为空
13400001131 密码不能为空
41112341234 123456 请输入正确的手机号!
18012341234 123456 登录失败!
18012341234 E10ADC3949BA59ABBE56E057F20F883E 登录失败!

测试登录接口
1219.csv

每条数据都对应不同的结果。需要添加断言。
断言的接口我们定义在csv文件中,需要获取csv文件中变量值;
image.png
image.png

获取变量

image.png

  1. pm.test("Body matches string", function () {
  2. // 获取csv文件中定义的变量 errmsg (csv文件写errmsg,这里也使用errmsg,保持一致)
  3. var data = pm.variables.get("errmsg");
  4. // 添加断言
  5. pm.expect(pm.response.text()).to.include(data);
  6. });

也可以直接从data中获取csv文件中设置的变量

  1. pm.test("Body matches string", function () {
  2. pm.expect(pm.response.text()).to.include(data.errmsg);
  3. });

执行,可以看到执行的结果
image.png

Postman 工具

75-接口复习 - 图20

附件

下面为课堂练习文件
1219新丰.postman_collection.json
1219.csv

JMeter 工具

定义变量

定义变量的方式有多种,可以在【测试计划】上面直接添加,
也可以创建【用户定义的变量】—添加
image.png

创建http请求

在http请求中,如果请求的数据格式为 json格式,需要添加信息头管理器
image.png

函数助手

每次注册都使用手机号,可以使用函数助手随机生成一个手机号码
生成随机电话号码 并将号码保存到变量 phone
image.png
注册接口中可以使用函数助手来表示手机号码。
image.png

  1. {
  2. "loginName": "${__Random(13000000000,13999999999,phone)}",
  3. "password": "123456"
  4. }

md5 加密
image.png

登录接口中使用 md5加密
image.png
登录的数据

  1. {
  2. "loginName": "${phone}",
  3. "passwordMd5": "${__digest(md5,123456,,,)}"
  4. }

查看结果树,可以看到用户注册,用户登录使用的手机号码都是同一个;
image.png

上下游传参

json 提取器

image.png

  1. $.data.newGoodses[0].goodsId

推荐一个在线格式化的工具
https://oktools.net/json
image.png

json 断言

image.png

csv参数化

还是使用登录接口
准备csv文件数据
image.png

  1. phone,passwd,errmsg
  2. ,123456,登录名不能为空
  3. 13400001131,,密码不能为空
  4. 41112341234,123456,请输入正确的手机号!
  5. 18012341234,123456,登录失败!
  6. 18012341234,E10ADC3949BA59ABBE56E057F20F883E,登录失败!

登录接口使用参数。
image.png
断言中可以直接使用变量;
image.png

添加csv数据文件
image.png
设置循环次数
image.png

附件

1219.jmx
1219.csv


75-接口复习 - 图36