jmeter能做jmeter调dubbo接口口的测试吗

JMeter做接口测试 - galen2016的博客 - CSDN博客
JMeter做接口测试
自动化测试
一、安装JMeter
JMeter是Apache开发的基于Java的性能测试工具,本质是对web接口的调用,所以也可以用来做web接口测试。
JMeter官网下载地址:
本例选择的是zip版,运行环境要求Java8或以上,如下图:
JMeter下载后,将.zip文件解压,进入bin目录下,双击ApacheJMeter.jar来启动JMeter,如下图:
二、创建接口测试
1、创建测试任务
(1)添加线程组,一个线程组可以看作是一个测试任务
右击“测试计划”,在快捷菜单中单击“添加”-&“Threads(USers)”-&“线程组”。
(2)设置线程组,如下图:
线程数:设置虚拟用户数,因为是做接口测试,这里设置为1
Ramp-Up Period(in seconds):设置线程数的启动时间
循环次数:每个线程发送请求的个数
2、添加HTTP请求
右击“线程组”,点击“添加”-&“Sampler”-&“HTTP请求”。
3、添加接口
设置“查询嘉宾信息”接口,如下图:
设置“添加嘉宾信息”接口,如下图:
4、添加“察看结果树”,运行后可以看到服务器的响应结果
右击“线程组”,点击“添加”-&“监听器”-&“察看结果树”
点击“运行”按钮,再点击察看结果树,如下图:
text窗口显示请求对象,绿色表示请求成功,响应数据窗口用于显示服务器的响应信息
5、添加断言
为“查询嘉宾信息”接口添加断言,右击“查询嘉宾信息”,点击“添加”-&“断言”-&“响应断言”
设置响应数据
为“添加嘉宾信息”接口添加断言,如下图:
6、运行接口测试
添加“断言结果”,右击“线程组”,点击“添加”-&“监听器”-&“断言结果”
点击“运行”按钮,并查看断言结果
可以在断言窗口看到断言的结果,这里“添加嘉宾信息”运行失败了,这是因为前面察看结果树已经运行过一次,该嘉宾已经添加过了,所以会失败
我的热门文章前面开了一篇讲了Jenkins+jmeter+ant的使用,但没有说到具体怎么投入到项目使用,主要介绍了接口测试定义,流程和环境部署,所以我今天要说的就是我是怎么将这个方案投入到实际中使用的。这套方案主要用于相互接口之间无业务关联的测试。
结构设计与数据准备
接口测试的流程
  1、 项目启动后,测试人员要尽早找到开发人员拿到接口测试文档  2、 获取接口测试文档后,就可以进行接口用例的编写和调试  3、 接口用例编写调试完成后,部署到持续集成的测试环境中,  4、 设定脚本运行频率,告警方式等基本参数,进行接口的日常监控  5、 每日进行接口脚本的维护更新,接口异常的处理
