自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Grafana使用杂记(二)-- Grafana监控模板参数配置和告警

目录1. 背景2. 环境3. 模板参数:1. 背景Grafana作为一个开源的度量分析和图表化展示工具,可以对接多种数据源,通过对采集到的数据处理后,进行可视化展示,还能设置告警条件进行不同方式的告警。在使用过程中,遇到一些限制的问题,记录在此以供其他需要的朋友们参考。在这篇文章中,使用Grafana对接数据源Prometheus,并设置监控告警条件进行邮件通知。2. 环境Grafana v6.3.0Prometheus v2.12.0node_exporter v0.1

2020-08-03 13:57:50 8

原创 记一次网关服务性能测试中遇到的几个问题

目录1. 背景2. 工具3. 问题4. 参考资料1. 背景对网关服务nginx进行并发测试,分别使用了JMeter和nGrinder工具进行测试。在测试过程中遇到工具本身、参数配置等问题。2. 工具JMeter v5.2.1KongnginxnGrinder-3.4.33. 问题1)JMeter:请求响应中出现类似提示:socket closed。原因:在JMeter中发送HTTP请求时,缺省选择 HttpClient4 实现。在并发量较大时,可能出现

2020-07-18 11:23:52 47

原创 Grafana使用杂记(一)-- 缺少图表插件

1. 背景Grafana作为一个开源的度量分析和图表化展示工具,可以对接多种数据源,通过对采集到的数据处理后,进行可视化展示,还能设置告警条件进行不同方式的告警。在使用过程中,遇到一些限制的问题,记录在此以供其他需要的朋友们参考。2. 环境Grafana v6.3.03. 问题1) 缺少饼图插件监控模板中出现类似报错“Panel plugin not found: grafana-piechart-panel”。联网的条件下,直接安装插件:# grafana-cli pl

2020-07-18 09:25:41 51

原创 JMeter+Grafana+InfluxDB性能监控平台(二)

背景:接上一篇JMeter+Grafana+InfluxDB性能监控平台(一)总结:1. 设置的Alert状态不对Alert设置正确且没有触发告警条件时,图标是绿色心形。如下图所示:触发告警条件则图标变为红色心形。原因可能有:1)Alert Rules中该Alert没有开启2)Query中的SQL语句有误。不容易识别出来的误区有:a.引号不是英文输入法下的双引号...

2020-03-18 14:08:31 73

原创 JMeter+Grafana+InfluxDB性能监控平台(一)

背景:JMeter的性能测试监控和报表一直被诟病,并且测试的数据也无法很好保存和展示。这里介绍一种JMeter稳定性测试监控平台的环境搭建方法以及问题的记录。环境:JMeter v3.2 + Grafana v6.3.0 + InfluxDB v1.6.2步骤:一、安装1.安装InfluxDB1)这里采用离线方式安装:# yum install influxdb-1.6.2.x...

2019-09-02 13:55:06 221

原创 JMeter插件 -- 测试Redis的插件(二)

背景:接上一篇JMeter对接Redis(一)环境:Win7 + JMeter5.2.1 + Redis5.0集群方法:3.连接Redis集群上面两种方法在对接Redis单机时,是ok的。但当对接Redis集群时,会出现部分key值查询不出来value的情况。这是由于Jedis仅适用于Redis,要对接Redis集群,则需要用JedisCluster。由于没有现成的插件或者j...

2020-06-01 09:27:44 124

原创 JMeter插件 -- 测试Redis的插件(一)

背景:Redis是互联网应用中常用的缓存数据库,测试时,常常需要连接Redis存取数据。这里介绍结合JMeter连接Redis的方法。环境:Win7 + JMeter5.2.1 + Redis

2020-05-07 09:26:59 134

原创 Katalon Recorder--Web页面自动化测试工具(二)

背景:前文Katalon Recorder--Web页面自动化测试工具(一) 介绍了Katalon Recorder的安装和使用。这一篇,介绍Katalon Recorder使用中一些知识点参考资料:https://blog.csdn.net/dclingcloud/article/details/90509824 -- katalon+autoit上传https://docs....

