• 使用jmeter做接口测试


    1.启动jmeter。

       我们可以找到Jmeter/bin 目录下的jmeter-server这个脚本,运行即可。

    • 在下图打开的Jmeter 页面中,右键“测试计划” -> “添加” -> "Threads(Users)" -> “线程组”, 建立线程组。然后添加HTTP请求,
    • 右键“线程组” -> “添加” -> “Sample” -> “HTTP请求”, 输入“服务器名称或IP”,对应的端口号,http默认端口号80,可以不写。

       以下请求为GET, 所有“方法”那选择“GET”, 输入对应的路径,添加参数及值。

    • 右键“线程组” -> “添加” -> “监听器” -> “察看结果数”, 添加“察看结果数”, 以察看运行后的结果,如果所示。

    2.jmeter-http接口脚本添加header

    以获取学生信息接口为列,如下图添加header;添加完成以后,在http信息头页面填写名称:Referer,值:服务器的域名;

    运行之后可以看到结果成功;

    3. jmeter-http接口添加cookie;

    以金币充值接口(gold_add)为例,建立一个HTTP请求改名“金币充值”,选取请求方式POST, 输入对应的host, path以及同请求一起发送的参数和值。

    由于此接口有权限验证,需要admin用户才可以做操作,需要添加cookie, 因此需要添加"HTTP Cookie 管理器"以传递Cookie。

    添加"HTTP Cookie 管理器" 方法如下图所示, 右键“金币充值” -> “添加” -> “配置元件” -> "HTTP Cookie 管理器" 

    设置Cookie 的名称(即username 的值),填写域;

    最后可以通过“察看结果树”的响应数据查看结果。

    4.“用户定义的变量”的应用

    以获取学生信息接口(stu_info) 为例,添加一个“用户定义的变量”,设置变量"host" 以及值,这样在获取学生信息接口(stu_info)就可以通过"${host}"取得“服务器名称或IP”的值。

    5. “CSVDataSet Config”和“函数助手对话框”的使用

    以注册接口为列,该接口有3个参数:username;pwd;cpwd,在本地创建一个txt文件,添加username和pwd 以及cpwd的值,对脚本设置6个线程或者循环6次,以注册这6个用户;例如:

    然后右键“线程组” -> “添加” -> “配置元件” -> "CSV Data Set Config",如果仅应用于“增加学生”接口的话,可以直接在“增加学生”接口下面创建"CSV Data Set Config"。

     然后在下图页面中,Filename填写之前建立的TXT文件的路径,这里是win10系统,存在权限问题,直接将TXT文件放在jmeter的bin目录下面直接读取,所以这里的Filename路径直接填写TXT的文件名即可:uesrname.txt, 在"Variable Names" 输入"username" 和"pwd",以逗号隔开,为避免插入的数据乱码;

    由于"CSV Data Set Config"中的变量名为username和pwd,因此在"注册”接口的"Parameters" 中将值分别替换为${username}, ${pwd}和${pwd}。运行之后循环6次注册6个用户;

    以上注册时,也可以使用函数助手随机生成进行注册用户,在选项里找到函数助手,然后选择—Random,输入最小值1,最大值999,点击“生成”之后函数字符串;复制此函数字符串;

    在"CSV Data Set Config"中的变量名为username替换为xuezhi${__Random(1,999,)},运行之后注册的用户名是以xuezhi开头然后加上随机生成的数字组成注册的用户名,pwd和cpwd的值还是取的username.txt文件中pwd的值,同理,pwd的值也可以按照此方式随机获取;

    6.应用"jp@gc - JSON Path Extractor" 来实现

    右键“登陆” -> “后置处理器 -> "jp@gc - JSON Path Extractor" 

    通过“察看结果数”得到Response 的结果后, 将“JSONPath Expression” 输入"$.login_info.sign", 设置变量"sign2", 给金币充值接口(gold_add)用

    因此需要在“HTTP Cookie 管理器”中将${username}的值输入${sign2},代替之前手动输入的那一串码。

    今天就写到这里吧,很晚了,下次继续。如有错误,欢迎指出!

  • 相关阅读:
    Nim教程【八】(博客园撰写工具客户端更新)
    图解 MongoDB 地理位置索引的实现原理(转)
    MongoDB学习笔记(索引)(转)
    Hadoop集群WordCount运行详解(转)
    java操作mongodb(连接池)(转)
    面向对象设计七大原则(转)
    Spring中IOC和AOP的详细解释(转)
    java单例模式使用及注意事项
    java.io包的总体框架图(转)
    Java常见异常(Runtime Exception )小结(转)
  • 原文地址:https://www.cnblogs.com/xiehong/p/8564271.html
Copyright © 2020-2023  润新知