• Jmeter参数化(普通参数、动态参数)


     

    1.1     参数化

    截止现在,一个http请求的配置已经完成,可使用该脚本运行点击jmeter的运行按钮查看。并发测试必然需要使用到参数化。参数化有以下几种方法。

    参数化的格式一般均为:

    ${},如¥{user}

    1.1.1      CSV

    可在本地新建txt,将参数存储在txt中,以“,”隔开,保存的时候选择utf-8的编码格式。

     

    内容如下:

    然后在jmeter中添加配置元件CSV。

     

    1.1.2      随机数

    随机数可使用jmeter中的随机函数生成,如:该APP登录时使用的验证码即可用${__Random(000000,999999,)}来替代。

     

    1.1.3      动态参数

    如该APP客户在登录后会返回如下内容:

    经过同开发通过,在登录后很多接口都会在headers中带着token和clentId(即登录后返回的userID)。所以我们需要在登录之后拿到token和userID的值。

     通过抓包工具,查看返回结果,结果为json格式。如下内容。

    {

           "message": "登录成功",

           "result": {

                    ……

                    "userId": "171",

                    ……

           },

           "returnCode": 200,

           "token": "b15f18b0e424eb3f603eba9166f38f65c25652808d4d4b6bb1bfaec8c04fe1ae"

    }

    因此我们在登录脚本中增加后置处理器:bean shell postprocessor。

     

    录入如下内容。

    import net.sf.json.JSONObject;  //导入json解析用到的jar

     

    String input = prev.getResponseDataAsString(); 

               JSONObject jsonObject = JSONObject.fromObject(input);

               JSONObject result = jsonObject.getJSONObject("result");

               String userid = result.getString("userId");

         String token = jsonObject.getString("token"); 

     

    //把获取到的字符串,赋值给对应的变量。后续的请求中,就可以通过 ${userid}这样的方式,读取到这个值了。

    vars.put("userid",userid);

    vars.put("token",token);

    因在登录后的接口都会在headers中带着token和clentId,所以我们需要在这些请求下增加“http信息头管理器”,并将参数添加进去即可。

     
     
  • 相关阅读:
    git生成SSH秘钥
    ifconfig
    接口自动化测试平台:简介
    Gitd的使用
    jenkins自动化部署和Tomcat中间件容器
    Struts2——用来开发 MVC 应用程序的框架,可用于创建企业级Java web应用程序
    Hibernate——Java 领域的持久化ORM框架
    jQuery——JavaScript库
    JavaScript HTML DOM——文档对象模型
    JVM 完整深入解析
  • 原文地址:https://www.cnblogs.com/jxba/p/9177225.html
Copyright © 2020-2023  润新知