给你截了个图 文件位置就是就是你上传图片上传不了的原因
实际上你的上传操作已经录制到了,只是依赖上传的后续操作操作不了
关掉代理上传完文件再录制后续操作也是一样的 不影响结果,反正文件路径都要自己去改的
无效具体是怎么无效?麻烦提供更详细的信息吧。
如果你的代理录制已经保存了 , 就把要上传的文件 放在代理录制脚本保存的目录
如果没有保存录制脚本, 就把要上传的文件 放在 Jmeter 的 bin 目录下再进行录制上传即可
这个只是一个表象。需要进一步排查下:
1、作为处理逻辑起点的浏览器,开发者选项-network 里显示是否有发出上传请求?有的话请求结果是什么?
2、作为处理逻辑中间点的 http 代理,Jmeter 录制代理里这个上传附件的请求数据有录制到么?从录制信息看是否有什么异常?
3、作为处理逻辑终点的服务端,有收到上传的附件吗?(可以看下有没有日志打印,有的话通过日志查看是比较方便的)
需要有这些信息,才能进一步排查定位问题,进而找到解决方案。
放在 bin 目录是你的录制脚本没有保存的情况
如果你的录制脚本保存了,就应该放在录制脚本所在目录(录制脚本不是录制完成的脚本,是你用来录制,有代理服务器的那个脚本)
不然就加一个擦看结果树到代理服务器下面,录制的时候看看请求报错给的文件位置在哪 再把上传的文件放在指定位置
这是 Jmeter 代理录制读取文件的机制导致的, 如果没有保存当前代理录制计划, 就会去 bin 目录中找上传文件
如果已经保存了,则会在代理录制计划保存目录去找上传的文件
看这哥们在 4 楼回复的意思,不是录制后运行录制出来的脚本报错,而是录制过程中 web 页面操作时,由于多了个 jmeter 代理上传功能不正常。
就是录制的时候, 因为录制的文件路径不对, 就会导致录制不上上传的操作,文件都找不到,肯定没有文件上传成功的,我经常用录制, 之前也遇到过这个问题,排查录制脚本的返回数据才找到的解决方案
对对对 是的 是录制过程中 在 web 端不开录制代理是 OK 的 但是如果我启动 jmeter 录制代理不是要开启本地代理么 就无法上传文件了
#### 答:开发者工具→网络→预览 / 响应:无法加载响应数据:No data found for resource with given identifier 。负载处显示的信息如下:
ext: 001b
token: 4764f43be2df4d49be85ef93a6137dca
Filedata: (二进制)
看了下源
------WebKitFormBoundary2Iq4TK3mOaxc2hf9
Content-Disposition: form-data; name="Filedata"; filename="峨眉怎.png"
Content-Type: image/png
------WebKitFormBoundary2Iq4TK3mOaxc2hf9--
项目里面的结果是前台给出了网络错误的提示信息。
3、作为处理逻辑终点的服务端,有收到上传的附件吗?(可以看下有没有日志打印,有的话通过日志查看是比较方便的)
### 1)如果我在 inetcpl.cpl 中开启了代理,项目中上传附件就会显示网络错误,也就是服务器并为收到附件。如果关闭了 inetcpl.cpl 的代理那么就能成功上传,当然此时 jmeter 不会录制到这个请求。
需要有这些信息,才能进一步排查定位问题,进而找到解决方案。
给你截了个图 文件位置就是就是你上传图片上传不了的原因
实际上你的上传操作已经录制到了,只是依赖上传的后续操作操作不了
关掉代理上传完文件再录制后续操作也是一样的 不影响结果,反正文件路径都要自己去改的
嗯 谢谢 是这样子的 你的解释很清晰 上传操作的请求 jmeter 已经录制到了 ,包括附件信息。只不过因为开了代理 导致附件无法传送到服务器。其实这个时候可以关闭浏览器的代理先让附件传送到服务器 然后再开启代理接着录制 录制完成后 删除不需要的请求 然后跑一遍 如果上传附件这里跑不通的话再人为干预调整么。而且附件也只是 add 接口需要的参数,如果不对附件上传的接口单独做压测 这个请求都用不上。
打卡,学习了!