jmeter测试过程
jmeter+jmeter+ANT 整体结构设计
&我的测试数据是用CSV管理的,包含域名、url、方法(get还是post)、 参数 、预期结果(可以是多个),使用excel创建然后转化程csv格式,这样一来我们只需要在excel中维护我们的用例就好了
&从数据格式可以看出,做了用例的执行标识,选中为YES时才执行,NO时不执行,这是一个用例选择执行的简单设计,还有请求的方法也是可以选择的,目前项目中的主要用POST和GET,除此之外之后要获取的还有用例名,调用的接口和具体的测试请求数据,这就是使用excel管理测试用例的模块
&注意:包含中文字符jmeter取值可能会报错,修改${jmeterhome}/bin/jmeter.profile&
# The encoding to be used if none is provided (default ISO-8859-1)
#sampleresult.default.encoding=ISO-8859-1
sampleresult.default.encoding=UTF-8
配置基本完成,之后就是项目的目录架构:
./Test_Play/目录用来放Jmeter生成的Case文件(编写时注意,不要用绝对路径,否则后续维护成本会提高)
./Test_suit/目录用来放Jmeter测试需要的相关配置文件
./资源/目录用来存放项目相关的一些文档信息
build.xml文件,Ant的配置文件
阅读build.xml文件,会发先还有一个自动生成的目录./report,该目录下有两个目录jtl以及html,用来放置不同格式的测试报告。
添加一个CSV Data Set Config,把我们的文本路径填进去
添加BeanShell PreProcessor和BeanShell PostProcessor,主要 目的是为了处理中文乱码
添加if控制器,根据case_satus判断该条用例是否执行,根据Ament判断是HTTP请求还是JAVA请求,根据method,来判断执行get还是post的请求
设置断言,判断我们的结果是否正确
根据用例数,设置循环次数
可使用java直接取值判断有多少条用例进行执行
String filename=vars.get("JF_API_data");
String [] datalist=new String[20];
InputStream openfile = new FileInputStream(filename);
Workbook wb = Workbook.getWorkbook(openfile);
Sheet FirstSheet = wb.getSheet(0);
int totalRows=FirstSheet.getRows();
int rows=totalRows-1;
//减1是因为我标题行不取,为了后面从第二行开始取
String data=rows.toString();
vars.put("row",data);
//用例行数
wb.close();
运行调试,查看结果
接入jenkins
脚本设计完以后,接入jenkins用ant去执行jmx就可以了,至于怎么用可以看我上一篇文章,报告预览:
Views(...) Comments()用Jmeter做接口测试 - 小刀刀 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
用Jmeter做接口测试
& 10:02:40
/ 个人分类:
&&& 最近做,服务层的代码先是用junit写,因为项目时间紧,加上流程经常变化,代码写的很粗糙,需要不停的准备不同的测试数据,不能进行自动化的执行,一个方面是流程确实需要不同的测试数据,另外一个方面是,测试代码中没有对测试数据进行处理,所以会造成这样的情况,不过为了测试流程的正常性,这些进行测试也是可以的。&&& 在开发代码都稳定后,是用这样的测试方法肯定是不行的,也考虑过重构单元测试代码,但是因为项目调用到好几个服务,但是只有三个入口,而测试的主要目的是进行接口测试,单元测试只是辅助开发进行测试,所以如何进行更优化的接口测试是主要的。&&& 因为对熟悉,再加上之前是用Jmeter做过HTTP协议的接口测试,所以考虑用jmeter来做接口测试,主要是使用Jmeter的请求,编写相应的测试代码,在jmeter的代码中,调用入口方法,而方法需要的参数通过java请求的参数传递,这样可以使用参数化对传递的参数进行参数化,为了快速查找问题,在代码中,使用Jmeter提供的方法设置了请求的数据以及相应的数据,而为了验证测试结果是否通过,在代码中取得发放返回值,然后和期望值进行比较,如果一致,则测试结果为真,否则为测试失败。&&& 当然仅仅是在代码中对方法返回结果进行比较还不够,还需要到去验证相应的数据是否存在,是否修改,这就用到了jmeter的beenshell断言,另外,因为测试结果也会在页面中体现,所以也增加了http请求,设置断言,断言web页面的值和期望一致。&&& 通过以上方法,可以实现使用Jmeter进行接口测试,然后通过和ANT集成,每次在修改底层代码后,跑一遍测试脚本,基本上可以确认是否存在问题。&&& 另外使用jmeter准备的测试脚本,可以用来做,或者用来准备数据也是非常的方便!&&& 以上只是对流程进行描述,没有相应的代码,看的也学会云里雾里,后面会把代码贴上来!搭建dubbo测试环境 - 简书
搭建dubbo测试环境
这个测试环境的搭建基于上一篇的基础上开始的。(补充说明,在那边文章之后又重新编译了2.4.10的源码,这个测试是基于2.4.10版本的)
注册中心的安装
首先先安装一个zookeeper,至于zookeeper的安装这里就不多做介绍了,可自行查找。
监控中心安装
进入dubbo-simple/dubbo-monitor-simple/target目录,可以看到dubbo-monitor-simple-2.4.10-assembly.tar.gz文件。
tar -zxvf dubbo-monitor-simple-2.4.10-assembly.tar.gz
解压后进入目录,
vim conf/dubbo.properties
修改注册中心的配置,注释掉广播地址,改为zookeeper作为注册中心,
#dubbo.registry.address=multicast://224.5.6.7:1234
dubbo.registry.address=zookeeper://127.0.0.1:2181
其它参数如有需要可自行修改。(注意:如果是本机测试,将monitor和admin都撞倒一台机器上时,可以将dubbo.jetty.port=8083)执行:
sh bin/start.sh
可启动mointor。访问地址: (默认为是修改后的值)
管理员控制台安装
进入源码编译目录,进入到dubbo-admin/target,可以看到dubbo-admin-2.4.10这个文件夹。这是web项目,需要运行在web容器下,我这里是运行到tomcat下。这个默认使用zookeeper作为注册中心的,不过配置的本机地址,如果需要修改为其他ip,只需修改WEB-INF/dubbo.properties下的配置地址即可。
dubbo.registry.address=zookeeper://127.0.0.1:2181
启动tomcat即可。访问地址: (根据自己的tomcat配置来访问)
运行provider
进入dubbo-demo/dubbo-demo-provider/target,
tar -zxvf dubbo-demo-provider-2.4.10-assembly.tar.gz
修改注册中心的配置地址为zookeeper,如下:
#dubbo.registry.address=multicast://224.5.6.7:1234
dubbo.registry.address=zookeeper://127.0.0.1:2181
sh bin/start.sh
来启动provider服务。
运行consumer
进入dubbo-demo/dubbo-demo-consumer/target,
tar -zxvf dubbo-demo-consumer-2.4.10-assembly.tar.gz
修改注册中心的配置地址为zookeeper,如下:
#dubbo.registry.address=multicast://224.5.6.7:1234
dubbo.registry.address=zookeeper://127.0.0.1:2181
sh bin/start.sh
来启动consumer服务。
时间有限,不要活在别人的世界里!

我要回帖

更多关于 jmeter dubbo接口 的文章

 

随机推荐