一、BeanShell Sampler使用JS函数生成的日期月份小于10时是个位数

开始用的是:

"baseDate": "${__javaScript((new Date()).getFullYear()+'-'+ ((new Date()).getMonth()+1) + '-' + (new Date()).getDate(),)}"

生成的月份和日期小于10时都是个位数,比如2018-9-8

如果接口文档预期返回的格式是2018-09-08,则不匹配

一个办法是,用java.util.Calendar类

import java.text.SimpleDateFormat;

import java.util.Calendar;

public String myDate(){

String res;

Calendar cal = Calendar.getInstance();

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

res = simpleDateFormat.format(cal.getTime());

return res;

}

vars.put("baseDate",myDate());

一个办法是,用java.util.Date类

需注意 new Date(myYear-1900,month,day) 实际生成的月份是 month+1

需注意日期转换

SimpleDateFormat("yyyy-MM-dd") 生成的结果日月个位时会在个位数前加0

SimpleDateFormat("yyyy-M-d") 生成的结果日月个位时就是个位数

日月是个位数生成的是两位.png

日月是个位数生成的是一位.png

日月是两位数生成的是两位.png

二、下游接口M发送请求和接口N返回值都用到同一字段A,BeanShell Sampler事先设置好字段A

提前生成需要用的字段A.png

之后接口M请求用到此字段A.png

接口N返回值断言用到字段A

举一反三,只要某字段是唯一固定的,后面有很多地方用到,就可以事先把它设置好(通过获取/新建),之后 ${name} 引用即可.

三、调用格式转换函数,注意函数参数的格式和传参value值原来的格式

这个问题也是在生成日期进行格式转换时遇到的,当时接口返回的createTime是个时间戳一串数字

时间戳是一串数字

时间戳转换成年月日时分秒的函数如下:

import java.text.SimpleDateFormat;

import java.util.Date;

public String stampToDate(String s){

String res;

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

long lt = new Long(s);

Date date = new Date(lt);

res = simpleDateFormat.format(date);

return res;

}

重点来了,如果用以下这行代码不能成功转换,猜猜是为什么?

vars.put("createDateAndTime", stampToDate(String.valueOf(${createTime})));

1

2

3

想到了吗?

因为 ${createTime} 获取到的是一串数字,此处传参需要是个字符串~

解决方法很简单 加上双引号 变成字符串~即

vars.put("createDateAndTime", stampToDate(String.valueOf("${createTime}")));

四、需求明确返回内容不能包含某字段,校验是否没返回该字段,需事先特别设置

事例接口是获取患者列表,有很多个患者(对象)。截图只截了一部分如下:

接口返回的数组里有多个对象

断言只是其中一个对象

接口运行是通的,没有报错。

因为默认情况下,预期返回内容"obj":[{a}],实际返回内容"obj":[{a},{b},{c}],后面多出的内容不会去校验。

注意a必须是第一个,如果预期返回内容"obj":[{c},{b}],实际返回内容"obj":[{a},{b},{c}],则跑不通过。此时排序不确定只需要校验是否包含在返回值内的话,则可以预期结果勾选“只检查数组中数据是否包含在预期结果中”

如果需求明确是返回内容不能包含某字段,需校验确实没返回该字段,需事先设置。

断言里面设置好预期不存在的字段

编写jmeter测试用例_JMeter 编写接口测试用例遇到的问题及解决相关推荐

  1. 编写jmeter测试用例_Jmeter | 实现接口自动化设计说明

    一.变量定义规则 1.全局变量:各个项目组负责人负责统一规划本项目的全局变量.用"配置元件"中的[用户定义变量]来设置,并置顶在所有线程组的最前方: 2.HTTP消息头:各个项目组 ...

  2. 测试用例优先级划分_测试用例的重要级别如何划分?

    测试用例的优先级别 优先级一般都是和缺陷的严重程度对应的. 一般可以把优先级分为三种: 高(Highs):保证功能性是稳定的,是按照需求的正常使用和实现点进行用例设计的,重要的错误和边界测试的测试用例 ...

  3. 编写jmeter测试用例_Jmeter性能测试系列篇(十)--批量用例执行结果检查设置

    1.在jmeter图形界面中,所有用例的执行可以通过"监听器"中的[察看结果树]来汇总每个接口的测试用例的执行结果.同时可以设置将执行的结果保存到指定的目录上. 2.因为结合ANT ...

  4. 接口测试用例_【学习】接口测试用例编写和测试关注点

    一.为什么要做接口测试 在日常开发过程中,有人做前端开发,有人负责后端开发.接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发.那么我们是不是就不需要测试呢 ...

  5. 数据接口请求异常:parerror_接口测试用例编写和测试关注点

    一.为什么要做接口测试 在日常开发过程中,有人做前端开发,有人负责后端开发.接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发.那么我们是不是就不需要测试呢 ...

  6. 接口测试用例编写和接口测试模板

    一.简介 接口测试区别于传统意义上的系统测试,下面介绍接口测试用例和接口测试报告. 二.接口测试用例模板 功能测试用例最重要的两个因素是测试步骤和预期结果,接口测试属于功能测试,所以同理.接口测试的步 ...

  7. 接口测试用例的编写要点有哪些?

    接口测试用例的编写要点有哪些? 第一.必填字段,请求参数必填项.可选项 第二.合法性,输入输出合法,非法参数 第三.边界,请求参数边界值等 第四.容错能力,大容量数据.频繁请求.重复请求(如:订单) ...

  8. 接口测试用例编写规则

    一.接口测试基本概念 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换, 传递和控制管理过程,以及系统间的相 ...

  9. 接口测试用例编写方法

    接口测试用例编写可以从四个方面入手:功能.逻辑业务.异常测试.安全

最新文章

  1. Mat矩阵基本操作与示例 OpenCV
  2. cmd mysql_CMD命令操作MySql数据库的方法详解
  3. 雅虎开源CaffeOnSpark:基于Hadoop/Spark的分布式深度学习
  4. 机器学习认识聚类(KMeans算法)
  5. 在RHEL6.2上,将一个分区开机自动挂载
  6. tyvj 1391 走廊泼水节【最小生成树】By cellur925
  7. 《Python快速入门》基础知识扫盲课
  8. php扩展返回字符数组,PHP扩展之数组字符串处理
  9. Google Protocol Buffers浅析(四)
  10. 二叉树的链表存储与遍历
  11. jstack 脚本 自动日志_在 Linux 中使用 Bash 脚本删除早于 “X” 天的文件/文件夹...
  12. Nginx 500错误总结
  13. java截取字符串函数
  14. 最小生成树之普里姆算法
  15. ElementUI:设置table的背景透明、根据表格情况设置背景色、设置文字颜色、文字左右间距、表头、每一行高度
  16. Kali-linux:nmap命令
  17. word小技巧 将图片批量居中
  18. JWT 的退出登录方法
  19. python数学符号读法大全_数学符号及读法大全
  20. FineBI 新增字段后 更新缓慢问题

热门文章

  1. 通过运行时单步调试弄清楚[(ngModel)]的双向绑定的工作原理
  2. Angular HTTPClient的使用方法
  3. Angular的property binding一个例子
  4. The compiler compliance specified is 11 but a JRE 1.8 is used
  5. SAP Hybris Commerce里类似ABAP里的透明表设计
  6. 本人使用abapgit遇到的一些错误
  7. difference between JSON Model and client model
  8. 如何在Hybris commerce里创建一个media对象
  9. 阮一峰react demo代码研究的学习笔记 - demo 6 debug - how check works
  10. Element.prototype.addDependent will call addAggregation