自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

御良私塾

爱自己是终身浪漫的开始

  • 博客(153)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 MeterSphere 和 Yapi 接口测试功能对比

对接主流项目管理平台,测试过程全链路跟踪管理;列表脑图模式自由切换,用例编写更简单、测试报告更清晰。集 JMeter、PostMan 易用性和功能性于一体;支持 API 管理、Mock 服务、场景编排、扩展协议等。基于 Selenium 浏览器自动化,高度可复用的测试脚本;无需复杂的代码编写,人人都可开展的低代码自动化测试。兼容 JMeter 的同时补足其分布式、监控与报告以及管理短板;帮助团队实现高并发、分布式的性能压测,完成压测任务的统一调度与管理。

2023-12-15 16:34:41 200

原创 MeterSphere v2.10.X-lts 双节点HA部署方案

注意:如果在安装 mysql-community-libs-8.0.32-1.el7.x86_64.rpm 的时候出现下面错误,说明已经安装了mariadb相关依赖,需要卸载。可以执行:yum remove mysql-libs ,清除之前的依赖即可。然后重新执行 rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm 即可。如果已经启动了,没办法初始化大小写的问题了,这个时候可以删除重新初始化,操作如下:(正常配置可以忽略)

2023-09-21 11:23:50 2083

原创 MeterSphere 监控方案

Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。因为暴露内部信息的特性,Actuator 也可以和一些外部的应用监控系统整合(Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等)。

2023-09-21 11:16:52 710

原创 手把手教你排查线上环境Mysql性能问题

InnoDB缓存是MySQL中一个非常重要的性能优化参数,可以提高查询性能。InnoDB缓存的三个重要概念包括:InnoDB缓存读命中率、InnoDB缓存使用率和InnoDB脏块率。InnoDB缓存读命中率越高,表示查询性能越好;InnoDB缓存使用率越高,表示系统内存使用率越高;InnoDB脏块率越高,表示需要写回磁盘的数据越多,会影响性能。

2023-06-14 16:18:17 500

原创 Metersphere之Thrift协议插件开发

JMeter 是 Apache 基金会旗下的一款完全基于 Java 的开源软件,主要用作性能测试,通过模拟并发负载来测试并分析应用的性能状况。JMeter 最初被用于测试部署在服务器端的 Web 应用程序,现在发展到了更广泛的领域。目前 JMeter 已成为主流的性能测试工具。

2023-02-25 19:54:06 899 2

原创 MeterSphere之UI自动化窗口切换

以上是我们日常工作中比较常见的两种场景:iframe嵌套定位新窗口定位MeterSphere的底层实现也是Selenium为工具实现的,所以我们只需要按照Selenium的操作即可。

2023-02-19 23:42:32 471

原创 MeterSphere请求参数乱码问题

以上就是使用MS的一个小技巧。核心就是如果入参是json字符串,需要进行转义。url编码。get请求传递json入参关于jmeter客户端实现中HttpClient4与Java的区别。

2023-02-19 23:42:09 777

原创 使用这个工具,本地调试UI再也不用怕了

官方网站信息很多,详细信息请直接查看。MeterSphere 是一站式开源持续测试平台,涵盖测试跟踪、接口测试、UI 测试和性能测试等,全面兼容 JMeter、Selenium 等主流开源标准,能够有效助力开发和测试团队在线共享协作,实现端到端的测试管理跟踪可视化、自动化测试、性能测试及融入持续交付 DevOps 体系,并充分利用云弹性进行高度可扩展的自动化测试,从而加速高质量的软件交付,推动中国测试行业整体效率的提升。浏览器版本驱动一定要对。MeterSphere服务器要跟本机网络在同一个网络下。

2023-01-28 19:35:26 1315 2

原创 源码启动MeterSphereV2.6版本注意事项(三)

当然从V2.3到V2.6中间经过3个月的迭代,变化很多,不仅功能有新增,并且页面交互也有了很大的改造,可见Metersphere的产品团队和用户一直在不断的成长,希望越来越好。当然,中间新增功能很多,各位可以部署详细去看下。以上截图图一为V2.6之前版本,图二为V2.6版本。通过对比,从视觉上,V2.6版本内容更加丰富了;样式更加规范了,给人的第一感觉就不很乱;从实用性上来讲,做了部分的统计功能,比如工作台->我的代办的统计;测试跟踪->用例数量统计、测试计划统计、定时任务统计等;

