当前位置: 首页 > 知识库问答 >
问题:

Jmeter调试采样器如何将所有变量值保存到CSV

计泉
2023-03-14

我能够提取许多变量的值,并显示在调试采样器中。

有没有办法把这些所有的变量值保存到一个CSV文件中?

我找到了一个解决方案(使用BeanShell脚本)将多个Jmeter变量保存到CSV中,但我希望所有变量值都保存到一个CSV,以便在下一个线程运行时使用CSV文件。

下面是其中一个调试采样器的快照:

enterCompanyname=APITENANT
CreateTenant_Status=Success
CreateTenant_Status_matchNr=1
Current_UTC_Time=2018-03-07T01:53:18.310Z
DB_DataSource=dev4574857
DB_Password=1234
DB_UserName=web
DeviceCount=19
DevicesPerUser=94
EXCELPATH=X:\QualityAssurance\XLSX_3 columns_1000 rows.xlsx
Email=apitenant@apitenant.com
EndDate=2018-12-31
Exist=false
Exist_matchNr=1
FirstName=API
JMeterThread.last_sample_ok=true
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@69ab73cf
LastName=TENANT
LicensePlan=Pro
LicenseType=Device
MaxUsers=11
Password=Password
Protocol=http
RandomNumber=10

共有1个答案

苏品
2023-03-14

>

  • 将JSR223采样器添加到您的测试计划中(您希望在其中保存变量)
  • 将以下代码放入“脚本”区域:

    def csv = new File('vars.csv')
    vars.entrySet().each {var ->
        csv << var.key + '=' + var.value + System.getProperty('line.separator') 
    }
    

    vars是JMeterVariables类实例的简写,它提供对所有JMeter变量的读/写访问。

    还要注意,从JMeter3.1开始,我们鼓励用户切换到JSR223测试元素和Groovy语言,因此尽可能考虑迁移到Groovy。请参阅Apache Groovy-why and How You Should Use It以获得更多详细信息。

  •  类似资料:
    • 嗨,我正在尝试将从一个采样器中提取的值分配给beanshell脚本中的另一个变量。我有下面的beanshell脚本。 jmeter中的文本请求显示beanshell采样器的如下内容 但linkArr变量在调试采样器中显示为空值。 为什么当我期望9PACMISVL6GIQATCO747NQ值被赋给linkArr变量时,却得到一个空值。请建议

    • 我正在找到在JSR223采样器、JSR223预处理程序、JSR223后处理程序和所有其他JSR223脚本中使用变量的方法。 还有一些其他变量,如、、、。我可以很容易地使用它们。 :vars.get(“variable_name”)、vars.put(“variable_name”、“value”)、... :props.get,props.put,... :prev.gettime()、prev.

    • 但是根据目前的需求,我们需要从mongodb中获取数据,将这些动态值传递给HTTP请求采样器,我的意思是我们需要根据数据库中的动态值构建HTTP请求采样器? 你能不能请谁帮我一下。

    • 在一个线程组中,有多个http请求采样器。我需要发送一个号码与每一个这些请求。对于每一个请求,这个数字应该是不同的。当我使用Jmeter随机变量为每个请求每次获得一个随机数时。我想的是,在一个线程中,当我在n个请求中调用这个变量n次时,它每次都给出一个不同的数字,然而它在每次调用中都给出相同的数字。

    • 我在jmeter中有一个测试计划,只有很少的SOAP采样器,我在那里追加请求体计数器值,我正在寻找如何在每个采样器请求之前增加计数器值的方法。 在下面的设置中,jmeter按以下顺序执行请求: 我想实现这样的行为: 计数器起始值:1增量:1最大值:2 我该怎么做呢?我想我应该引入循环控制器?

    • 我有一个包含CSV文件的目录。每个文件都包含我想用JMeter发出的GET请求列表。我想要做的是读取一个目录中的所有文件,然后循环通过每个CSV在JMeter中发送请求。文件的数量不一致,所以我不想将文件名硬编码到CSV采样器中。 因此,实际上,我希望读取目录中的所有文件,并将这些文件存储在一个数组变量中。循环遍历数组并将CSV文件发送给CSV采样器,然后CSV采样器读取CSV文件并将内容传递给H