Jmeter接口功能测试简介

作者: 小啊小狼 | 来源:发表于2019-06-27 14:47 被阅读22次

一、JDK安装及配置

1.系统要求:

       JMeter需要JDK环境(1.8版本以上),安装JDK

2.配置JDK环境变量:

    变量名:【JAVA_HOME】

    变量值:【C:\Program Files\Java\jdk1.8.0_201】【jdk安装路径】

    变量名:【path】

    变量值:【\;%JAVA_HOME%\bin;】

    变量名:【CLASSPATH】

    变量值:【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;】

3.验证JDK安装成功:

    运行cmd->输入java -version->显示java版本就表示jdk安装成功

二、jmeter安装与配置

1.http://jmeter.apache.org/下载最新版本的Jmeter,解压文件到任意目录,安装路径避免空格和 中文

2.配置jmeter环境变量

【变量名】JMETER_HOME

【变量值】E:\liang\tools\apache-jmeter-3.3(根据实际的jmeter解压路径填写)

【变量名】CLASSPATH

【变量 值】%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER _HOME%\lib\logkit-2.0.jar;

3.启动Jmeter:

双击Jmeter解压路径(E:\liang\tools\apache-jmeter-3.3\bin)下面的jmeter.bat

三、jmeter简单接口测试操作(以http请求为例)

1、新建线程组:

2、添加http请求:


3、填写请求信息()

    测试的接口来源--正常情况下来源于接口文档(或者工具抓取)

    接口文档包含的内容:接口地址,请求方式,请求参数,返回结果,(示例,鉴权等)

    示例接口--城市天气查询(有可能会被封掉,只做说明使用)

    接口地址:https://www.apiopen.top/weatherApi

    返回格式:json

    请求方式:get/post

    接口备注:通过城市名称或城市查询天气预报情况

    请求参数说明:city

    名称:用于标识一个sample。建议使用一个有意义的名称

    注释:对于测试没任何影响,仅用来记录用户可读的注释信息

    协议:向目标服务器发送HTTP请求协议,可以是HTTP或HTTPS

    服务器名称或IP:HTTP请求发送的目标服务器域名或IP 

    端口号:目标服务器的端口号,默认值为80

    请求方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。 

    路径:目标URL路径(URL中去掉服务器地址、端口及参数后剩余部分) 

    Content encoding:编码方式,默认为ISO-8859-1编码,一般配置为utf-8

    同请求一起发送参数:在请求中发送的URL参数,可以将URL中所有参数设置在表中,表中每行为一个参数 (对应URL中的 key=value)

    自动重定向:如果选中该项,发出的http请求得到响应是301/302,jmeter会重定向到新的界面

    Parameters、Body Data以及Files Upload的区别:

        1. parameter是指键值对类型的参数

       2、Body Data指的是实体数据,就是请求报文里面主体实体的内容,一般我们向服务器发送请求,携带的实体 主体参数,可以写入这里

      5、Files Upload指的是:有本地资源上传的接口请求

4.添加查看结果树,记录接口请求数据,查看接口请求结果

5.运行及结果查看

6.断言,以响应断言为例(相当于功能测试的期望结果与实际结果对比)

    注:绿色只代表与服务器进行了正常的通讯,并不代表接口测试ok了,设计入参和期望结果,合理设置断言,断言通过才能保证测试结果

    (1)Apply to应用范围:我们大多数勾选“main sample only”就够了,因为我们一个请求,实质对服务器只有一次请求

    (2)要测试的响应字段:一般http就用响应文本,就是服务器的响应文本

    (3)模式匹配规则:

            包括:返回结果包括你指定的内容,支持正则匹配。

            匹配:完全相等。

            Equals:实际与匹配差不多。

            SubString:与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串。

            否:取相反。

            或者:添加多个断言,一个通过则通过

四.Tips

    1.请求数据中有乱码。

        解决方法:设置请求的Content encoding 为 utf-8

    2.响应结果有乱码

        解决方法:Jmeter解压的bin目录下,找到jmeter.properties文件,打开后新增一行内容:           sampleresult.default.encoding=utf-8,保存后重启jmeter

    3、POST请求是JSON格式时

        解决方法:需要对该请求设置信息头Content-Type为“application/json”,请求参数放在“body data”里面

    4、需要鉴权的接口

        解决方法:了解需要校验什么(token,cookie),一般是在请求头中要带上鉴权的标识,所以可以添                   加HTTP信息头管理器,将要校验的数据放进去就可以了

相关文章

网友评论

    本文标题:Jmeter接口功能测试简介

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