zoukankan      html  css  js  c++  java
  • 接口测试工具之JMeter(1)

    接口测试工具之JMeter(1)

    1.Jmeter简介

      Jmeter是apache公司基于java开发的一款开源压力测试工具,它是java开发的,所以运行的时候必须要安装jdk才可以,jmeter是免安装的,拿到安装包之后直接解压就可以使用了,它也是跨平台的在linux、windows、macos上都可以使用

    2.Jmeter使用

    2.1 创建http请求流程

    1、添加线程组

    2、添加http请求

    3、在http请求中写入接口url、路径、请求方式、参数

    4、添加查看结果树(多个http请求只需添加一个结果树)

    5、调用接口、查看返回值

     

    PS :解决两个乱码问题方法

    jmeter查看结果树乱码

    在jmeter的bin目录下找到jmeter.properties这个文件

    1、添加上sampleresult.default.encoding=utf-8

    2、重启jmeter

    jmeter body data里面乱码

    在jmeter的bin目录下找到jmeter.properties这个文件

    1、添加jsyntaxtextarea.font.family=Hack

    2、重启jmeter

    2.2 get请求

    get请求一:

     入参可以放在路径中或在parameters中添加

     

    get请求二:添加Headers

    添加Http信息头管理器

     

     

     

    2.3 post请求

      post请求一:表单提交

     

    post请求二:json提交

     

    post请求三:添加cookie

    添加HTTP信息头管理器

     

    在HTTP信息头管理器中添加cookie信息,cookie值为上述登录接口返回结果中的sign值

     

    post请求四:上传文件

     

    2.4 Jmeter参数化

    在调用接口的时候,有入参,那参数里面的值如果经常变化的话,就得每次去改了,很麻烦,这时候咱们就把需要经常变的值,改成可以变化的或者是咱们提前设置好的一些值,这样的话,调用的时候就不用每次都改它的值了.

    Jmeter参数化的方式有三种

    (1)用户定义的变量

    这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的

    在线程组中添加一个用户定义的变量,然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值,value就是具体值了。在取参数化的值的时候,使用${name}这样去取值,name就是你取的变量名称。

     

    调用

     

    (2)函数生成器

    函数生成器可以参照一定的规则生成数据

    随机数__Random,可以在你指定的一个范围内取随机值

    自增函数__counter

    取当前时间__time,不加参数时为时间戳(计算机发明到现在过了多少秒),如果在有一些需要传时间的情况下可以使用,日期格式是:yyyy-MM-dd HH:mm:ss(年-月-日-小时:分钟:秒)

    调出函数助手:选项—>函数助手对话框

     

    注册用户接口:

     

    在线程组中将循环次数改为5,即一次调用5次请求,注册5个用户

     

    查看结果树:

     

     

    (3)从文件中读取

    文件读取就是事先写好一些数据,然后从文件中读取,比如说学生金币充值接口,将需充值的学生id写在文件userId.txt中,jmeter在做压测时直接从userId.txt中读取即可

    从文件中读取的话,三个步骤

    1、读取文件

    2、取文件内容里面的参数,给它一个名字

    3、使用值

    从文件读取,需要在线程组里面添加一个CSV Data Set Config,它就是做前面两步的操作的

     

     

    参数解释:

    Filename:文件路径,若只写文件名字需把文件放在jmeter的bin目录中

    Variable Names:变量名称,是用户自己定义的(若有多个变量需用Delimiter中定义的符号隔开)

    Delimiter:多个变量间用什么符号隔开,默认为英文逗号

    Stop thread on EOF:文件中的数据读完之后是否再循环读取,默认为false

    金币充值接口:

     

    第一列为userid,第二列为金币值,中间用英文逗号隔开

     

    查看结果树:

     

    2.5 Jmeter关联

    1、 调用第一个接口,然后从这个接口的返回数据里面拿到某个值

    2、 放到第二个接口里面来用

    例如:金币充值接口

    在登录接口中添加jp@gc-JSON Path Extractor

     

    登录接口的返回值:

     

    查看结果树:

    添加调试工具Debug Sampler,查看详情

     

    PS:登录接口需放在金币充值接口前面

  • 相关阅读:
    STC15F2K60S2应用笔记
    2013春季求职第二面——珠海全志科技
    SAXReader解析XML文件
    利用socket实现java程序自动关闭
    java调用oracle存储过程
    spring定时任务的简单应用(转载)
    spring map注入的使用
    解析properties文件
    System.getProperty()参数大全
    JS正则表达式大全
  • 原文地址:https://www.cnblogs.com/HathawayLee/p/9481588.html
Copyright © 2011-2022 走看看