接口测试-Jmeter响应数据结果保存到csv文件2种方式(详细)

news2024/11/27 6:17:07

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

日常接口测试,需要将接口返回值对应的字段数据保存下来

示例接口:
post请求:

https://dev-xxx-bot.igovee.com/text

{
"text":"I really need some meditative effects."
}

实现方法:

方式一(Jmeter BeanShell采样器提取接口)

接口获取response数据:

{"cost_time":0.15606689453125,"emotion_class":{"label":"hope","score":0.2862275540828705},"entity":null,"entity_class":{"label":"plants","score":0.2635917663574219},"keywords":"fruit"}

jmeter线程组-JSR223 Sampler

D1

D2

代码实例:

//导入json包
import org.json.JSONObject;
import org.json.JSONArray;
import org.apache.jmeter.samplers.SampleResult
SampleResult rsp =ctx.getPreviousResult()       
String response_data = rsp.getResponseDataAsString()  //获取上一个接口返回数据,此处是String类型
log.info("\n" + response_data)
//将String类型的返回值构造成JSONObject对象
JSONObject jsonstring=new JSONObject(response_data);  //放进json对象里
String cost_time=jsonstring.get("cost_time").toString();        //取出cost_time对应的value值
String score=jsonstring.get("emotion_class").get("score").toString();        //取出score对应的value值
vars.put("cost_time",cost_time);
vars.put("score",score);
log.info(cost_time);
log.info(score);
//写入文件
FileWriter fstream=new FileWriter("E:/gongju/jmeter/pc.csv",true);//本地存储文件路径
BufferedWriter out = new BufferedWriter(fstream);
out.write(cost_time);//提取出来的cost_time
out.write(",");//换列
out.write(score);//提取出来的score
out.write(System.getProperty("line.separator"));//换行
out.close();
fstream.close();

写入CSV效果如下:

D3

方式二(json提取器+BeanShell 取样器)

1、json提取器提取出变量对应的value值

D4

D5

2、beanshell取样器

D6

D7

示例代码:

File file=new File("E:\\gongju\\jmeter\\pc1.csv");
FileWriter fw=new FileWriter(file,true);
BufferedWriter out=new BufferedWriter(fw);
        out.write(vars.get("cost_time"));
        out.write(",");//换列
        out.write(vars.get("score"));//提取出来的score
        out.write(System.getProperty("line.separator"));//换行
        out.close();
        fw.close();

结果文件:

D8

备注:
JMeter运行时报Typed variable declaration : Class: JSONObject not found in namespace
解决方案:因为${JMETER}\lib\下缺少json.jar包,下载放到 lib目录下即可。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有坚持拼搏、不放弃的人,才能在逆境中崛起,展现出无尽的力量和智慧。奋斗不仅是一种态度,更是一种勇气,让我们砥砺前行,追逐梦想的光芒,创造属于自己的辉煌!

坚持追求梦想,才能开启辉煌人生;奋勇拼搏,方可创造无限可能。不畏困难,不言放弃,只有锲而不舍的努力,才能成就非凡的自己。相信自己,勇往直前,未来将因你而绽放耀眼的光芒!

勇往直前,拼尽全力,只有奋斗才能收获成就;不断超越自己,追逐梦想,只有努力才能实现突破;面对挑战,坚持不懈,只有坚强才能攀登高峰。相信自己,踏上征程,你将成为无人可及的辉煌!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/753317.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里巴巴最新总结 Spring Security Oauth2.0 认证授权全彩笔记

Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。由于它是 Spring 生态系统中的一员,因此它伴随着整个 Spring 生态系统不断修正、升级,在 Spring Boot 项目中加入 Spring Security 更是十分简单&a…

