• Day16.参数传递(token传递,接口关联等)


    接口信息说明:
    用户管理模块
        登录接口
            api:post
            method:post
            request data:
                {
                    "loginName":"IDO",
                    "passwd":"123"//base编码
                }
        退出接口:
            api:get
            method:get
        添加用户接口:
            api:post
            method:post
            headers:{
               "Content-Type":"application/json",
               "token":""
            }
            request data:
                {
                    "login_name":"IDO",
                    "phone":"13100000000",
                    "real_name":"老徐",
                    "token":""
                }
        编辑用户接口
            api:put
            method:put
            headers:{
               "Content-Type":"application/json",
               "token":""
            }
            request data:
                {
                    "login_name":"IDO",
                    "phone":"13100000000",
                    "real_name":"老徐",
                    "token":""
                }
    博文管理模块:
        添加博文接口:
            api:post
            method:post
            headers:{
               "Content-Type":"application/json",
               "token":""
            }
            request data:
                {
                    "blog_name":"21天打卡",
                    "bolg_title":"Jmeter打卡之Day16",
                    "blog_details":"21天打卡",
                    "token":""
                }
    

    1. 传递变量说明

    1.1 传参方式

    1.1.1 内置变量

    //同线程组
    vars :操作 jmeter 变量,它是测试用例与 BeanShell 交互的桥梁,常用方法:
    
    vars.get(String key):从jmeter 中获得变量值
    vars.put(String key,String value):数据存到 jmeter 变量
    //跨线程组
    props :操作 jmeter 属性,该变量引用了 JMeter 的配置信息,可以获取Jmeter
    的属性,它的使用方法与 vars 类似,但是只能 put 进去 String 类型的值,而不能是一个对象。
    
    props.get("START.HMS");START.HMS 为属性名,在jmeter.properties 中定义
    props.put("PROP1","1234");
    
    

    1.1.2 函数助手

    		声明全局变量:
    			${__setProperty(newtoken,${token},)}
    		引用全局变量
    			${__P(newtoken,)}
    

    1.2 传参形式

    1.2.1 同线程组

    //示例1.beanshell语句
    String   str =vars.get("loginName");//获取变量loginName
    vars.put("key",str);//抛出做线程组内变量
    //其他
    默认的变量都在本线程组下使用
    

    1.2.2 跨线程组

    //示例1.beanshell语句
    String   str =vars.get("token");
    props.put("newToken",str);
    //示例2.函数助手
    ${__setProperty(newtoken,${token},)}
    //跨线程组引用变量的方式
    ${__P(newtoken,)}//只需要变量名就可以
    

    2.练习说明

    • httpbin.org不提供登录/退出机制,目前我们用上述的模拟登录接口.
    • token就使用loginName这个字段来模拟,大家在自己公司使用拿正常的token
    • 传递参数需要先生成参数,像token这些的,需要后置处理器中的一个组件
      JSON提取器

    3.作业场景

    • 根据上面提供的接口信息进行模拟测试,其中,需要将登陆之后的token传到信息头部和其他线程组的参数当中。

    4.示例脚本

    4.1 图片示例

    抛出全局变量
    引用全局变量
    响应头部
    请求数据

    4.2 脚本示例

    链接:https://pan.baidu.com/s/1u48r1FErTmujQ4fAf2LTQg 
    提取码:ltqj
    
  • 相关阅读:
    O(n)回文子串(Manacher)算法
    LightOJ 1282
    LightOJ
    LightOJ
    POJ-2563
    POJ-2398
    POJ-2318
    ZOJ-3318
    [svc]ftp协议数据连接的2种模式
    [py]python中的特殊类class type和类的两面性图解
  • 原文地址:https://www.cnblogs.com/Testking/p/13173315.html
Copyright © 2020-2023  润新知