2023-01-28 19:25:55 2209 9

原创 MeterSphere离线部署操作手册

自己公司是内网环境,不能访问外网。但是测试人员在操作Metersphere想快速查看文档,没办法访问Metersphere的官网文档,MS的官网文档写的又很详细,所以就想看看能不能本地化直接部署在线文档。调研之后,发现MS的文档是通过MkDocs部署的,所以我们只需把静态资源部署到本地服务上就可以访问了。于是,就想到了两种实现方式:1. 通过github Pages 的方式去实现。 2. 通过nginx服务进行访问。注意:如果是python3的,请执行 pip3 install -r requirem

2022-12-06 11:12:58 1345

原创 MeterSphereV2.3版本Mac本地启动详细教程(含常见错误)(二)

准备好自己的环境拉取metersphere代码,项目根目录下执行 ./mvnw install -N拉取ms-jmeter-core和jmeter-plugins-webdriver 并且执行 mvn clean installmetersphere 根目录下执行:metersphere 根目录下执行:./mvnw clean package 打包跟网络和电脑自身的资源配置有关系(大约30min~2h)

2022-11-18 22:42:40 3744 5

原创 Mac 通过docker安装MinIO

MinIO 在很早的时候就采用了 S3 兼容协议,并且MinIO 是第一个支持 S3 Select 的产品. MinIO对其兼容性的全面性感到自豪, 并且得到了 750多个组织的认同, 包括Microsoft Azure使用MinIO的S3网关 - 这一指标超过其他同类产品的总和。这就意味着 MinIO的用户能够自动的、无限制、自由免费使用和集成MinIO、自由的创新和创造、 自由的去修改、自由的再次发行新的版本和软件. 确实, MinIO 强有力的支持和驱动了很多世界500强的企业。

2022-11-18 22:19:40 2986 2

原创 Metersphere 源码启动并做性能测试(一)

最近了解到在github上比较🔥的一个一站式开源测试平台https://github.com/metersphere/metersphere,一看还是JAVA写的,并且还是开源的,看了下官网文档,覆盖测试管理、接口测试、UI 测试和性能测试等众多功能,所以就想本地跑起来试试。

2022-09-16 12:06:29 3939 2

原创 MeterSphere 之 Idea插件开发

Metersphere 官网支持IDEA插件可以一键导入到MS当中,但一些项目当中自己定义的注解并不支持解析,所以基于这个场景的考虑,自己准备适配一下自定义插件的解析。

2022-08-09 14:13:20 1958

转载 架构之DevOps和CI/CD

