jmeter接口测试参数化

作者: 决明子_ | 来源:发表于2017-09-11 18:43 被阅读199次

    以前也并没有做过接口测试,甚至都不太理解接口到底是什么,但是公司的要求做接口测试,而且接口测试相对功能测试更高效,所以自己看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
        乘风破浪的姐姐:@黑皮TT 好的,我明天再查查
        决明子_: @森迪谢谢,但是还是没有解决☹

      本文标题:jmeter接口测试参数化

      本文链接:https://www.haomeiwen.com/subject/npyfsxtx.html