jmeter实现api自动化测试

2023年 7月 16日 106.2k 0

1.介绍

文章介绍了通过jmeter事先录制api脚本,然后使用ant进行编译,最后生成html的接口测试报告,并且通过web展示。

这种测试主要应用于持续集成环境中,在运维部署代码完成之后,迅速对所有接口或者部分接口(录制一些过程,比如登录,购物)进行测试,测试完成之后把html的测试报告访问地址以邮件的形式发送给相关人员。

2.环境安装

(1)安装java

tar xf jdk-8u65-linux-x64.tar.gz -C /usr/local/
cd /usr/local/
ln -s jdk1.8.0_65/ jdk
echo "JAVA_HOME=/usr/local/jdk" > /etc/profile.d/java.sh
echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile.d/java.sh 
source /etc/profile.d/java.sh
java -version

(2)安装jmeter

wget http://apache.fayea.com//jmeter/binaries/apache-jmeter-3.0.tgz
tar xf apache-jmeter-3.0.tgz -C /usr/local/
cd /usr/local/
ln -s apache-jmeter-3.0/ jmeter

(3)安装ant

tar xf apache-ant-1.9.7-bin.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-ant-1.9.7/ ant

优化ant执行路径

echo "export ANT_HOME=/usr/local/ant" > /etc/profile.d/ant.sh
echo "export PATH=$ANT_HOME/bin:$PATH" >> /etc/profile.d/ant.sh
source /etc/profile.d/ant.sh

3.准备工作

(1)使用jmeter添加需要测试的api,并且添加了断言,判断接口的返回值是否正确。线程组设置属性均为1。由于我使用的是我司的接口做测试,一些内容做了屏蔽。

image001
如果执行测试没有问题,就把测试计划保存为一个jmx的文件,这个文件中的内容就是自动化接口测试的内容。

(2)将jmeter所在目录下的extras子目录里的ant-Jmeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到”org.programmerplanet.ant.taskdefs.jmeter.JMeterTask”这个类,从而成功触发JMeter脚本

cp /usr/local/jmeter/extras/ant-jmeter-1.1.1.jar /usr/local/ant/lib/

(3)将jmeter.results.shanhe.me.xsl放到jmeter的extras目录下

说明:jmeter.results.shanhe.me.xsl文件是jmeter生成测试报告的web页面,也可以使用其他样式的页面替换,如果不使用此样式文件,则是jmeter默认样式。

4.环境配置

修改jmeter目录下的bin/jmeter.properties文件,修改内容如下

image002
创建一个工作目录result_log放测试报告,script存放录入接口生成的jmx文件

mkdir /data/jmeter-test/{result_log/{html,jt1},script} -p

复制两个图片:

cp /usr/local/jmeter/extras/collapse.png /usr/local/jmeter/extras/expand.png /data/jmeter-test/result_log/html/

设置build.xml

[root@node1 jmeter-test]# cat build.xml 


    
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
    
    
        
        
            
            
        
    
    
        
        
        
            
                
                
            
        
    

最后jmeter的工作目录是这样的结构

image003

执行ant构建:出现SUCCESSFUL表示构建是成功的

image004

5.web页面显示测试报告

由于测试报告是生成在linux平台,无法直接看到测试报告,所有需要搭建一个apache或者Nginx将测试报告通过web页面的形式提供出来。
软件安装,并删除默认配置文件

yum -y install httpd
rm -f /etc/httpd/conf.d/welcome.conf

将配置文件中的如下内容进行修改

yum -y install httpd
rm -f /etc/httpd/conf.d/welcome.conf

修改为

DocumentRoot "/data/jmeter/result_log/"

启动服务:

/etc/init.d/httpd start

访问web界面出现如下内容:

image005

一个接口故障的示例:

image006

 

相关文章

对接alertmanager创建钉钉卡片(1)
手把手教你搭建OpenFalcon监控系统
无需任何魔法即可使用 Ansible 的神奇变量“hostvars”
openobseve HA本地单集群模式
基于k8s上loggie/vector/openobserve日志收集
openobseve单节点和查询语法

发布评论