美文网首页工具癖
快乐的使用jmeter做压测三、报文参数化

快乐的使用jmeter做压测三、报文参数化

作者: cleanup123 | 来源:发表于2019-04-01 07:18 被阅读29次

    在测试过程中由于业务代码的要求,需要尽可能的仿真真实业务,因此需要对报文中的值做参数化处理。

    报文样例

    例如我们的测试报文如下所示:

    {
        "name":"张三",
        "age":20,
        "sex":"男",
        "email":"kvon@163.com",
        "companyName":"北京牛儿快快跑股份有限公司"
    }
    
    

    接口中的字段如下所示:
    name,age,sex,email,companyName. 这五个字段其中既有数字,又有字母,也有汉字。下面我们把这5个字段全部做参数化处理。

    参数化

    一、先做姓名的参数化处理。

    1. 首先做一个百家姓的字典表。百家姓在网上查一下就能查到,也可以直接用我整理的
    2. 再做一个基本汉字表。这个我是通过Excel中=CHAR((INT(16+RAND()*38+160)*256)+INT(94*RAND())+160)这个函数获取的汉字,然后将生成的汉字整理为一个csv或者txt格式的字典表。我这里提供一份201个汉字的txt文件供大家测试。
    3. 读取姓与名的字典表获取随机姓名。${__CSVRead(C:\Users\Administrator\Desktop\first.txt,${__Random(0,479)})}${__CSVRead(C:\Users\Administrator\Desktop\second.txt,${__Random(0,200)})}

    二、对年龄做参数化处理这里大家可以使用

    年龄可以直接在线程组中添加随机变量来实现。


    添加随机变量.png
    年龄.png

    三、对性别做参数化处理
    性别由于码值较少可以直接通过字符串随机函数获取${__RandomString(1,男女,)}

    四、邮箱
    邮箱也使用随机字符串函数获取8位邮箱前缀${__RandomString(8,abcdefghijklmnopqrstuvwxyz1234567890,)}

    五、公司名称
    公司名称与姓名相同通过读取字典表获取,保留股份有限公司字样。

    参数化后报文展示

    {
        "name":"${__CSVRead(C:\Users\Administrator\Desktop\first.txt,${__Random(0,479)})}${__CSVRead(C:\Users\Administrator\Desktop\second.txt,${__Random(0,200)})}",
        "age":${age},
        "sex":"${__RandomString(1,男女,)}",
        "email":"${__RandomString(8,abcdefghijklmnopqrstuvwxyz1234567890,)}@163.com",
        "companyName":"${__RandomString(5,${__FileToString(C:\Users\Administrator\Desktop\company.txt,,)},)}股份有限公司"
    }
    

    请求报文样例一

    POST http://localhost:8080/add
    
    POST data:
    {
        "name":"都似",
        "age":93,
        "sex":"女",
        "email":"fyjfw20j@163.com",
        "companyName":"意殆蛹械捎股份有限公司"
    }
    
    
    [no cookies]
    

    请求报文样例二

    POST http://localhost:8080/add
    
    POST data:
    {
        "name":"赵酶",
        "age":29,
        "sex":"女",
        "email":"5vl6ii7a@163.com",
        "companyName":"害酥豫克永股份有限公司"
    }
    
    
    [no cookies]
    

    好了以上就是参数化的思路。

    相关文章

      网友评论

        本文标题:快乐的使用jmeter做压测三、报文参数化

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