Jmeter中遇到的一些坑~

1. 关于文件上传~
使用jmeter做自动化的时候。需要上传图片到服务器~
请求参数
此时的Content-Type与平时请求的时候,是不一样的。这里是multipart/form-data,对应jemter中
勾选此处
你以为这就完了?最坑的来了。Jmeter中,你新加了请求头,新饿请求头他并不会覆盖原先的请求头!不会覆盖!
请求头
在有默认的请求头的前提下,你修改了请求头,不会覆盖,而是添加,最终的请求头中Content-Type:application/json,multipart/form-data。
在需要上传图片的时候,需要把原先的请求头给移除,移除的方法有很多,我这边用的BeanShell前置处理器,在执行上传的请求前,将原先的请求头移除
移除请求头中的Content-Type
在上传完图片后,记得把请求头改回来,可以用BeanShell后置处理器,将请求头重新置上

import org.apache.jmeter.protocol.http.control.Header;
sampler.getHeaderManager().add(new Header("Content-Type","application/json"));
sampler.getHeaderManager().add("Content-Type","application/json");

当然,也有更省力的办法,重新添加一个请求头~
添加一个请求头

2. 关于引用路径
全流程测试脚本,或者是需要引用各个模块,较为复杂的脚本,可能会存在A脚本中引用了B脚本,B脚本中又引用了C脚本,并且这三个脚本都不在同一个目录的情况。
我的文件目录如下:

 	 |--index.jmx
 	 |--setUp
 	 |-----setUp.jmx
 	 |-----modules
 	 |--------setUp4setUp.jmx

最外层使用index.jmx脚本开始,setUp文件夹与index.jmx在同一层级目录下,setUp文件下包含setUp.jmx脚本和modules文件夹,在modules文件夹下,包含脚本文件setUp4setUp.jmx。
在index.jmx中引用setUp.jmx很好处理,include控制器,文件名:\setUp\setUp.jmx就完事了。
在setUp.jmx中引用setUp4setUp.jmx脚本,也很简单,include控制器,文件名:\modules\setUp4setUp.jmx就也完事了。
但是这时候去跑index.jmx他会报错,说找不到setUp4setUp.jmx?!
Including file "\modules\setUp4setUp.jmx" failed for Include Controller "Include控制器", unexpected error - see log for details
打开jmeter的日志,看看啥情况~

java.io.IOException: loadIncludedElements -failed for: D:\modules\setUp4setUp.jmx and E:\autoTest\ticLink\modules\setUp4setUp.jmx
	at org.apache.jmeter.control.IncludeController.loadIncludedElements(IncludeCo
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值