最近一直忙于AI模型的准确率任务中,这种操作需要大量的数据才能计算出模型的准确率。所以这里问遇到的问题和之前数据随机参数化有点不同,之前的参数比如说用户姓名或用户身份证号,这样数据可以在postman中直接用代码随机生成,可以参考postman接口测试系列:基本操作总结 ,但是此处采用的是本地文件参数化,和jmeter的csv参数化比较类似。

先来看一下单个食物识别的接口信息:

https://api.ty.com/food_detect

而参数主要是

msg:西红柿鸡蛋面

响应结果如下:

[

{

"properties": {

"cal_name": "鸡",

"e_type": "food",

"end_index": 1,

"food_id": 6014,

"kcal_unit_weight": 167.0,

"name": "鸡",

"start_index": 0,

"time_stamp": 1567236416

},

"sub_properties": {

"grams": 150.0,

"is_default": true,

"quantifier_id": 35,

"quantity": 1.0,

"unit": "盘"

},

"type": "Entity"

}

]

这里断言的主要是响应结果中的cal_name和name名称一致,则响应结果正确;参考代码如下:

if(responseCode.code === 200 & responseBody !== null & responseBody.has("cal_name") ){

// 判断是否存在 'success' 值

tests["Body matches cal_name"] = responseBody.has("cal_name");

var jsonData = JSON.parse(responseBody);

//保存食物AI名称

pm.globals.set("ai_cal_name", jsonData[0].properties.cal_name);

pm.globals.get("ai_cal_name")

console.log(pm.globals.get("ai_cal_name"))

//保存食物输入名称

pm.globals.set("ai_name", jsonData[0].properties.name);

pm.globals.get("ai_name")

console.log(pm.globals.get("ai_name"))

if(pm.globals.get("ai_cal_name")===pm.globals.get("ai_name")){

console.log("success")

}else{

console.log("false")

}

tests["名称是否一致"]=pm.globals.get("ai_cal_name")===pm.globals.get("ai_name")

//postman.setGlobalVariable("bk_id",jsonData.id);

tests[`[INFO] Request params: ${JSON.stringify(request.id)}`] = true;

//tests["have result "]=jsonData.hasOwnProperty("error")!==true;

//tests["have cal_name "]=jsonData.hasOwnProperty("cal_name")===true;

tests[`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;

}else{

//接口请求失败

tests["Waring:Request Failed. Please Fix!"] = false;

}

单独一个食物,接口测试就这样操作完成了,但是如果需要N个食物,那么该如何操作呢?所以这里就用到了类似jmeter中的csv的参数化的方式,可以直接把需要的食物名称保存在本地文件中,格式如下

[

{"msg":"干煸四季豆"},

{"msg":"红油蒜泥肘花"},

{"msg":"铁板豆腐"},

{"msg":"口水猪肝"},

{"msg":"魔芋鸭子"},

{"msg":"麻辣鱼"},

{"msg":"魔芋烧鸭"},

{"msg":"鱼香杏鲍菇"},

{"msg":"重庆豆花鱼"},

{"msg":"麻婆豆腐"},

{"msg":"四川泡菜鱼"},

{"msg":"四川烧白"},

{"msg":"姜爆鸭子"},

{"msg":"麻辣冷吃兔"},

{"msg":"香辣豉香干锅花菜"},

{"msg":"口水鸡"},

{"msg":"重庆酸菜鱼"},

{"msg":"豆花鸡"},

{"msg":"什锦凤爪"},

{"msg":"海鲜粉丝煲"},

{"msg":"金针菇培根卷"},

{"msg":"糖醋里脊"},

{"msg":"糖醋荷包蛋"},

{"msg":"椒麻鸡"},

{"msg":"芝麻酱秋葵"},

{"msg":"干锅辣子鸡"},

{"msg":"清蒸多宝鱼"},

{"msg":"丝瓜木耳炒鸡蛋"},

{"msg":"土豆炖大排"},

{"msg":"肉末番茄豆腐"},

{"msg":"豇豆炒肉丝"},

{"msg":"拔丝地瓜"},

{"msg":"红烧茄子"},

{"msg":"香辣土豆丝"},

{"msg":"鸡丝青瓜凉面"},

{"msg":"白灼秋葵"},

{"msg":"土豆红烧肉"},

{"msg":"三文鱼南瓜米粉"},

{"msg":"宫保鸡丁"},

{"msg":"可乐鸡翅"},

{"msg":"五香毛豆"},

{"msg":"肉丝焖面"},

{"msg":"剁椒鱼头"},

{"msg":"蒜香香菇"},

{"msg":"芙蓉虾仁"},

{"msg":"白灼牛肉"},

{"msg":"白切鸡"},

{"msg":"腊肠煲仔饭"},

{"msg":"鸡肉河粉"},

{"msg":"椰子炖鸡"},

{"msg":"炒黄豆芽"},

{"msg":"白灼虾"},

{"msg":"三蔬超意大利面"},

{"msg":"蒸酿苦瓜"},

{"msg":"韭菜炒鸡蛋"},

{"msg":"土豆炖大白菜"},

{"msg":"麻辣鸡腿"},

{"msg":"山楂糖葫芦"},

{"msg":"冷面"},

{"msg":"茄子炖豆角"},

{"msg":"地三鲜"},

{"msg":"炸酱面"},

{"msg":"西红柿炖羊排"},

{"msg":"烧饼"},

{"msg":"五花肉炖四季豆"},

{"msg":"酸辣土豆丝"},

{"msg":"蚝油排骨"},

{"msg":"香菇土豆炖鸡腿"},

{"msg":"酸菜猪肉饺子"},

{"msg":"蜂蜜麻花"},

{"msg":"四喜丸子"},

{"msg":"小鸡炖蘑菇"},

{"msg":"锅包肉"},

{"msg":"红烧肉"},

{"msg":"猪肉炖粉条"},

{"msg":"水晶鲑鱼"},

{"msg":"白豆腐"},

{"msg":"红烧鹿肉"},

{"msg":"五香酱牛肉"},

{"msg":"糖醋苦瓜"},

{"msg":"西红柿焖牛肉"},

{"msg":"火腿白菜"}

]

这里是单独一个入参,如果是多个入参,可以根据格式修改,格式要求是[],那么接下来就是讲代码中的如下名称修改为变量

msg:{{msg}}

然后接下来就是postman中操作:

点击"Runner"

选择需要批量执行的接口

选中参数化的文件,可以点击"Preview"预览数据信息

如下所示:

如下图,显示的就是批量运行接口的结果,这样相对来说比较容易统计出错率,计算模型准确率比较简单~

总结:以上就是postman参数化的简单操作,相对来说比较简单~

postman 获取接口参数_postman 接口参数化操作相关推荐

  1. postman使用post传入参数_Postman接口测试之POST、GET请求方法

    一.基础知识 1.HTTP的五种请求方法:GET, POST ,HEAD,OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法. GET请求:请求指定的页面信息,并返回实体 ...

  2. html5获取url参数,javascript如何获取url参数

    javascript获取url参数的方法:首先创建一个js示例文件:然后定义一个"getQueryVariable"函数:最后通过调用该函数来获取url参数即可. 本文操作环境:w ...

  3. python excel token_python+excel接口自动化获取token并作为请求参数进行传参操作

    1.登录接口登录后返回对应token封装: import json import requests from util.operation_json import OperationJson from ...

  4. 快速导入浏览器的接口参数到postman中

    web开发中经常需要将F12的接口参数复制下来,放到postman中用于本地调试,如果只是body参数的话是很方便操作,但是遇到接口需要携带很多的header,一个一个复制起来就恼火了. 下面介绍一种 ...

  5. Servlet | HttpServletRequest接口、通过request接口获取请求参数

    目录 一:HttpServletRequest接口 二:通过request接口获取请求参数 一:HttpServletRequest接口 (1)HttpServletRequest是一个接口,全限定名 ...

  6. jmeter根据循环获取参数_jmeter forEach循环获取response参数值进行接口请求

    jmeter forEach循环获取response参数值进行接口请求 注意: 一,ForEach控制器 输入变量前缀:输入正则表达式变量的引用名称即可 Start index for loop(ex ...

  7. 海康SDK 通过java接口设置和获取摄像机参数

    以下功能实现需要完成设备初始化,注册,监听和布防的操作,详见CSDNhttps://mp.csdn.net/mp_blog/creation/editor/121543529 海康设备登录 //设备登 ...

  8. postman 不安全网站_接口工具分析(apipost、jmeter、postman)

    一.接口都有哪些类型? 接口一般分为两种:1.程序内部的接口 2.系统对外的接口 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把 数据库共享给你,他只能给你提供一个他们写好 ...

  9. java校验参数防止攻击_程序员写接口参数校验,总是太多if else?一招让你避免体力活...

    对于写Java的程序员来说,不管是写单纯的接口.还是页面后台一把梭,后端参数校验的功能都是整个代码不可或缺的一部分,它可以从系统入口过滤掉一些不合法的数据,以确保我们的系统稳定. 还记得我刚入行Jav ...

最新文章

  1. 特斯拉车主「作死」成真:炫耀「主驾无人」,自动驾驶导致车毁人亡
  2. hadoop生态搭建(3节点)
  3. P值(P-value),“差异具有显著性”和“具有显著差异”
  4. 1个不为人知的 Jupyter notebook 使用技巧,今天分享出来。
  5. c语言中lookup函数功能,Lookup函数详解
  6. 数据结构入门(一级)
  7. 世界顶级的程序员们告诉你:这些书都是你应该读的
  8. C语言、C++学习路线
  9. java系统项目分为哪五大层次?控制层_业务_一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构-转...
  10. (转)Python 字符串格式化 str.format 简介
  11. 《规划力:如何清晰预见成功轨迹》PDF文字版电子书下载
  12. 分治——线性时间选择算法
  13. Unity 鼠标进入UI控件,显示控件名称
  14. windows提示“为了对电脑进行保护,已经阻止此应用mmc.exe ”
  15. mysql异地双活架构,银行跨数据中心数据库双活架构设计:五大难点攻克
  16. week1:History: Dawn of Electronic Computing
  17. php微信公众平台session处理,php微信公众开发平台如何使用session
  18. 教育部最新发布:180所高校本科新增AI课程,138所高校新增大数据课程
  19. PreCreateWindow
  20. 站点类型、tdk布局和采集规则

热门文章

  1. Android studio实现仿微信界面
  2. OBS录屏软件无法打开的问题,无法捕获到游戏画面的问题
  3. android 水滴动画效果图,Android控件实现水滴效果
  4. ISP PIPLINE(零) 知识综述预热
  5. 解决 “VS2015 的warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”的方法
  6. 2019xupt-acm校赛 题解(C.给你一个666)by出题组tongtong
  7. 用于软件测试的最佳免费自动化工具
  8. 去除html双击后选中有蓝色背景
  9. android新浪微博授权,新浪微博授权认证过程 - Android、iOS开发 - OSCHINA - 中文开源技术交流社区...
  10. IDEA中SVN项目不同颜色含义