• jmeter接口测试


    一、简介

    jmeter是一个常用的接口测试工具,有很多功能,下面简单介绍其主要的一些用法。

    二、一个最简单的http请求

    (1)GET请求

    举例的URL均不存在,仅为了举例

    URL为:http://i.cnblogs.com/test/user/user_info?user_name=小明, 请求方式:GET, 请求参数:user_name

    添加线程组:右键点击【测试计划】-【添加】-【Threads(Users)】-【线程组】。

    添加HTTP请求:右键单击【线程组】-【sampler】-【HTTP请求】。

    添加监听器:右键单击【线程组】-【监听器】-【察看结果树】。

    填写服务器,接口,请求方式,请求参数等,点击运行即可完成一个简单的接口测试。在监听器中可查看测试结果。

    其中服务器为 i.cnblogs.com,请求方式为GET,接口路径为/test/user/user_info。参数名为user_name,参数值为小明。

    GET请求的参数可以写到url里,及路径处填/test/user/user_info?user_name=小明,也可以写到parameters里。

    (2)POST请求

    图中给出了post的示例

    (3)http请求默认值

    有时一个线程组下包含多个接口,这些接口服务器名称是一样的,每个接口配置一遍比较麻烦,可以通过添加【http请求默认值】省去麻烦。

    【线程组】-【添加】-【配置元件】-【HTTP请求默认值】

    在【服务器名称或IP】处输入,则HTTP请求1,2,3,4不需要填写这一项,自动默认i.cnblogs.com。

    端口号,默认参数等也可以进行配置

    三、参数化

    测试过程中,我们有时需要大量的数据,比如输入用户信息,需要输入用户A,用户B,...的用户信息,每次都修改请求参数,发送请求,效率很低。这时候就可以使用参数化的功能。

    (1)文件参数化

    将请求参数写到txt文件里,修改txt文件即可修改请求参数值。

    假设用户注册接口URL为:http://i.cnblogs.com/test/user/user_reg,请求方式为POST,请求参数为username和passwd。

    第一步:【线程组】-【添加】-【配置元件】-【CSV Data Set Config】

    第二步:以上图为例,不同变量之间的分个符为英文的“,”,则存入参的txt文件,不同变量之间必须用英文的“,”分隔。不同用户信息需换行。格式如下所示

    第三步:在HTTP请求里,将请求参数值改为${变量名}格式,如图

    第四步:正常运行接口,查看结果即可。

    (2)用户定义的变量

     第一步:【线程组】-【添加】-【配置元件】-【用户定义的变量】,如添加host

     

    第二步:在http请求里将服务器写成参数化格式

    (3)函数助手

     【选项】-【函数助手对话框】,可选择需要的功能,点击【生成】。将生成的字符串粘贴到对应的参数值处即可。

     

    四、断言

    以响应断言为例,添加【断言】-【响应断言】

    选择【包括】,则响应中需要包括所填内容才算成功。

    选择【匹配】,响应需完全匹配才可以。

    五、关联

    关联指的是:把上一个请求返回的数据,拿过来放到下个请求里面使用。

    这里关联用的是JSON Path Extractor,需要安装插件。

    在HTTP请求单击右键,【添加】-【后置处理器】-【jp@gc-JSON Path Extractor】。

    另外,【正则表达式提取器】也可以实现关联。

    例,

    请求1为登录接口test/user/login,响应中包含参数sign,响应示例为:

    {
    "error_code": 0,
    "login_info": {
    "login_time": "20180314170124",
    "sign": "e17428c10cbc44e111c8c6c093e2653c",
    "userId": 1
    }
    }

    请求2为添加金钱接口:test/user/money_add,请求方式POST,请求参数sign和money。

    json路径:sign在login_info里,login_info外面还有一层,因此格式为$.login_info.sign

    添加金钱接口将对应的参数值写成“${变量名}”即可。

    六、连接数据库

    jmeter可以连接数据库,【线程组】-【添加】-【配置元件】-【JDBC Connection Configuration】

    添加【线程组】-【添加】-【Sampler】-【JDBC Request】,进行数据库操作。

    其中Query Type对应不同的操作权限。如“Select Statement”是可以进行select操作。“Callable Statement”允许所有操作。

     

    七、总结

    本文简单介绍了jmeter的一些常用功能,jmeter是一个用法简单,功能强大的工具,在接口测试过程中经常使用。希望简单的分享能够有所帮助。

  • 相关阅读:
    Eclipse报错:An internal error has occurred. Widget is disposed
    服务器端解决跨域问题的三种方法
    为什么要使用NoSQL
    Mybatis 中$与#的区别
    maven 打包命令,跳过测试
    maven打包跳过测试命令
    Vue 扩展插件
    node 文件打开状态
    node buffer缓冲区
    npm 命令
  • 原文地址:https://www.cnblogs.com/zhxwind/p/8565267.html
Copyright © 2020-2023  润新知