自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

专注于技术分享的博主

学无止境,分享各种技术,Java,性能,c++,接口,数据库,工具,经验分享

  • 博客(474)
  • 收藏
  • 关注

原创 (28)python+playwright自动化测试-日历时间控件-上

我们在实际工作中,有可能遇到有些web产品,网页上有一些时间选择,然后支持按照不同时间段范围去筛选数据,例如:我们预定火车票或者预定酒店,需要选择发车日期或者酒店的入住与退房时间。早在之前的12306选出发站就简单的提到过,只不过是一带而过,今天就展开详细介绍一下。网页上日历控件一般,是一个文本输入框,鼠标点击,就会弹出日历界面,可以选择具体日期。这一篇,就来介绍一下日历控件是如何用Playwright实现自动化。

2025-08-05 08:05:36 201

原创 (27)python+playwright自动化测试处理单选和多选按钮-总

前边几篇文章是自己在本地弄了一个单选和多选的demo,然后又找了网上相关联的例子演示了一下如何使用playwright来处理单选按钮和多选按钮进行自动化测试,想必大家都已经掌握的八九不离十了吧。这一篇其实也很简单:就是在网上找了一个问卷调查例子,运用前边所学的知识来演示一下。前面的文章中的一些单选和多选的基本概念都介绍了,这里就不做赘述了。直接上项目进行实战。

2025-08-04 08:08:48 220

原创 (26)python+playwright自动化测试处理单选和多选按钮-下

这一篇主要是讲解一下,如何使用Playwright来遍历单选和多选按钮。大致两部分内容:一部分是在本地弄的一个小demo,另一部分,是利用JQueryUI网站里的单选和多选按钮进行实战。

2025-08-04 08:07:24 783

