我不确定我做错了什么 登录(凭据/用户)文件有 4 行数据 使用正则表达式捕获变量并使用 Bean Shell Sampler 将它们保存到另一个 CSV 文件中。 提取的变量值按预期写入每个线程一次迭代的文件中。
**问题: **问题是当我运行测试时,提取的值不是从文件中选取,而是直接从正则表达式变量中获取。
详情 当我对 2 个线程进行 2 次迭代运行测试时,我的期望是仅使用 2 个用户,因为文件仅包含 2 个用户的令牌。当我查看“查看测试结果树”时,从文件中又获取了 2 个用户进行第二次迭代,这表明我没有从文件中提取变量。我预计第二次迭代也使用与仅提取 2 次值相同的用户用户。
查看 JMeter 测试元素执行顺序,CSV 数据集配置正在初始化早于 Beanshell 采样器,因此它要么从之前的执行中读取数据,要么失败
使用 Beanshell 同时使用多个线程将某些内容写入同一个文件不是一个好主意,它可能会导致数据损坏或丢失,最好使用 Flexible File Writer 代替
一般来说,使用 Beanshell 并不是一个好主意,从 JMeter 3.1 开始,建议使用 JSR223 测试元素和 Groovy 语言进行脚本编写。请参阅 Apache Groovy:Groovy 的用途是什么? 文章了解更多信息