性能测试工具 如何提早关闭 csv 操作元件操作的文件

逗爸比 · 2021年07月01日 · 最后由 在路上 回复于 2021年07月05日 · 3229 次阅读

有个 jmeter 脚本,包含 setup 线程组、普通业务线程组、teardown 线程组

setup 用来多个用户登录,登录后用 beanshell 把多个 token 写入 user_token.csv
普通业务线程组读取 user_token.csv 文件中的 token 进行业务处理
teardown 用 beanshell 来删除 user_token.csv

使用中发现,teardown 中的删除不起作用,原因是普通线程组中的 csv 设置元件打开了该文件,直到 teardown 线程组结束才关闭该文件。

请问各位大佬,怎样才能在最后一步删除 user_token.csv 呢?

共收到 9 条回复 时间 点赞

teardown 里先关闭再删除

Thirty-Thirty 回复

咋关闭,业务线程组里是 csv 文件读取元件自动操作的,没有地方可以操作啊

逗爸比 回复

这个文件怎么创建的?什么时候创建的?由谁 (哪个元件?) 创建的?

Thirty-Thirty 回复

setup 线程组里 beanshell 创建的,普通业务线程中使用 csv data set config 元件进行了读取,问题应该就出现在这个元件上,这个元件直到 teardown 线程组执行完才关闭文件

换个思路,看文中描述,不知道我理解的对不对:
setup 登录
beanshell 获取 token
普通业务线程组使用 token
teardown 删除 token


不太明白楼主为什么不直接使用 beanshell 声明全局变量(值为 token),然后线程组直接使用就行。

不需要写 csv 和删除 csv 的操作

是的,5 楼给出了更好的思路,尽量用变量代替文件,能避免很多麻烦,效率也更高。

在路上 回复

因为有很多账号,会有很多 token,例如:10 个用户(有可能更多),我只希望登录一次(共 10 次),取到 token,然后普通业务线程组(如 50 个线程,循环 100 次)循环取这些 token 进行请求

因为有很多账号,会有很多 token,例如:10 个用户(有可能更多),我只希望登录一次(共 10 次),取到 token,然后普通业务线程组(如 50 个线程,循环 100 次)循环取这些 token 进行请求。

逗爸比 回复

jmeter setup 中登录获取公共变量,可以做到

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册