以前也并没有做过接口测试,甚至都不太理解接口到底是什么,但是公司的要求做接口测试,而且接口测试相对功能测试更高效,所以自己看jmeter视频学了一些觉得还是挺受用的,至少,开发说bug改好了,我不用一个一个的去手工的执行,直接跑一次脚本就值得有没有改好。所以还是挺有点成就感的。
接口,首先还是要清楚接口的功能是什么?测试的接口协议,一般都是http协议,然后根据功能,接口应该有哪些用例,返回的参数是什么,然后准备好测试数据。
用jmeter配置一个http接口
1.在测试计划下配置一个线程组,在线程组下添加http信息头管理器、http请求默认值、http请求。
添加线程组 添加http信息头管理器和请求默认值 添加http请求2.在http请求下添加CSV Data Set Config配置原件,做参数化;添加一个响应断言和查看结果树监听器。
添加CSV Data Set Config配置原件 添加响应断言 添加查看结果树基本的接口测试需要的元件已经添加完成,下面来说说配置。
各个元件的配置
1.线程组
线程组主要修改循环次数和Ramp-Up Period,循环次数根据测试用例数据需要循环的次数来确定。启动线程时间尽量根据循环测试写大一点,避免出现分功能性错误。
线程组2. http信息头管理器
添加一个参数content-type变量,给变量赋值,如下图。
http信息头管理器HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的时候,往往后端需要一些验证信息,比如说web服务器需要带过去cookie给服务器进行验证,一般就是放在请求头(header)中,因为对于此类请求,在Jmeter中就可以通过HTTP信息头管理器,在添加http请求之前,添加一个HTTP信息头管理器,发请求头中的数据通过键值对的形式放到HTTP信息头管理器中。在往后端请求的时候就可以模拟web携带header信息了。
——本段转自CSDN sunshinelyc的专栏
3.http请求默认值
输入服务器名称或IP和端口号。
注意:服务器名称或端口号不需要加 http://,直接输入IP地址或网址即可。端口号如果是默认可以不用输入。
http请求默认值4.http请求配置
名称可以根据接口功能自行修改,方法根据协议选择,然后输入路径和同请求一起发送的参数。
参数应该有3种配置方式,我比较喜欢用中间的一种,修改方便,三种配置方式只能选择一种。
http请求此处参数的值参数名与CSV Data Set Config中的参数名要匹配,格式:${值变量},也可以在路径中写成参数化的格式,如http请求图
5.CSV Data Set Config
CSV Data Set Config配置filename:参数数据的路径。文件的后缀名保存为.csv格式。
file encoding:主要根据导入的文件数据编码确定编码类型。
variable names:每列数据对应的变量名。
Delimiter:.csv格式的后缀一般是用逗号间隔。
6.响应断言
响应断言参数化也是使用CSV Data Set Config文件中的数据配置,可以添加多个文本参数,一般配置如下,各个字段分别代表什么可以自行去查阅
响应断言7.查看结果树
查看结果树一般不需要配置,点击运行后,断言匹配或接口运行成功会显示绿色通过图标
查看结果树以上是完成一个接口测试需配置的元件和配置步骤。我也还是一个小白,正在测试的路上一点点的学习和总结,可能在实际工作中还是会遇到一些其他的问题,然而,我也正是在解决问题中慢慢的成长,一起加油吧!
问题:用jmeter调用接口传到数据库中的数据有的会显示为“???”形式的乱码,但是用fiddler单独的调用接口和参数,数据库显示正常,不知道你们是否有遇到过?然后是怎么解决这种情况的呢?(http请求的接口是用c#语言写的,数据库是sql server2014。)
网友评论
修改 jmeter\bin\jmeter.properties
默认编码为:ISO-8859-1
# The encoding to be used if none is provided (default ISO-8859-1)
#sampleresult.default.encoding=ISO-8859-1
为:
sampleresult.default.encoding=utf-8