01 2024 档案

摘要:1 添加方法: 线程组右键-> 添加 -> 逻辑控制器 ->ForEach控制器 2 作用: 可以更方便JMeter后置处理器提取出来的多组数据,也可以定义具有特定规则的数据,用ForEach读取 3 各个组件介绍: 输入变量前缀:变量的前缀 开始循环字段:要读取的变量后缀,只能是数字,代表第一个读 阅读全文
posted @ 2024-01-29 11:42 yongheng999 阅读(825) 评论(0) 推荐(0) 编辑
摘要:1 断言各组件介绍 Apply to:同上 测试字段: * 响应文本:响应体 * 响应代码:响应状态码 * 响应信息:状态码的消息 * 响应头:顾名思义就是响应头 * 请求头:顾名思义就是请求头 * URL样本:URL * 文档(文本):响应体 * 忽略状态:勾选后,JMeter会忽视取样器本身的报 阅读全文
posted @ 2024-01-28 20:36 yongheng999 阅读(46) 评论(0) 推荐(0) 编辑
摘要:一 添加方法: 线程组右键->添加->定时器-> 常数吞吐量定时器 二 作用: 常数吞吐量定时器的作用: 设置最大的吞吐量不超过设置的值 注意:如果线程能发送的请求远远低于设置的最大值,那么这个最大值不会发挥作用 三 基于计算吞吐量:是指控制吞吐量的对象,主要使用3类: 只有此线程:限制每个现成的最 阅读全文
posted @ 2024-01-26 17:09 yongheng999 阅读(194) 评论(0) 推荐(0) 编辑
摘要:1 添加方式:取样器右键->添加->断言->JSON断言 作用:使用JSON表达式提取实际数据与预期进行比较 2首先我们来了解下断言组件的各个功能: Asset JSON Path exists: JSON 表达式 Additionally assert value: 增加断言的预期数据 Match 阅读全文
posted @ 2024-01-26 11:43 yongheng999 阅读(366) 评论(0) 推荐(0) 编辑
摘要:1 背景及用途: html、json数据都可以转化为文本,提供给正则去提取,使用正则可以提取全部数据,这就是正则表达式非常强大的一点。 html格式响应更适合用xpath提取,性能比正则好一点 json格式响应数据适合用jsonpath来提取,性能比正则好一点 2 正则表达式介绍: 3 添加方法: 阅读全文
posted @ 2024-01-21 20:27 yongheng999 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-01-19 00:11 yongheng999 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2024-01-17 23:09 yongheng999 阅读(21) 评论(1) 推荐(1) 编辑
摘要:什么是数据驱动? 测试数据驱动用例执行,测试数据和代码分离 为什么要用数据驱动? 简便,便于维护我们的数据 数据如何操作? 编写数据文件、书写读取数据工具、使用参数化引用、json文件 阅读全文
posted @ 2024-01-15 22:16 yongheng999 阅读(24) 评论(0) 推荐(0) 编辑
摘要:蓝色代表目录,绿色代表可执行文件,红色代表压缩文件、浅蓝色表示连接文件、白色表示其他文件 相关目录及作用: Bin : 存放普通用户可执行的指令 Boot: 开机引导目录 Dev:设备目录 Etc: 各种配置文件目录 Lib:库文件存放地,bin和sbin需要的库文件 Media 可移除设备挂载目录 阅读全文
posted @ 2024-01-15 22:15 yongheng999 阅读(196) 评论(0) 推荐(0) 编辑
摘要:什么是HttpRunner? 它是一种面向http协议的测试框架,它只需要去维护一份yaml/json文件就可以使用自动化测试,结合locus性能测试,线上性能监控,持续集成等多种需求 工作原理: 通过抓包工具Charles/Fiddler 生成HAR文件=>然后再转化为yaml或者json文件,再 阅读全文
posted @ 2024-01-15 22:14 yongheng999 阅读(68) 评论(0) 推荐(0) 编辑
摘要:通过正则表达式提取(适用于提取文本结果): Re.seach()提取一个值,通过下标取值 Re.findall()提取多个值,通过下标取值 Resp= reques.get(url);print(resp.text) ;token=re.search(‘正则表达式’,resp.text)[1] 通过 阅读全文
posted @ 2024-01-15 22:13 yongheng999 阅读(139) 评论(0) 推荐(0) 编辑
摘要:Get请求通过params 传参数,Post请求通过data或者json传参,文件上传使用files传参 Data跟json传参数的区别: data可以传键值对,默认请求头为application/xxx-form-urlencode或者文本字符串形式text/plain Json可以传复杂的字典或 阅读全文
posted @ 2024-01-15 22:12 yongheng999 阅读(105) 评论(0) 推荐(0) 编辑
摘要:对页面元素进行封装为类的属性 对用例执行流程设计成类的实例方法 通过定义好的页面类实例化一个对象,通过对象调用实例方法执行用例 核心作用: 可以较少代码的冗余,方便后面维护,如果页面元素发生改变, 只需要调整页面封装的类属性即可 提高用力脚本的维护性和可持续性 阅读全文
posted @ 2024-01-15 22:11 yongheng999 阅读(32) 评论(0) 推荐(0) 编辑
摘要:给页面设置cookie信息,刷新页面清楚缓存实现保持登录状态; 通过cookie保持登录,1手动登录,通过applacation提取登录的cookie,2通过driver.add_cookie({“name”:”Passid”,”Value”:”xxxxx”) 然后通过driver.refresh( 阅读全文
posted @ 2024-01-15 22:10 yongheng999 阅读(115) 评论(0) 推荐(0) 编辑
摘要:首先定位验证码image的元素,然后通过element.screenshot(‘a.png‘)截图保存到本地,通过第三方接口识别本地图片验证码 阅读全文
posted @ 2024-01-15 22:10 yongheng999 阅读(99) 评论(0) 推荐(0) 编辑
摘要:动态参数:可通过热加载形式(在代码执行过中自动去yaml里面执行外部的函数) 接口测试加密解密简介: 对称加密(私钥加密,只有一个密钥)AES,DES,BASE64 特点是:加密和解密有相同的密钥 非对称加密(私钥加密)RSA 主流不解密算法MD5,SHA,HmacSHA 接口签名SIGN详解 二、 阅读全文
posted @ 2024-01-15 22:08 yongheng999 阅读(111) 评论(0) 推荐(0) 编辑
摘要:每天都会运行一次脚本,从而监控开发因为代码变更或者新功能的增加而导致的bug 1开发修改了一些底层代码或者公共代码,就会影响到其他的接口,比如文件上传接口,那么开发修改代码之后就会对文件类型有限制,像这种情况下接口用例就会报错,原来接口用例设置了多种类型 2被测系统调用下游公司接口,如果第三方接口有 阅读全文
posted @ 2024-01-15 22:07 yongheng999 阅读(68) 评论(0) 推荐(0) 编辑
摘要:case根据接口数量而定,比如两百个接口,大概有5000个用例,一个接口大概有25到30个用例,一个接口大概200ms左右响应时间 覆盖率能达到95%以上,有时候可以达到百分之百,所有接口自动化用例执行完成大概10-15分钟左右 额外:有些公司只写正例(只保证功能正常),接口数据只对内 阅读全文
posted @ 2024-01-15 22:06 yongheng999 阅读(450) 评论(0) 推荐(0) 编辑
摘要:因为公司每个项目组业务都比较复杂,每个项目组的需求都不一样,所以需要做自动化项目组需要自己搭建自动化框架,这样更符合项目的业务场景,使用起来更加高效 你主要负责哪部分框架搭建,你们是怎么合作? 我主要负责requests的统一请求封装以及接口关联,以及规范yaml用例和日志监控,除此之外还写了很多的 阅读全文
posted @ 2024-01-15 22:05 yongheng999 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1 框架文件架构 2优势: (1) 采用的yaml作为测试用例,对测试用例做了非常严格的规范,name,request(method,url),validator, (2) 支持多种请求方式和传参方式 Get:params,Post:表单和json传参,也支持文件上传,同时包括内置MD5,Base6 阅读全文
posted @ 2024-01-15 22:05 yongheng999 阅读(119) 评论(0) 推荐(0) 编辑
摘要:这种工具包括一些开源框架最大缺点就是不够灵活,如果是单接口的测试还行,但是有的项目接口比较庞大和负责,这种情况下就不大适用工具(工具适用于小型项目,代码适用于中大型项目) 主要有以下几个原因: 1敏捷开发,接口巨大,工具对于实现团队协作很不友好,很不方便 2工具的功能都是定义好的,一旦工具没有定义那 阅读全文
posted @ 2024-01-15 22:02 yongheng999 阅读(63) 评论(0) 推荐(0) 编辑
摘要:1为了重复运行脚本,应在运行之前,以及运行完后对数据进行清理,分为前置清理、后置清理 2加入失败重跑机制,遇到失败设置重试次数 3将测试环境独立出来,灵活配置运行环境 4WIndows、Linux环境下文件路径要做兼容 5异常捕获处理,有异常捕获或者标记 6确保用力的完成行、独立性,可耦合,可独立运 阅读全文
posted @ 2024-01-15 22:01 yongheng999 阅读(115) 评论(0) 推荐(0) 编辑
摘要:1尽量使用相对路径的xpath表达式定位元素 2查找元素优先使用显示等待方式 3用例与用例之间避免产生依赖,用例可以单独运行 4用例执行结束之后要对测试场景进行还原,避免影响到其他用例的执行 5脚本执行失败之后要加入重试机制,来提升用例稳定性 6要保证单独一个测试环境,避免其他一个测试逐步进行 阅读全文
posted @ 2024-01-15 22:00 yongheng999 阅读(148) 评论(0) 推荐(0) 编辑
摘要:Jmeter分布式执行原理: JMeter分布式执行时,选择其中一台作为调度机(master),其他机器作为执行机(slave); master会在本地编辑好jmx压测脚本,执行时,master将jmx脚本发送至slave上,slaver执行时不需要启动jmeter,只需要把jmeter-sever 阅读全文
posted @ 2024-01-15 22:00 yongheng999 阅读(59) 评论(0) 推荐(0) 编辑
摘要:死锁的定义 线程死锁就是有两个线程,一个线程锁住了资源A,又想去锁定资源B,另外一个线程锁定了资源B,又想锁定资源A。两个线程都想去得到对方的资源,而不愿意释放自己的资源,从而造成一种相互等待,无法执行的情况。 定位分析: 查看服务器的CPU、内存、IO、网络情况:命令:dstat -tcmnd – 阅读全文
posted @ 2024-01-15 21:58 yongheng999 阅读(68) 评论(0) 推荐(0) 编辑
摘要:运行大型程序或应用程序:当计算机运行大型程序或应用程序时,CPU需要处理更多的数据和指令,因此CPU占用率会相应地增加。 病毒或恶意软件:某些病毒或恶意软件会占用计算机的CPU资源来执行恶意任务,例如加密文件或执行网络攻击。 软件或驱动程序错误:某些软件或驱动程序可能存在缺陷,导致CPU占用率异常高 阅读全文
posted @ 2024-01-15 21:56 yongheng999 阅读(354) 评论(0) 推荐(0) 编辑
摘要:1、 服务器资源限制:服务器的硬件资源(如 CPU、内存、磁盘)可能不足以处理大量的请求。在高负载情况下,服务器可能无法及时响应所有的请求,导致 TPS 上不去。解决方法可以考虑升级硬件资源或通过负载均衡将请求分散到多台服务器上。 2、 网络带宽限制:服务器的网络带宽可能成为瓶颈,在高负载压力下无法 阅读全文
posted @ 2024-01-15 21:55 yongheng999 阅读(776) 评论(0) 推荐(0) 编辑
摘要:时间上:挑选用户少的时间进行压测 技术上:对业务代码进行改造,使业务服务代码能够处理压测标记,通过压测标记把数据写入影子库、影子表、影子消息队列、影子缓存 传递压测标记时,确保压测标记不丢失、不中断、压测数据不污染。 压测标记不丢失:客户端发送http请求时带上压测标记 压测流程不中断:不会被服务的 阅读全文
posted @ 2024-01-15 21:54 yongheng999 阅读(35) 评论(0) 推荐(0) 编辑
摘要:梳理用户行为接口列表(接口范围) 判断每个接口的使用频率 接口参数集合 接口使用的压力曲线如何,分析接口瓶颈 阅读全文
posted @ 2024-01-15 21:53 yongheng999 阅读(9) 评论(0) 推荐(0) 编辑
摘要:json.dumps() 将 Python 对象转换为 JSON 字符串,并返回该字符串。而 json.dump() 将 Python 对象转换为 JSON 字符串,并将该字符串写入文件。 json.dumps() 接受一个 Python 对象作为参数,而 json.dump() 接受两个参数:一个 阅读全文
posted @ 2024-01-15 21:53 yongheng999 阅读(64) 评论(0) 推荐(0) 编辑
摘要:可变数据类型:对该数据类型值做修改(增删改查),若它对应的内存地址没有发生变化,那么这种类型的数据就称为可变数据类型。 若对变量进行重新赋值,那么变量的内存地址会发生变化。 不可变数据类型:对该数据类型值做修改(增删改查),若它对应的内存地址发生变化,那么这种数据类型就称为不可变数据类型。 可变类型 阅读全文
posted @ 2024-01-15 21:50 yongheng999 阅读(140) 评论(0) 推荐(0) 编辑
摘要:read()方法用于一次性读取整个文件的内容,并将其作为一个字符串返回。 readline()方法用于逐行读取文件的内容。每次调用readline()方法,它会读取文件的下一行,并将其作为一个字符串返回。 readlines()方法用于将文件的所有行读取到一个列表中。每一行都是列表中的一个元素,列表 阅读全文
posted @ 2024-01-15 21:49 yongheng999 阅读(80) 评论(0) 推荐(0) 编辑
摘要:Redis持久化指的是将内存中的数据同步到硬盘文件,并在redis重新启动的时候将数据备份到硬盘上,从而保证数据的安全性。通过持久化, Redis可以在系统关闭时将数据保存到硬盘上,避免了数据丢失的风险 阅读全文
posted @ 2024-01-15 21:47 yongheng999 阅读(31) 评论(0) 推荐(0) 编辑
摘要:索引失效通常指的是数据库查询无法有效利用索引,从而导致查询性能下降。 1. 模糊查询的前导通配符: 当使用模糊查询(如 LIKE ‘%abc’)时,索引失效,因为通配符在前面会导致索引无法使用。 2. 未使用索引字段进行过滤: 如果查询条件没有使用到创建的索引字段,数据库可能不会使用该索引。 3. 阅读全文
posted @ 2024-01-15 21:46 yongheng999 阅读(3333) 评论(0) 推荐(1) 编辑
摘要:缓存击穿 缓存击穿是一种redis的常见问题,它指的是当缓存数据快过期时,由于没有足够的缓存时间来处理请求,导致系统会频繁地请求数据库,从而造成数据库压力增大。解决方法是设置热点数据永远不过期,并添加互斥锁,保证同一时刻只有一个线程可以访问数据库。另外,如果查询返回的数据为空,可以将其作为一个空值, 阅读全文
posted @ 2024-01-15 21:44 yongheng999 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1、 MySQL是关系型数据库;而Redis是非关系型数据库。 2、MySQL用于持久化存储数据到硬盘,功能强大,但是速度缓慢;而Redis用于存储使用较为频繁的数据到缓存中,读取速度快。 3、MySQL的数据存放在磁盘中;而Redis的数据存放在内存中。 4、MySQL常用数据类型有数值、日期/时 阅读全文
posted @ 2024-01-15 21:44 yongheng999 阅读(30) 评论(0) 推荐(0) 编辑
摘要:内存溢出指程序使用超过其分配的内存空间,通常程序没有正确的管理内存,比如是一次性加载过多的数据到内存中 现象:导致程序无法获取所需要内存中断或者崩溃 处理方式:通过优化程序的数据结构和算法,比如分次读取数据或文件,而不是一次性读取所有数据。 内存泄漏指的是程序使用完内存后并没有释放内存,导致内存一直 阅读全文
posted @ 2024-01-15 21:43 yongheng999 阅读(13) 评论(0) 推荐(0) 编辑
摘要:索引优化: 索引可以加速查询速度,但是索引的使用也会带来一些开销。因此,需要根据查询的情况对索引进行优化,比如对经常使用的字段进行索引,或者使用覆盖索引等。 数据库设计优化:数据库的设计也会影响查询的性能。比如对于经常需要联表查询的情况,可以将需要联表的字段放在同一张表中,或者使用视图等。 查询语句 阅读全文
posted @ 2024-01-15 21:42 yongheng999 阅读(78) 评论(0) 推荐(0) 编辑
摘要:浏览器向DNS服务器发出解析域名的请求; DNS服务器将"www.baidu.com"域名解析为对应的IP地址,并返回给浏览器; 浏览器与百度服务器进行三次握手,建立TCP连接; 浏览器发出HTTP请求报文; 服务器回复HTTP响应报文; 浏览器解析响应报文,渲染HTML内容,并显示在页面上; 收发 阅读全文
posted @ 2024-01-15 21:40 yongheng999 阅读(218) 评论(0) 推荐(0) 编辑
摘要:一、 显示结果不同 union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果集全部显示出来 二、对重复结果的处理不同 union all是直接连接,取到的是所有值,记录可能有的重复;union是取唯一值,记录没有重复。 所以union在进行表链接后会筛选掉重复的记录,unio 阅读全文
posted @ 2024-01-15 21:39 yongheng999 阅读(1769) 评论(0) 推荐(0) 编辑
摘要:InnoDB:是Mysql的默认存储引擎,支持事务、外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包含很多的更新、删除操作,那么InnoDB存储引擎是比较合适的选择。 MyISAM:如果应用是以读操作和插入操作为主,只有很少的更新和删除操作, 阅读全文
posted @ 2024-01-15 21:39 yongheng999 阅读(18) 评论(0) 推荐(0) 编辑
摘要:微信小程序无需下载安装,用户在微信扫一扫或搜索即可使用,小程序版本类型可分为:开发版、体验版、正式版。 开发版、体验版无需审核,只需要给微信号权限,经过扫小程序的二维码就能访问,正式版本需要经过微信审核才可使用。下面从9个方面,总结下微信小程序的测试点: 1、功能:与Web和App等正常的功能测试基 阅读全文
posted @ 2024-01-15 21:38 yongheng999 阅读(132) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud是一个微服务框架,提供了微服务中很多功能组件,Dubbo一开始时RPC调用框架,核心是解决服务调用间的问题, Spring Cloud是一个大而全的框架,Dubbo更侧重于服务调用,所以Dubbo所提供的功能没有Spring Cloud全面,但是Dubbo的服务调用性能比Sp 阅读全文
posted @ 2024-01-15 21:36 yongheng999 阅读(14) 评论(0) 推荐(0) 编辑
摘要:限流要结合容量和压测来进行,当外部请求接近或者达到系统最大阈值时,触发限流,采取其他手段进行降级,保证系统不被压垮,常见降级策略包括延迟处理,拒绝服务,随机拒绝等。 计数器法:将时间划分固定窗口大小,如1s设定100请求,该窗口时间之后的请求进行丢弃处理 滑动窗口计数:将时间拆分为毫秒,窗口计数器总 阅读全文
posted @ 2024-01-15 21:35 yongheng999 阅读(46) 评论(0) 推荐(0) 编辑
摘要:Eureka:服务注册与发现,每个服务都向eureka提供自己的ip地址,端口号,协议,通信协议,eureka将各个服务维护到一个服务清单中(双层map,第一层key为服务名,第二层key为实例名),同时对服务维持心跳,剔除不可用的服务。 发现:eurkeka注册的服务之间不用指定服务的地址,而是通 阅读全文
posted @ 2024-01-15 21:35 yongheng999 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1 通过一个单独的yaml文件保存中间提取的变量,这个变量在所有的测试用例之前清空,pytest:conftest+fixture, 2 在测试用例的yaml里面通过一级关键字extract提取,提取支持json提取和正则表达式提取 阅读全文
posted @ 2024-01-15 21:34 yongheng999 阅读(85) 评论(0) 推荐(0) 编辑
摘要:考虑接口的业务逻辑和入参,通过等价类,边界值,场景法来设计。 1设计正例,请求方式:get/post 2反例,接口数据异常时候接口能返回正确的提示。 鉴权反例:token 鉴权码为空,错误,过期 参数反例:必填项检查,长度规则,类型规则,日期,参数必填项为空,参数类型错误 错误码覆盖: 其他的关注点 阅读全文
posted @ 2024-01-15 21:31 yongheng999 阅读(41) 评论(0) 推荐(0) 编辑
摘要:1 项目做自动化的可行性分析,自动化率能实施到什么程度?项目周期比较长,一年以上,需求不会频繁变更,自动化脚本能够持续反复的使用 2 自动化工具selenium的调研以及demo的演示 3搭建自动化测试框架, 并在项目中逐步的实施,发现框架的问题并改善 4 把自动化流程化,框架出使用文档以及规范文档 阅读全文
posted @ 2024-01-15 21:29 yongheng999 阅读(26) 评论(0) 推荐(0) 编辑
摘要:蓝绿发布 蓝绿部署中,一共有两套系统:一套是正在提供服务系统(也就是上面说的旧版),标记为“绿色”;另一套是准备发布的系统,标记为“蓝色”。两套系统都是功能完善的,并且正在运行的系统,只是系统版本和对外服务情况不同。正在对外提供服务的老系统是绿色系统,新部署的系统是蓝色系统。 蓝色系统不对外提供服务 阅读全文
posted @ 2024-01-15 21:28 yongheng999 阅读(109) 评论(0) 推荐(0) 编辑
摘要:Python可以适用coveragepy 来统计代码行覆盖率,使用方式coverage run -m pytest 运行之后生成新的.coverage文件,这个文件以二进制形式保存着我们覆盖率的数据,如何读取覆盖率数据呢?通过cmdline 命令执行coverage report 可以查看覆盖率数据 阅读全文
posted @ 2024-01-15 21:27 yongheng999 阅读(144) 评论(0) 推荐(0) 编辑
摘要:for循环遍历一个万亿级别的长列表,会将这个列表的全部数据载入到内存中去,如果你的内存很小就会溢出,即使是内存很大,这个操作也是十分占用资源的。 而使用生成器,则会将数据的状态(例如:遍历到列表的哪个位置等等)保存到内存中,每次调用时去读取需要的数据。 生成器是一个内存使用更加友好的结构。从这点解读 阅读全文
posted @ 2024-01-15 21:24 yongheng999 阅读(29) 评论(0) 推荐(0) 编辑
摘要:Jmeter属性全局生效,变量局部生效,jmeter属性默认读取jmeter.properties中的属性配置,在jmeter运行过程中,通过函数${_setProperty(属性名,属性值)来定义 引用jmeter属性的方法:通过jmeter函数${_P(属性名,)}引用 Jmeter变量转化为j 阅读全文
posted @ 2024-01-15 21:23 yongheng999 阅读(19) 评论(0) 推荐(0) 编辑
摘要:Cookie一开始为了解决登录状态的问题,token是为了对保存的数据进行加密,加密了之后cookie就保存了加密之后的密文,这个就是token,session是因为数据保存到客户端不安全,把数据保存到服务端。Cookie支持的编码格式没有token多,cookie默认大小为4kb,session默 阅读全文
posted @ 2024-01-15 21:22 yongheng999 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一 首先我们先来了解下jmeter 做参数化的目的: 1通过参数化来集中管理配置和测试数据 2通过参数化实现数据驱动测试 二 线程组添加配置元件中的用户自定义变量 添加变量名称,变量值 三 使用变量: 通过名称来进行引用 四 用户定义变量的好处? jmeter中变量都是局部生效的,不能跨线程组调用, 阅读全文
posted @ 2024-01-14 08:35 yongheng999 阅读(299) 评论(0) 推荐(0) 编辑
摘要:1 用户参数意义:并发测试时,解决不同线程读取不同数据的场景 2 jmeter 如何实现? 首先添加线程组,添加前置处理器中的用户参数 3 添加变量,添加用户,变量:参数名称,用户: 参数值 4 引用变量 注意这里要与前面变量名要一致,不然引用会失败 5最后将线程数改为4,点击查看结果树运行一下吧 阅读全文
posted @ 2024-01-13 22:04 yongheng999 阅读(66) 评论(0) 推荐(0) 编辑
摘要:1 首先安装jmeter jdbc 插件 JDBC驱动包下载教程:https://blog.csdn.net/qq_50896685/article/details/129154801 2 安装好后将插件放在lib目录 ext 目录下 3jmeter 如何连接? 首先添加一个jdbc connect 阅读全文
posted @ 2024-01-13 21:09 yongheng999 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示