2020-04-02 17:31:00 452

原创 Katalon Recorder--Web页面自动化测试工具(一)

背景:web页面自动化测试一直是“叫好不叫座”。分析其主要原因,就是,web页面元素变化快,代码需要不断维护,自动化测试稳定性着实不好。各路“老板”们看不到实际效果,开发和维护代码的测试攻城狮“苦不堪言”。那么,web页面自动化测试中,有没有“银弹”呢?---- 并没有。但,没有“王者”,还是有“青铜”(其实,Katalon比青铜高级的)。能不维护那么多的代码,又能快速实现对web页面的自动化,前...

2020-03-10 15:59:04 445

原创 RobotFramework中的使用小技巧

背景:记录一些在RF的使用中的小技巧,帮助提升代码的稳定性、精简代码。会持续更新~~技巧1:变量RF中存在3种变量,可以通过变量标记的符号做简单区分:$:变量。可赋值为字符串类型、整型、布尔类型等 @:列表。通过使用 Create List 关键字,可赋值列表 &:字典。通过使用 Create Dictionary 关键字,可赋值字典使用举例:$${name} ...

2020-02-09 12:56:29 155

原创 Gatling--性能测试工具

背景:近期调研和使用了一下Gatling,这款功能强大的性能测试工具,这里把学习到的一丢丢知识点做简单总结和整理环境:gatling-charts-highcharts-bundle-3.31步骤:一、简介Gatling这款测试工具,具有高性能高稳定性,方便的代码维护管理等特点。官网(https://gatling.io/)的介绍中,Gatling分为免费版和企业版。这里使用的是免...

2020-01-17 19:33:35 167

原创 Gatling+Jenkins流水线实现性能测试自动化

背景:Gatling作为一款新兴的性能测试工具,具有高性能高稳定性,方便的代码维护管理等特点。环境:gatling-charts-highcharts-bundle-3.31 + jenkins步骤:一、安装1.安装Gatling官网(https://gatling.io/open-source/start-testing/)下载免费安装版,解压即可。前提是,操作系统已安装Ja...

2019-12-30 14:08:24 227

原创 JMeter组件之命令行保存聚合报告测试结果

背景:通常,JMeter执行的结果可以通过“查看结果树”、“聚合报告”、“非命令生成的结果报告”等多种方式进行查看、保存。但是,在这其中,“聚合报告”中保存的结果,如遇中文,会产生恼人的乱码。本文介绍的方法可以解决这个乱码的问题。环境:Win7(64bit)+ JMeter3.2步骤:将“聚合报告”中的数据保存为csv文件有两种方式。1. 在“聚合报告”中添加保存的路径以及文件名。...

2019-11-14 14:37:04 831

原创 JMeter插件 -- 基于gRPC协议的插件开发(三)

背景:接上一篇JMeter二次开发之gRPC插件开发(二)步骤:1.JMeter取样器package grpc.client.jmeter;import com.java.grpc.stub.HelloReply;import grpc.client.GrpcClient;import io.grpc.StatusRuntimeException;import org....

2019-10-07 11:27:11 573

原创 JMeter插件 -- 基于gRPC协议的插件开发(二)

背景:接上一篇JMeter二次开发之gRPC插件开发(一)步骤:1. 创建拦截器package grpc.client;import io.grpc.*;import io.grpc.ForwardingClientCall.SimpleForwardingClientCall;import io.grpc.ForwardingClientCallListener.Simpl...

2019-10-07 11:25:34 410

原创 JMeter插件 -- 基于gRPC协议的插件开发(一)

背景:为了项目需要,需要对基于gRPC协议的模块进行性能测试。当前没有直接的工具可以使用,可以通过代码实现,这里选择了借助JMeter的测试特性,通过对JMeter进行二次开发完成这一需求的工具。环境:Win7(64bit)+ JMeter3.2 + JDK 1.8.0_111 + IntelliJ IDEA步骤:1.gRPC概念GRPC是google开源的一个高性能、跨语言的RP...

2019-10-07 11:24:10 918

原创 JMeter组件之用户定义的变量

背景:JMeter有好几种参数化的方式,其中一种就是 -- 用户自定义变量。本篇介绍该元件的基本使用和“另类”使用。环境:Win7(64bit)+ JMeter5.1.1步骤:1.作用范围用户自定义变量(User Defined Variables)属于“配置元件”。因此,当其在线程组下与其他元件同级时,按照JMeter的顺序,是最先执行的。如果是在其他员件层级下方,在该元件层级范...

2019-09-10 12:05:43 628

原创 LR或性能测试中的大杂烩

背景:记录一些在LR使用中遇到的问题,或者容易忘记的性能测试的概念。记录了一段时间,积攒了一些问题。后面会持续更新问题:1. 为什么LR录制时间比浏览器看到的时间更长:参考:https://www.cnblogs.com/wuyepiaoxue/p/5661181.html1)对时间的解释:DNS Resolution:浏览访问一个网站的时候,一般用的是域名,需要DNS服务器把...

2019-08-29 13:59:37 57

原创 微服务虚拟化工具--Hoverfly

背景:早些时候写过一篇关于Mountebank的文章,介绍其环境搭建的过程(Mountebank之安装篇)。因为个中原因,后面项目中并没有继续使用这款工具。今天要介绍的这篇Hoverfly,其实与Mountebank类似,它们都是实现(微)服务虚拟化的工具之一。环境:Win7 + JMeter3.2 + Hoverfly v1.1.1步骤:1.什么是微服务?随着软件技术的发展,各种...

2019-08-22 11:27:29 480

转载 【转】JMeter组件之HTTP请求--上传文件(三)

**背景:**在JMeter组件之HTTP请求–上传文件和JMeter组件之HTTP请求–上传文件(二)中,介绍了如何使用JMeter调用上传文件接口进行文件上传。在这一过程中,看到网上有一些好的资料,这里转载过来扩散一下。**转自:**https://blog.csdn.net/sunknew/article/details/82843691 ...

2019-07-26 16:58:16 194

原创 Python随机生成字符串

背景:将不同类型的字符串(大小写字母、数字、特殊字符、中文),随机放在一起,可以指定不同类型字符串长度。如,全为大写字母;15个数字;大小写字母、数字、特殊字符、中文各1个环境:Windows7 + Python3.6.6代码:import stringimport randomclass RandomStrings: def random_strings(...

2019-07-10 19:56:06 253

原创 JMeter5.x分布式测试环境搭建

背景:虽然前面已经写了一篇JMeter分布式环境的文(JMeter分布式测试环境搭建),但从4.x版本后,JMeter做了一些改变,加入了SSL认证。有一些步骤发生了变化,也遇到了一些新的问题。这里做个记录和总结分享出来。环境:1.操作系统:Windows72.JDK:java version "1.8.0_111"3.JMeter: 5.1.1前提条件:1.Master节...

2019-06-23 10:43:16 1368

原创 契约测试(四)-- 代码实现篇(下)

背景:网上有不少介绍这种测试方法的概念和原理的文章,但实现的比较少。本文通过自己的方法从零开始搭建工程,实现了一个例子。在此也感谢朋友的帮助,是参考了TA的代码才能入了这道门。环境:JDK1.8 + Gradle4.6 + Postgres9.6 + pact_broker步骤:1. 根据契约测试的原理:来自两个服务之间的“契约”。因此,首先需要做的是,启动Provider端的服务。...

2019-05-10 19:52:17 542 14

原创 契约测试(三)-- 代码实现篇(中)

背景:网上有不少介绍这种测试方法的概念和原理的文章,但实现的比较少。本文通过自己的方法从零开始搭建工程,实现了一个例子。在此也感谢朋友的帮助,是参考了TA的代码才能入了这道门。环境:JDK1.8 + Gradle4.6 + Postgres9.6 + pact_broker步骤:这里接上一篇的步骤。契约测试(二)-- 代码实现篇(上)四、建立Consumer。Consumer中包括...

2019-04-04 19:23:40 639 4

原创 契约测试(二)-- 代码实现篇(上)

背景:网上有不少介绍这种测试方法的概念和原理的文章,但实现的比较少。本文通过自己的方法从零开始搭建工程,实现了一个例子。在此也感谢朋友的帮助,是参考了TA的代码才能入了这道门。环境:JDK1.8 + Gradle4.6 + Postgres9.6 + pact_broker步骤:一、建立父工程。本工程采用Gradle的父子工程,父工程为Demo,两个子工程分别为Provider和Con...

2019-04-04 16:13:32 669

原创 契约测试(一) -- 环境搭建

背景:关注这种测试方法很久,却一直困于各种情况,没有启动。最近终于花了一些时间搭建了环境,并且运行出一个简单Demo。在此做一个记录。环境:JDK1.8 + Gradle4.6 + Postgres9.6 + pact_broker步骤:网上有各种介绍介绍的文档,较为推荐的是下载Postgres和Pact-Broker的Docker镜像部署。因为公司限制,这里采用“混血”的方式。即,使...

2019-03-20 16:38:11 999

原创 JMeter组件之HTTP请求--上传文件(二)

背景:在JMeter组件之HTTP请求--上传文件中,介绍了如何使用JMeter调用上传文件接口进行文件上传。但最近在用这种方式使用的时候遇到新的问题。这里简要记录如何解决的这个问题。步骤:基本的步骤详见JMeter组件之HTTP请求--上传文件问题:文件未能正常上传,接口返回错误码:400先列举走的“弯路”:1. 选择客户端的实现方式。在HTTP请求的Advanced->C...

2019-02-25 14:53:07 808

原创 Mountebank之安装篇

背景:因项目需要接触到Moutebank这个工具。主要也是为了模拟接口的返回,这里主要用于模拟微服务间的接口。可参考:使用Flask模拟服务器返回(一),使用Flask模拟服务器返回(二),HttpRunner使用中的一些问题记录环境:Windows7 + Mountebank(v1.16.0)+ Sublime Text3.0 + 若干Sublime插件步骤:1.下载:网上文章大...

2019-01-31 10:48:10 405 1

原创 使用Flask模拟服务器返回(二)

背景:继续使用Flask模拟服务器的返回。在此中,遇到一些新的问题。环境:Python(3.6.6)+ Flask(1.0.2)+ Flask-SQLAlchemy(2.3.2)+ gunicorn(19.9.0)安装:参考:使用Flask模拟服务器返回(一)基本步骤同(一)。这里记录下中间遇到的一些问题。问题:1.添加返回头信息。1)将token添加到response...

2018-12-07 17:45:35 292

原创 YSlow--Web前端性能测试工具

1. 介绍YSlow是Yahoo发布的一款基于FireFox的插件,这个插件可以分析网站的页面,并告诉你为了提高网站性能,如何基于某些规则进行优化。它可以分析任何网站,并为每一个规则产生一个整体报告,如果页面可以进行优化,则YSlow会列出具体的修改意见。同类工具还有Google的插件PageSpeed。2. 安装YSlow现在支持包括FireFox、Chrome、Safari等多种浏...

2018-11-29 14:48:29 1567

原创 LR中错误码集合

背景:LR使用中,经常会使用遇到一些错误码,这里列出常用的错误码,会持续更新。1. Error -84800 :insufficient records for parameter 'users' in table to provied the vuser with unique data提示原因:参数不足。是由于Vuser设置为5个用户,但在controller中,由于疏忽,“Star...

2018-11-12 16:59:21 705

原创 RabbitMQ性能测试工具的使用

背景:最近看RabbitMQ相关知识,顺便了解了一下他的性能测试工具。RabbitMQ Performance Testing Tools(PerfTest)是一款开源的性能测试工具。工具:rabbitmq_server-3.7.8 + rabbitmq-perf-test-2.2.0 + Window71. RabbitMQ基本概念RabbitMQ Broker: 也叫broke...

2018-10-19 20:21:14 4239

原创 HttpRunner使用中的一些问题记录

背景:在了解接口自动化框架的过程中,看到有介绍说HttpRunner是一款不错的开源框架。所以,简单试用了一下。虽然有中文使用手册的帮助,但在结合自己项目接口的使用中还是遇到一些问题。在解决这些问题之后,也对这一框架的使用有了更深的了解。环境:Python3.6 + HttpRunner1.5.13 + har2case 0.1.10问题:1. 录制脚本时,保存成 HAR 格式的文件。...

2018-10-10 10:42:27 7969 2

原创 JMeter分布式测试环境搭建

1. 背景在使用JMeter进行性能测试时,如果并发数比较大(比如,需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用JMeter提供的分布式测试的功能。在测试之前,需要做好如下几项检查:系统上的防火墙被关闭或者正确的端口/ 服务被打开 所有的客户端都在同一个子网上 确保JMeter可以访问服务器 确保在所有系统上使用了相同版本的JMeter和Java。...

2018-09-07 11:05:24 3970

原创 自动化测试中的反省与总结

背景:这是在公司UI自动化项目结束后,个人回顾整个项目的过程时,发现走过的弯路或者个人觉得可以改进的地方。1. 模块划分:(这个需要有一定的业务基础,梳理出初始配置,尽量将各模块划分地高类聚低耦合)        页面本身就存在复杂的业务逻辑。无论是自动化测试还是手动测试,都应该首先划分出不同功能模块,理解模块间的关联,排列模块优先级。因为这中间存在各种业务数据的关联,会直接影响到后面自动...

2018-09-05 17:47:21 535

原创 简单的生成数据

1.目的:因为需要在LoadRunner中使用到大量有规律的数据,使用excel虽然也能制作出这些数据,但是总觉得眼睛都快花掉了,所以整了一小段代码来按照要求自动生成。这个规律是:要复制N个目标数据。比如,目标数据有a, b, c,然后要依次生成5个a, 5个b, 5个c。2.背景:python3.63.代码:import xlrdfrom xlutils.copy import ...

2018-09-03 14:22:13 263

原创 LR中函数的使用

背景:本文总结作者在使用LR时,常用的函数。会持续更新~~~****** web_reg_save_param获取array的处理1)不要忘记F1,查看LoadRunner的帮助2)上代码。这里是要通过找到匹配的userName获取其IDAction(){ int i, result; char userIdParam[50]; // 保存正...

2018-08-21 10:40:19 693

原创 LR上传和下载文件

背景:测试中,有一个模块涉及上传和下载文件。步骤:这里直接上脚本:*** 上传文件 ***web_submit_data("upLoadFile", "Action=https://{domain}:10001/v1/worksheet/upLoadFile/", "Method=POST", "EncType=multipart/form-data", ...

2018-08-15 17:07:16 715

原创 LR11录制回放HTTPS时的问题

背景:使用LoadRunner11录制HTTPS网页,测试性能问题:录制时,出现启动了浏览器但地址栏无URL,页面空白;或者能打开页面但无event的情况。解决方法:1. 首先参考网上的配置:https://blog.csdn.net/misschen906880249/article/details/53811691https://www.cnblogs.com/baihui...

2018-08-14 17:17:26 1394

原创 JMeter组件之HTTP请求--上传文件

背景:JMeter3.2 + fastjson-1.2.47,使用HTTP请求测试上传文件的接口步骤:1. 添加HTTP请求2. 配置HTTP请求Basic方法:POST路径:/v1/uploadFile勾选:Use multipart/ form-data for POSTparameters: 如图所示Files Upload: 点击添加--〉浏览;填写参数...

2018-08-08 20:21:08 6584 4

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