CI/CD 开发工作流程分为以下几个阶段: 编码 -> 构建 -> 集成 -> 测试 -> 交付 -> 部署 正如你在上图中看到,「持续集成(Continuous Integration)」、「持续交付(Continuous Deli...

2022-05-22 14:22:18 4302

转载 Java jar打包成exe应用程序(超详细)

Java jar打包成exe应用程序(超详细)

2020-06-02 14:02:36 3257 2

原创 后端调用前端js脚本

后端调用前段js

2019-12-13 15:45:13 2104

转载 JavaMailSender实现邮件发送,附件名出现乱码

JavaMailSender实现邮件发送,附件名出现乱码再创建 MimeMessageHelper对象前加上System.getProperties().setProperty("mail.mime.splitlongparameters", "false");刚开始还以为是中英文编码问题 和 附件名过...

2019-12-12 17:56:03 758

原创 redis运行在docker容器中

redis运行在docker容器中

2019-11-28 16:59:03 251

转载 如何从外网访问VMware虚拟机的Web服务

目的:主机上安装了VMware,VMware上安装了Linux虚拟机(我安装的是Centos7)。我想让虚拟机向外提供Web服务。本文记录如何让我的主机和外网用户可以访问VM虚拟机上的Web。网络环境:单IP服务器1台,提供固定IP1个,固定IP允许公网出入站。VMware有三种网络连接模式:桥接(bridged)、NAT和Host-only。这里需要选择NAT模式,因为虚拟机没有单独...

2019-10-22 18:13:45 2328

转载 java IO体系的学习总结

io体系的总结,写的不错,可以参考一下](https://blog.csdn.net/nightcurtis/article/details/51324105)

2019-08-04 17:21:26 156

原创 获取接口下面所有实现类工具。

package com.example.activity.activitydemo.designmode.factory.simple;import java.io.File;import java.io.IOException;import java.net.URL;import java.net.URLDecoder;import java.util.ArrayList;impor...

2019-07-08 16:59:05 714

原创 深入设计模式—单例模式(五)

深入设计模式—单例模式(五)一、基本概念前言: 说起单例模式,可以说是大家最熟悉的设计模式之一了,很多同学都在学校或者培训机构里面都学习过,这个单例模式也属于创建型设计模式其中一种,理解起来也很简单,简单一句话总结就是:使JVM中只有一个实例。这就是单例模式的核心中的核心。定义: 一个类负责创建自己的对象,并且只能有一个实例,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例...

2019-06-24 00:09:21 157

原创 深入设计模式—责任链模式(四)

深入设计模式—责任链模式(四)一: 基本概念定义:这个设计模式感觉是比较简单的,平时在我们工作中经常遇到,简单解释就是个人责任制,最简单的就是面试了,有的公司一面人事,二面技术,三面boss,这样的情况,什么意思呢?就是说我人事只负责给你找到这个人,了解基本信息之后是符合公司的标准的,那么接下来就是技术了,至于技术怎么样我就不管了,直接交给技术经理面试了,作为技术经理只考量技术就可以了,别的...

2019-06-16 22:58:39 166

原创 深入设计模式—装饰器模式(三)

深入设计模式—装饰器模式(三)话说程序猿是个俗称“人傻、钱多、死的早”的濒临灭绝的生物。 在这个科技飞速发展,人人都可以当网红的时代,各种俊男靓女随处可见。男大当婚女大当嫁,这是个亘古不变的道理,随着社会压力的不断提升,单身贵族越来越庞大,那么如果你要去相亲,该怎么来介绍自己呢?今个就用装饰器模式来讲一讲相亲记。名词解析装饰器模式:就是在原来的基础上添加新的功能,但不改变其结构什么...

2019-06-11 23:51:49 510

转载 适配器模式与装饰器模式的区别

适配器模式对适配器模式的功能很好理解,就是把一个类的接口变换成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式的结构:target(目标接口):所要转换的所期待的接口Adaptee(源角色):需要适配的类...

2019-06-10 19:20:15 1880

原创 深入设计模式—策略模式(二)

深入设计模式—策略模式(二)名词解析:什么叫策略模式?要知道这个就要直接一个词,就是什么叫策略。(百度过来的)策略, 指计策;谋略。一般是指:1. 可以实现目标的方案集合;2. 根据形势发展而制定的行动方针和斗争方法;3. 有斗争艺术,能注意方式方法。 换句话说就是,之前我辰哥有句名言“我有100种方法让你死无葬身之地!”,这里的100中方法就是100种策略。主要解决:在有多种算法相似的...

2019-06-08 19:23:44 221

原创 深入设计模式—适配器模式(一)

深入设计模式—适配器模式(一)一: 名词解析首先我们要知道一个适配器是什么意思(不懂的可以百度,或者翻阅新华字典。),说白了,就是一个接口转化器,就比如我们经常用的笔记本电脑,都有一个充电器,充电器上都有一个俗称“黑匣子”东西,那么这个东西也就是我们的电脑充电线的适配器,主要负责把高压转化成电脑内部能承受的低压。在适配器模式中,分为三个角色:Adapee : 源,也就是被适配者,就相...

2019-06-06 00:35:34 281

原创 @NotEmpty,@NotNull和@NotBlank的区别

@NotEmpty,@NotNull和@NotBlank的区别1 @NotEmpty :不能为null,且Size>02 @NotNull:不能为null,但可以为empty,没有Size的约束3 @NotBlank:只用于String,不能为null且trim()之后size>0...

2019-05-11 16:21:51 13181

原创 使用hutool csv生成csv文件

package com.ziku.custom.qpmall.common;import cn.hutool.core.io.FileUtil;import cn.hutool.core.io.IORuntimeException;import cn.hutool.core.text.csv.*;import cn.hutool.core.util.CharsetUtil;import ...

2019-05-07 21:49:06 11117

转载 SpringBoot 查询时间数据 数据库和返回数据相差8个小时

Spring Boot(Mybatis,Mysql) 查询时间类型的数据比数据库里的记录慢8个小时SpringBoot 查询时间数据 数据库和返回数据相差8个小时

2019-05-06 21:32:32 1763

转载 Java的文件输入输出

第一节 文件读写器基本问题文件操作、读写器的结构总图第二节 文件读写各种类的研究有关文件名及目录名的类、文件操作的一般方法、FileInputStream/FileOutputStream、PipedInputStream/PipedOutputStream、随机文件读写、字符流Reader...

2019-05-06 21:30:51 1806

原创 递归查询(简单记录,加强记忆)

/*** 查询所有的父节点** @param list* @param industryId* @return*/private static List getIndestrys(List list, Long industryId) {if (!CollectionUtils.isEmpty(list)) {return list.stream().filter(industr...

2019-04-28 11:27:45 305

原创 获取请求地址,根据请求地址获取地域信息

package com.ziku.custom.qpmall.util;import cn.hutool.core.text.UnicodeUtil;import cn.hutool.http.HttpUtil;import cn.hutool.json.JSON;import cn.hutool.json.JSONObject;import cn.hutool.json.JSONUti...

2019-04-28 10:38:20 1972

原创 忘掉IF ELSE,“她”你值得拥有。

很多项目中在做逻辑处理的时候遇到很多这样的问题:比如,买东西的时候,商家搞活动,不同等级客户享受不同等级的优惠,这样的话我们只能通过if else … 无限的去判断进行打折优惠处理,但是,如果我们迭代某一个方法的话,这样看起来代码补缴臃肿。废话不多说了,直接上代码,实现简单的策略模式,解决项目中的if else 的问题(简单demo):首先创建一个需要实现的接口,创建一个为我们分发...

2019-04-21 19:59:45 159

转载 BTree和B+Tree详解

 B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。二叉查找树二叉树具有以下性质:左子树的键值小于根的键值,右子...

2019-04-04 18:36:04 43486 31

原创 分布式锁的三种实现方式

1. 分布式锁的三种实现方式基于Redis实现分布式锁基于Redis实现分布式锁应该是比较普遍的,实现起来比较简单.其主要是利用setnx来实现的,具体语法是setnx key val,当该key不存在时就设置value,如果已经存在该key了就直接返回。能这样做主要得益于Redis的单线程结构,能保证setnx是原子性的,其伪代码为: if (conn.setnx(lockKey, val...

2019-04-01 18:36:19 163

原创 MySQL 索引长度和区分度

首先  索引长度和区分度是相互矛盾的,索引长度太短,那么区分度就很低,吧索引长度加长,区分度就高,但是索引也是要占内存的,所以我们需要找到一个平衡点;那么这个平衡点怎么来定? 比如用户表有个字段 username ,要给他加索引,问题是索引长度多少合适?其实我们知道 百家姓里面有百多个姓 ,但是大多数人的姓 集中在前十多个;如果我设置索引索引长度为1,对染占内存少,但...

2019-03-26 19:03:14 244

原创 MySQL 普通索引、唯一索引和主索引

1、普通索引 mysql>ALTER TABLE table_name ADD INDEX index_name ( column )普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHEREcolumn=)或排序条件(ORDERBYcolumn)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数...

2019-03-26 19:02:33 508

转载 Spring Bean的生命周期(非常详细)

Spring作为当前Java最流行、最强大的轻量级框架,受到了程序员的热烈欢迎。准确的了解Spring Bean的生命周期是非常必要的。我们通常使用ApplicationContext作为Spring容器。这里,我们讲的也是 ApplicationContext中Bean的生命周期。而实际上BeanFactory也是差不多的,只不过处理器需要手动注册。 转载请注明地址 http...

2018-12-18 17:13:48 122

27个java常用的工具类

里面是开发人员在开发过程中经常用到的工具类,整理了一下,希望各位喜欢。

2018-02-24

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

TA关注的人

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