这里使用数据库作为中间件来实现不写代码就把测试结果存入execl,下面是步骤
1.新建一个setup线程组用来设置数据库连接信息和新建数据库,如下图所示,我们使用sqlite数据库来存储信息,因为不需要自己再去安装数据库,Database URL填写jdbc:sqlite:mytest.db,这是标准写法,mytest是数据库名称,执行后会在bin目录生成一个mytest.db的文件,注意这里需要自己去下载sqlite的驱动jar包,地址传送门https://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/,数据库名称和密码都不用填,当然你用别的数据库例如mysql也是可以的,这里用sqlite只是因为它不需要安装
2.在setup线程组中写创建表的语句,用来存储测试信息,根据自己的需要设计字段,我这里做演示,是存储了请求时的用户名、密码,相应结果里的token和status
3.新建一个线程组来写我们实际的请求,我这里以自己写的登录接口作为示例,如下图所示,请求的用户名和密码写在了用户自定义变量里面,这里只是方便演示,然后发起请求,用json提取器提取返回的token和status
至此,我们需要存储的信息都已经拿到了,然后新建一个数据库请求来存储这些信息,入下图所示,我们通过${}引用刚才得到的信息,然后用insert语句插入到数据库中
4.接下来我们就可以把存到数据库里的信息导出到execl里了。新建一个tearDown线程组,新建一个jdbc请求用来实现导出,如下图所示,通过select语句把所有的结果查询出来,然后添加一个监听器---保存响应到文件
保存到响应文件的配置如下,根据自己的需要修改
运行后就会在jmeter的bin目录下生成一个名为result_0701.xls的文件,里面就存储了刚才的信息
这是execl里面的内容