原创 (三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇

上一章中,文章在最后提到网站的反爬虫机制,那么在自己本地做一个网页,没有那个反爬虫的机制,谷歌浏览器是不是就可以验证成功了,就想验证一下自己想法,另外也是相对前边做一个简单的总结。

2025-08-04 08:04:47 12

原创 (三十)-java+ selenium自动化测试- Actions的相关操作下

本文主要介绍两个在测试过程中可能会用到的功能:Actions类中的拖拽操作和Actions类中的划取字段操作。例如:需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。

2025-08-04 08:04:15 6

原创 redis的Java客户端(SpringDataRedis)

可以看到,在redis中存储我们上述案例插入的数据并不是按照我们预期的结果展示,这是因为:RedisTemplate可以接收任意Object作为值写入Redis,只不过写入前会把Object序列化为字节形式,默认是采用JDK序列化。所以我们可以采用自定义序列化方式改成我们想要的样式。出现这种结果的原因是因为:RedisTemplate存在一个自动反序列机制,那么它就需要存起反序列化的对象才能知道对哪个对象进行反序列化,显然这种结果往往我们也不想要,因为会有很大的内存开销,下面我们再进行一个优化方案。

2025-08-03 10:33:00 868

原创 Redis学习 --基本命令篇

在查看Redis所具备的命令时,可以通过在官网:(https://redis.io/commands/)查看redis所具备的命令大全。

2025-08-03 10:32:21 785

原创 Junit5+Maven+RestAssured+Allure接口自动化框架

【代码】Junit5+Maven+RestAssured+Allure接口自动化框架。

2025-08-02 10:06:32 343

原创 redis安装

(1)要设置redis后台启动,就要修改redis的配置文件,配置文件的目录在:安装目录下的redis.conf,如我这里的路径是:/home/lrc/redis/redis-5.0.8/redis.conf。2、新建一个redis文件夹后,在redis文件夹下下载redis安装包:wget http://download.redis.io/releases/redis-5.0.8.tar.gz。(3)重新启动redis:redis-server redis.conf。

2025-08-02 08:02:08 544

原创 应用性能监控:SkyWalking

是一款优秀的 APM 工具(Application Performance Monitoring,应用性能监控),专为微服务、云原生架构和基于容器(Docker、K8S、Mesos)的架构而设计,包含了分布式追踪、性能指标分析和服务依赖分析等功能。

2025-08-02 08:00:26 480

原创 性能监控体系:InfluxDB & Grafana & Prometheus

什么是 InfluxDB?InfluxDB 是一个由 InfluxData 开发的,开源的时序型数据库。它由 Go 语言写成,着力于高性能地查询与存储时序型数据。InfluxDB 被广泛应用于存储系统的监控数据、IoT 行业的实时数据等场景。可配合Telegraf服务(Telegraf 可以监控系统 CPU、内存、网络等数据)。可配合Grafana服务(数据展现的图像界面,将 InfluxDB 中的数据可视化)。InfluxDB 官网什么是时序数据?

2025-08-01 09:43:14 838

原创 创建Django项目不得不重复的那些步骤

项目中新建apps与extra_apps文件夹,apps存放自己创建的app,extra_apps存放第三方app。别忘了把app添加到INSTALLED_APPS!至于取什么名字,那要参考实际前端数据需要了。或者直接用pycharm 专业版创建。这样就可以正常创建站点了。4.2 语言、时区设置。4.3 静态路径设置。

2025-07-31 20:46:31 263

原创 Jmeter 性能测试常用图表、服务器资源监控

步骤 1:安装插件管理器 步骤 2:安装指定的插件 如下图所示:运行过程中的 TPS 统计 如下图所示:Bytes Through Over Time(运行过程中的传输速率) 以下介绍基于 Jmeter 客户端来监控服务器的硬件资源指标。使用步骤如下: 运行性能脚本,该组件会自动监控。性能脚本运行完毕后,可在该组件下方的图表区域,右键保存为 CSV 性能结果数据。

2025-07-31 20:41:03 404

原创 Jmeter 命令行压测、HTML 报告、Jenkins 配置目录

如果在执行命令时 .jtl 文件和 HTML 报告已存在,则必须先删除,否则在运行命令时就会报错。如下图所示:

2025-07-31 20:40:37 892

原创 Jmeter分布式测试

在使用 JMeter 进行性能测试时,如果并发数比较大(比如项目需要支持 10000 并发),单台电脑(CPU 和内存)可能无法支持, 这时可以使用 JMeter 提供的分布式测试的功能,使用多台测试机一起来模拟以达到要求的负载量。控制机和代理机最好分开,由于控制机需要发送信息给代理机并且会接受代理机回传的测试数据,所以控制机自身会有消耗。参数文件:如果使用 csv 进行参数化,那么需要把参数文件在每台 slave 上拷一份且路径需要设置成一样的。要求控制机启动,两台执行机执行,并反馈结果。

2025-07-30 09:17:33 486

原创 高并发,高性能,高可用处理

在计算机中,缓存是存储数据的硬件或软件组件,以便可以更快地满足将来对该数据的请求。存储在缓存中的数据可能是之前计算结果,也可能是存储在其他位置的数据副本。——维基百科缓存本质来说是用空间换时间的思想,它在计算机世界中无处不在, 比如 CPU 就自带 L1、L2、L3 Cache,这在一般应用开发中关注较少,但在一些实时系统、大规模计算模拟、图像处理等追求极致性能的领域,就特别注重编写缓存友好的代码。简单来说,就是代码在访问数据的时候,尽量使用缓存命中率高的方式。服务解耦。

2025-07-30 09:16:36 1165

原创 Jmeter结果处理以及常见异常

工作中用 jmeter 请求一个接口对谈得上会 jmeter 的人似乎都是可以做出来的,但是实际难点是参数化,结果的断言,结果的汇总等。本文将针对结果过滤有效性的情况展开分析。查看结果树的数据刷的哗哗的,其实真正测试中可能失败的比较少,刷刷的难以抓住,而且这个树似乎放不上1000多个数据,所以等执行完再看势必会少数据。你发现问题总不能给研发数据的时候只有截图吧,要不然就去服务端日志里遨游。读取 cvs 的中文都是乱码。断言失败如何把入参保存下来。

2025-07-30 09:14:08 369

原创 jmeter实战案例

图例中的测试流程为:

2025-07-30 09:13:06 369

原创 调用自定义Jar包,完成自定义功能

(3)选择Main Class:选择当前有main方法的类,然后选择"copy to the output directory and link manifest",再选择生成MANIFEST.MF文件的路径,注意此路径不要选择默认的src/main/java路径,这样可能会引起jar包打包失败或者jar包无效的情况,我此处选择的路径是src/main/resources路径。(2)选择Artifacts->选择"+"->选择"Jar"->选择"From moudles with dependcies"

2025-07-29 09:10:09 435

原创 Jmeter的元件使用介绍:(十)逻辑控制器详解

逻辑控制器有可能会打破Jmeter的执行顺序,Jmeter的逻辑控制器有:事务控制器、循环控制器、仅一次控制器、IF控制器、吞吐量控制器、ForEach控制器、随机控制器、While控制器、Include控制器、Runtime控制器、临界部分控制器、交替控制器、录制控制器、简单控制器、随机顺序控制器、Switch控制器、模块控制器。下面介绍几种控制器的使用。例子:事务控制器下添加了4个Http请求,每个请求都是对百度发起请求,只有每个请求都是通过的,事务控制器才会通过,否则事务控制器都是失败的。

2025-07-29 09:05:56 926

原创 Jmeter的元件使用介绍:(九)监听器详解

Jmeter的默认监听器有:查看结果树、聚合报告、汇总报告、用表格查看结果,断言结果、图形结果、Beanshell监听器、JSR223监听器、比较断言可视化器、后端监听器、邮件观察器,本文介绍最常用的监听器:查看结果树、聚合报告,后边还有很多性能分析的监听器,后面用上再去补充。2、样本:总共发给服务器的请求数量,如果模拟10个用户,每个用户迭代10次,那么总的请求数为:10*10 =100次;11、吞吐量: 每秒完成的事务数,即我们常听说的TPS,一般越大证明系统性能越好,是性能测试里的一个重要指标。

2025-07-28 08:50:58 532 1

原创 (二十九)-java+ selenium自动化测试- Actions的相关操作上篇

有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作。比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段。关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,先来看看鼠标悬停出现下拉菜单的情况。

2025-07-28 07:51:46 24

原创 (二十八)-java+ selenium自动化测试-处理模态对话框弹窗

在前边的文章中窗口句柄切换介绍了switchTo方法,这篇继续介绍switchTo中关于处理alert弹窗的问题。很多时候,我们进入一个网站,就会弹窗一个alert框,有些我们直接关闭,有些可能有取消和确定按钮,还有些调查的alert框,可以运行用户输入文字,例如预定一个网站的资讯,输入邮箱地址就可以,每天接收一封该网站推送的邮件。模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。

2025-07-28 07:50:12 25

原创 断言框架:Hamcrest

*** 自定义匹配器,判断年龄范围在 [1,200] 返回 true* 1、继承 TypeSafeMatcher 并指定泛型* 2、重写 matchesSafely、describeTo 方法* 3、提供外部调用的静态方法*/@Override@Override@Test。

2025-07-27 08:53:22 893

原创 Jmeter的元件使用介绍:(八)断言器详解

Jmeter有许多断言器,如:响应断言、Json断言、Beanshell断言、持续时间断言、大小断言、Xpath断言、Html断言。使用过程中需要注意作用域的问题,(1)如果在测试计划下添加断言器,那该断言器会对整个测试计划下的取样器断言(2)如果在线程组下添加断言器,那么对加了断言器的线程组断言(3)如果在取样器添加断言器,那么只对当前取样器断言。对百度发起请求,断言响应信息是否包含“百度”字符串,如果包含即断言成功,不包含则断言失败,自定义失败消息“该请求断言不通过噢噢噢”

2025-07-27 08:51:12 1017

原创 Jmeter的元件使用介绍:(七)后置处理器详解

此处引发了一个思考:我们此处获取的值得都是随机的,也就是说,获取到的title,uniquekey,author_name可能都是在不同新闻下的,在做接口测试的时候,往往是需要保持各个数据都是同一主体信息下,下面案例给出解决方案。如:此处想要获取uniquekey,它的左边界是固定的:"uniquekey",然后我们想要拿的值就用()包起来,所以此处的正则表达式为:"uniquekey":"(.+?本文以“聚合数据”提供的免费API进行讲解,有需要的可以了解下聚合数据所提供的接口信息,账号注册等。

2025-07-27 08:50:43 373

原创 (7)增删改操作与事务控制

2、一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。1、原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。4、持续性(Durability):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。3、隔离性(Isolation):一个事务的执行不能被其他事务干扰。事务的概念:一组逻辑操作单元,使数据从一种状态变换成另一种状态。4、将所有工资少于900的员工的工资修改为1000。

2025-07-26 07:49:17 801

原创 Jmeter的元件使用介绍:(六)取样器详解

Jmeter的取样器有:Http请求、JDBC请求、Beanshell取样器、调试取样器、JSR223取样器、FTP请求、GraphQL HTTP请求、TCP请求、Java请求等,本文主要介绍Http请求、JDBC请求、Beanshell取样器、调试取样器。4、keepalive:一种长连接通信方式,即发出多次请求时,不会频繁的建立连接和断开连接,勾选后,会在请求头带有:Connection:keep-alive的信息,通过此选项可以大大节约了3次握手协议所需的时间。

2025-07-26 07:48:46 1186

原创 Jmeter的元件使用介绍:(五)定时器详解

此文主要介绍几种定时器:固定定时器、同步定时器、统一随机定时器、Beanshell定时器,此外还有偏难的定时器,如:高斯随机定时器、松泊随机定时器、吞吐量定时器,由于目前阶段我们不是助攻性能测试,这些定时器暂不做介绍。前提须知:在使用定时器时,需要特别注意作用域问题,(1)如果放在测试计划下,那就会对整个测试计划生效(2)如果放在线程组下,那就对所放的线程组生效(3)如果放在取样器下,那就只对所放的取样器下生效。测试计划、线程组、取样器下都有定时器,那么取样器在执行时,3个定时器的时间要累加。

2025-07-26 07:48:29 261

原创 Diango接口自动化平台实现(六)

models.py:2 from smart_selects.db_fields import GroupedForeignKey # pip install django-smart-selects:后台级联选择456 # 项目9 name = models.CharField('项目名称', max_length=50, unique=True, null=False)

2025-07-25 08:01:44 587 1

原创 Jmeter的元件使用介绍:(四)前置处理器详解

log.info("=通过ctx形式获取一下Jmeter属性:="+ctx.getProperties().getProperty("sampleresult.default.encoding"));log.info("通过props变量获取下Jmeter的编码属性:"+props.get("sampleresult.default.encoding"));log.info("=通过ctx形式获取一下Jmeter存储的变量:="+ctx.getVariables().get("name"));

2025-07-25 08:00:15 524

原创 Jmeter的元件使用介绍:(三)配置元件详解02

2、Database URL:数据库连接的URL,填写方式为:jdbc:mysql://${host}/${database},此处我们经常需要加上数据库编码格式定义等,如果有时候报错了,可以试下在这里加上一些信息定义。(2)如果定义成001,则数据小于100的数字会变成011,021,031等这种格式存储,1的含义是尾数都固定为1,这种情况下,大于100的数字则会展示前源数字在末尾加个1的数字,不必深究,一般不填默认即可。002等等任意格式都行。其他的选项默认即可,此处不做数据库压测不必关心选项的意义。

2025-07-25 07:59:56 426

原创 Jmeter的元件使用介绍:(三)配置元件详解01

Jmeter的配置元件有非常多,常用的有:信息头管理器、Cookie管理器、用户定义的变量、Http请求默认值、JDBC Connection Configuration、CSV 数据文件设置、计数器等,本文会对这些常用的配置元件一一介绍,还有其他很多配置元件,由于不太常用,此处了解下还有这些不常用的配置元件即可。2、如果在同一线程组下,所有取样器的请求头都用到了相同的某个值如:token等,那就在线程组下添加信息头管理器,这样同一线程组下的所有取样器都能传入相同的请求头了。下面进行元件页面各项值的介绍。

2025-07-24 07:50:59 636

原创 Jmeter常见问题分析(1)乱码问题

1、进入Jmeter的Bin目录下找到jmeter.properties文件编辑,关键字搜索“sampleresult.default.encoding”,把前面的“#”注释符去掉,改成utf-8。Jmeter有时候运行会出现乱码,如下,我在发起个访问百度的时候,出现乱码了。

2025-07-24 07:49:02 207

原创 Oracle(6)子查询

10、查询员工的last_name, department_id, salary.其中员工的salary,department_id与有奖金的任何一个员工的salary,department_id相同即可。11、选择工资大于所有JOB_ID = 'SA_MAN'的员工的工资的员工的last_name, job_id, salary。3、查询job_id与员工id为141号的员工相同,salary比143号员工多的员工,job_id和工资。7、查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名。

2025-07-24 07:48:23 282

原创 Oracle(5)分组函数

avg:平均函数max:最大值函数min:最小值函数sum:求和函数stddev:标准差函数count():计数函数例子1:对员工表查询平均工资、最高工资、最低工资、标准差工资、总工资、总员工数例子2:通过DISTINCT统计员工的部门数量。

2025-07-24 07:48:07 317

原创 Docker 私服

Docker 官方的是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像 到本地,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜像放到公网当中,此时我们就需要搭建自己的私有仓库,来存储和管理自己的镜像。

2025-07-24 07:47:49 156

原创 Jmeter的函数助手使用

后边我们还可以通过安装插件,丰富自己环境的函数库,本文主要介绍Jmeter常用的自带函数使用,如:time函数、timeShift函数、Random函数、RandomString函数、V函数。(1)不填参数,点击生成,则会在剪贴板生成了表示精确到毫秒级别的时间戳,这里的时间戳长度是13位,在想要使用该函数的地方Ctrl+V即可。二:timeShift函数:该函数主要用来获取当前时间的偏移时间,如:当前时间的前3分钟,前3小时,前3天,后3分钟,后3小时,后3天等。

2025-07-23 07:55:35 525

原创 API 文档:Swagger

Swagger UI 允许任何人(无论是开发团队还是最终用户)都可以可视化 API 资源并与之交互,而无需任何实现逻辑。Swagger API 文档是根据 OpenAPI(以前称为 Swagger)规范自动生成的,可简化后端实现和客户端的使用。

2025-07-23 07:54:16 410

原创 lombok:简化 POJO

lombok()提供了简单的注解形式,以简化或消除一些必须要有但又显得臃肿的 Java 代码,尤其是针对 POJO 类。

2025-07-23 07:52:37 440

性能测试调优思路分享+mysql

性能测试调优思路分享+mysql

2025-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除