C语言进阶,第4节-自定义类型详解(结构体

一、 结构体 1. 结构的声明 //描述一个学生 struct Stu//结构体标签 {//成员变量char name[20];int age;char sex[5];char id[20]; }x; //x 为 struct Stu 类型的变量//匿名结构体类型 struct {int a;char c;float f; }a;struct {int a;char c;float f; }*pa;//省略了结构体…

集群基础1——集群概念、LVS负载均衡

文章目录 一、基本了解二、LVS负载均衡2.1 基本了解2.2 工作模式2.2.1 NAT模式2.2.2 DR模式2.2.3 LVS-TUN模式2.2.4 LVS-FULLNAT模式 三、调度器算法四、ipvsadm命令 一、基本了解 什么是集群? 多台服务器做同一件事情。 集群扩展方式: scale up&#xf…

OJ练习第136题——在二叉树中分配硬币

在二叉树中分配硬币 力扣链接:979. 在二叉树中分配硬币 题目描述 给定一个有 N 个结点的二叉树的根结点 root,树中的每个结点上都对应有 node.val 枚硬币,并且总共有 N 枚硬币。 在一次移动中,我们可以选择两个相邻的结点&…

java导出pdf(纯代码实现)

java导出pdf 在项目开发中,产品的需求越来越奇葩啦,开始文件下载都是下载为excel的,做着做着需求竟然变了,要求能导出pdf。导出pdf倒也不是特别大的问题关键就是麻烦。 导出pdf我知道的一共有3中方法: 方法一&#xff…

Linux系统ubuntu22.04安装最新版的gcc13.1.0编译器,支持c++20、23

Linux系统ubuntu22.04安装最新版的gcc13.1.0编译器,支持c20、23 本文全程实操,上机验证通过。 首先查看gcc版本,以确保系统内有gcc,如果没有需要安装sudo apt install gcc 去GUN官网查看最新的gcc版本Index of /gnu/gcc 下载最…

若依添加router-view,使用详细(若依后台管理系统添加router-view)

简介:大家都知道若依后台管理系统,它是一款基于SpringBoot,Spring Security,JWT,Vue & Element 的开发的企业级后台管理系统,可以用于管理企业网站、电子商务平台、移动应用等各种应用系统,…

Shell第四章——函数

命令序列按照格式写在一起 核心:财富使用的命令序列 使用函数可以避免代码重复,函数可以将大的工程分割成若干小的功能模块,提高代码的可读性 第一种写法 第二种写法 return:表示退出函数并返回一个退出值,用…

Android init 进程启动相关分析

目录 1.概述: 2.架构 2.1 Init进程如何被启动? 2.2Init进程启动后,做了哪些事? 3.kernel启动init进程 源码分析 3.1 kernel_init 3.2 do_basic_setup 4. Init 进程启动源码分析 4.1 Init 进程入口 4.2 ueventd_main …

【mysql】—— 数据库的操作

序言: 在上篇文章我已经对数据库进行了详细的介绍,接下来我们就将上手学习操作的细节了。本篇文章便带领大家去学习有关库操作的基本知识!!! 目录 (一)库的操作 1、 创建数据库 2、字符集和…

创新涌动于先,PingCAP 用户峰会 2023 成功举办

2023 年 7 月 13 日,企业级开源分布式数据库厂商 PingCAP 在京成功举办 PingCAP 用户峰会 2023。本届峰会以“创新涌动于先”为主题,PingCAP 全面解析了 AI 时代 TiDB 的演进方向,宣布 TiDB Serverless 正式商用。会上,PingCAP 携…

功率信号源操作注意事项有哪些

功率信号源一种用来生成特定频率、幅度、相位和波形的电信号的设备,通常用于测试电子设备的性能。在使用功率信号源的过程中,需要注意一些安全性和操作规范。下面是一些有关功率信号源操作注意事项的详细介绍。 图:安泰ATG-2000系列功率信号源…

Python开源内容管理系统: Djangocms

一、Djangocms简介 Djangocms是基于Python语言开发的一款开源内容管理系统。它采用了Django框架,可以快速构建高效、灵活的网站。Djangocms拥有强大的可扩展性和易用性,支持多语言、多站点等功能。此外,Djangocms还提供了丰富的插件和主题&a…

JVM学习笔记(二)内存结构

目录 一、JVM内存结构 1. 虚拟机栈(JVM Stacks) 1)定义 2)栈内存溢出 3) 线程运行诊断 案例1:CPU占用过高 案例2:程序运行很长时间没有结果​编辑 2. 本地方法栈(Native Meth…

AlGaN基深紫外FP激光器仿真模型及材料信息数据库有何用途?

波长范围为UVC波段(100-280 nm)的深紫外FP(Fabry-Pero,法布里和珀罗是两位法国的科学家)激光器可广泛应用于数据通信、光通信、3D打印、材料加工、显示与照明、激光雷达、人脸/手势识别、医疗和表面监测等领域。FP激光…

Ubuntu 更改内核启动顺序

ubuntu服务器系统中用run包安装了某卡的驱动,后来又安装了docker,重启后,驱动失效。 经分析 安装docker时,又把新的linux内核安装上了。驱动是安装在旧内核上。 然会重新安装驱动,失败,确认是因为驱动只支…

最短路计数

题意:求1号点到每个点的最短路径的条数 分析:模板题,但要保证求的顺序是拓扑序,如果遇到的点的距离大于当前被更新点的距离就覆盖这个点之前的数据(比如如果先通过3-->2-->4,后来发现了另一条路3-->4&#x…

软件设计师(一)计算机系统知识

一、计算机系统基础知识 1、计算机系统硬件基本组成 基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。 组成说明运算器、控制器集成在一起统称为中央处理单元(CPU)。CPU是硬件系统的核心,用于数据的加工处理存储器…

企业数字化的本质是什么?企业数字化建设应该怎么做?

近年前,无论哪个领域数字化都成为一种必选项,任何行业都可以用数字化的手段重新做一遍,但其本质含义就是基于一种数字化手段、数字化的工具再造企业,用新的数字化的思维手段来重新赋能业务。 企业数字化本质是技术与体系的联合&a…

IP-GUARD授权库勾选“不跟踪另存为”的效果

容灾时间过期如何申请延长? 有以下几种方式可以在已经超过容灾时间后,让客户端正常使用加密: 1、直接从控制台设置好容灾时间或者长期离线授权,右键客户端导出策略,然后从客户端c:\windows,调出policyimporttool.exe,导入策略即可。 2、直接在控制台设置好长期离线授权…