在对一个项目进行接口测试时,现在总结一下碰到的几个问题:
加密
对于认证信息的加密方式是取请求参数中的几个参数构成字符串做为String然后进行加密处理,使用java进行加密实现,导出jar文件,BeanShell PreProcessor进行调用处理这里就不展开了。
关于时间戳的问题
在Post请求中有一个Parameter是时间戳,JMeter中时间戳的函数为${__time(,)}
,在预处理中也调用${__time(,)}
组成String进行加密,运行的时候出现错误,认证失败。后查看参数的值时发现,请求中的时间戳和加密的时间戳虽然都是${__time(,)}
,但是两个时间戳之间还是有细微的差别,需要将当前${__time(,)}
的值赋予一个变量,然后再调用该变量做为请求和加密的String
参数的空格
这是一个编写Jmeter脚本时的一个细节问题,先看一下一个请求的响应:
响应数据为:无效的参数格式
在抓包或者看API文档查看该请求中的IP、路径和Parameters的时候,并没有找到Jmeter请求的错误,之后查看了请求的服务端后才发现,由于请求的参数是复制黏贴,黏贴时参数最后多了一个空格,导致了请求的失败