Python自动化测试-Jmeter做接口测试实际案例分享

Posted 软件测试自动化测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自动化测试-Jmeter做接口测试实际案例分享相关的知识,希望对你有一定的参考价值。

 本文主要针对http接口进行测试,使用Jmeter工具实现。   

Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,笔者使用Jmeter工具从对Http接口的测试进行入手。

本节主要介绍如何通过录制的方法对http接口进行测试,下节将介绍如何通过.jmx脚本的方式对接口进行测试。  

 1.介绍什么是接口现在最常用的2种接口就是webservice和http api接口,webservice 接口是走soap协议通过http传输,请求报文和返回报文都是xml格式,可以通过jmeter、soapui工具进行测试;http api接口是走http协议通过路径来区分调用的方法,请求报文格式都是key-value形式,返回报文一般是json串,常见的请求方式有get、post请求等;

2.介绍http协议常见的2种请求方式的区别  

get和post请求:     

get请求:从指定的服务器中获取数据,直接在浏览器里输入就可以获取信息;   

get请求特点:        

(1)get请求能够被缓存        

(2)get请求会保存在浏览器的浏览记录中        

(3)以get请求的url能够保存为浏览器书签        

(4)get请求有长度限制       

(5)get请求主要用以获取数据

 post的请求:提交数据给指定的服务器处理,可以向服务器发送修改请求,从而修改服务器的,需要借助测试工具;     
post请求特点:        

(1)post请求不能被缓存        

(2)post请求不会保存在浏览器浏览记录中          

(3)以post请求的url无法保存为浏览器书签        

(4)post请求没有场地限制  
3.录制脚本的方式(本文以测试平台为例进行讲解)

3.1利用badboy进行录制badboy录制的优点在于:不会产生大量无用请求,且具有可视化的能力。 实现步骤如下:

(1)首先打开badboy,这里以测试平台为例"http://10.0.0.113:81/index/",这边可以输入你需要录制的域名或ip 图中标1的是录制开关按钮,录制状态 标2的地方输入域名或IP 标3的地方在请求的时候会出现录制的脚本信息  

 (2)点击开始录制,域名链接成功后,右侧框内会出现测试平台的界面  

 (3)在界面内进行想要录制的操作,左侧的脚本栏中会自动生成录制过程,将你所进行的操作以及结果录制下来,简单的做一个小demo  

(4)录制完成后点击结束按钮,可以右键点击工程进行回放某一步操作或者回放整个操作(badboy还具有打断点,多次执行脚本等很多的功能,此处不做详细讲解)。

(5)录制完成之后,可以通过badboy将脚本导出在jmeter中进行使用,首先先把刚才录制的脚本导出来         工具栏:File——Export To Jmeter   导出为Jmeter格式,保存到桌面

(6)接下来使用jmeter打开录制成功的脚本 通过打开bin文件夹下的jmeter文件打开jmeter  

 (7)导入脚本后打开  

 左侧能够看到刚刚录制的脚本内容:  

 (8)接下来就要在jmeter中执行刚刚录制的脚本了,但是执行之前需要添加一个监听器-查看结果树来查看运行状况  

 (9)在查看结果树中能够查看每个请求的状态以及响应数据  

(10)添加一个简单的断言:响应断言  

 响应断言设置为包含http响应码为200  

 添加断言监听器,打印满足响应码为200的请求并保存  

(11)再次执行脚本,查看查看结果数和断言监听器中打印的结果 查看结果树的结果:  

断言监听器的结果(打印了成功的请求): 

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

① 2000多本软件测试电子书(主流和经典的书籍应该都有了)

② 软件测试/自动化测试标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白学习)

⑤ Python学习路线图(告别不入流的学习) 

以上是关于Python自动化测试-Jmeter做接口测试实际案例分享的主要内容,如果未能解决你的问题,请参考以下文章

Python接口自动化测试框架(工具篇)-- 接口测试工具JMeter

Jmeter 参数化之数据驱动(ddt)

《jmeter接口自动化与性能实战-飞天小子.pdf》

python接口自动化测试(c测试环境的准备)

python自动化教程Jmeter性能测试

使用postman+newman+python做接口自动化测试