当前位置: 首页 > news >正文

Apifox 常用 JS 脚本

前置脚本常用

1、时间戳生成(秒级):

// 1、生成秒级时间戳到全局变量中
//let timestamp = parseInt(new Date().getTime() / 1000)
//pm.globals.set('timestamp', timestamp)
// 2、生成秒级时间戳到全局变量中
pm.globals.set('timestamp', pm.variables.replaceIn("{{$timestamp}}"))

2、 生成随机字符串

// 保存到全局变量中
let username = generateRandomStr("yanchi_", "@test.com", 8)
pm.globals.set("username", username)
console.log(username)/*** 生成随机字符串* @param prefix 字符串前缀* @param suffix 字符串后缀* @param length 随机的字符串长度(不包含前缀和后缀,默认长度 6)* @returns {string} 返回总字符串*/
function generateRandomStr(prefix = '', suffix = '', length = 6) {let characters = 'abcdefghijklmnopqrstuvwxyz0123456789';let randomStr = '';// 生成随机用户名for (let i = 0; i < length; i++) {let randomIndex = Math.floor(Math.random() * characters.length);randomStr += characters[randomIndex];}return `${prefix}${randomStr}${suffix}`;
}console.log(generateRandomStr("yanchi_", "@test.com", 8))

后置脚本常用

1、用例断言

let caseName = pm.info.requestName// 得到括号内的所有内容
let reg1 = /\(.*\)/
let parenthesisContent = caseName.match(reg1)[0]// 得到括号内的状态码。
let reg2 = /\d+/g
let caseStatus = parenthesisContent.match(reg2)// 判断用例状态码是否存在
if (caseStatus){// 只取最后一位数字作为状态码caseStatus = caseStatus[caseStatus.length - 1]let jsonData = pm.response.json()pm.test("返回值:\n" + JSON.stringify(jsonData), function () {// 返回值断言pm.expect(jsonData.status == caseStatus).to.be.true;})console.log('当前用例参与断言,状态码为:' + caseStatus)
}else {// 用例不含有状态码console.log('当前用例不参与断言')
}

2、返回值日志输出到断言中

let jsonData = pm.response.json()
pm.test("返回值:\n" + JSON.stringify(jsonData), function () {// 状态码断言pm.response.to.have.status(200)// 返回值断言pm.expect(jsonData.code == '000').to.be.true;
})
http://www.lryc.cn/news/156255.html

相关文章:

  • 防止SQL注入的四种方案
  • java单元测试
  • 【LeetCode】双指针求解和为s的两个数字
  • opencv识别一张图片的多个红框,并截取红框的内容
  • 数据库-事务
  • MySQL 使用开源审计插件
  • Python入门教程 | Python3 集合(Set)
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR安全检查的相关问题及解决方法2.0
  • 【C++模拟实现】反向迭代器的实现
  • Kubernetes技术--k8s核心技术持久化存储
  • 【80天学习完《深入理解计算机系统》】第十四天 复习第三章
  • 库中是如何实现string类的?
  • 无涯教程-JavaScript - WORKDAY.INTL函数
  • STM32--蓝牙
  • java 实现原型模式
  • maven本地安装jar包install-file,解决没有pom的问题
  • 【C++学习笔记】5、变量作用域
  • Python中的装饰器
  • 什么是RESTful API,Spring MVC如何支持RESTful架构
  • cin、cin.getline()、getline()的用法【C++】
  • 单向链表(c/c++)
  • 像linux 一样清理Windows C盘
  • 在Linux 下制作启动盘以及dd命令使用
  • C语言插入排序
  • SQL-DCL
  • Elasticsearch 中的向量搜索:设计背后的基本原理
  • Jquery会议室布局含门入口和投影位置调整,并自动截图
  • 高精度乘法模板(fft)
  • C# 现状简单说明
  • el-table滚动加载、懒加载(自定义指令)