zoukankan      html  css  js  c++  java
  • hrunrunner实现接口参数关联和参数化

    解决参数关联有2种方式:extract提取参数,debugtalk辅助函数获取。

    先看第一种,extract提取参数:

    登录成功后直接用extract提取返回content里面的token参数:

    然后在下一个请求里面直接用$token去引用

    第二种:debugtalk辅助函数获取

    先建立一个debugtalk.py结尾的文件,然后在写一个登录获取token的函数,内容如下:

    import requests
    
    url = 'http://49.235.92.12:9000/api/v1/login'
    
    
    def get_token(username='test', pwd='123456'):
        body = {"username": username, "password": pwd}
        header = {"User-Agent": "Mozilla/5.0", "Content-Type": "application/json"}
        r = requests.post(url=url, json=body, headers=header)
        try:
            result = r.json()
            token = result['token']
            return token
        except Exception as e:
            print('获取失败原因{}'.format(e))
            print('返回结果{}'.format(r.text))
            return ''
    
    
    if __name__ == '__main__':
        print(get_token())

    接下来就是在yml文件用${get_token()}引用这个函数,将登录的token值传递到请求头里面

    最终运行结果:

    要在hrun里面实现参数化也是很简单的,只需要加上parameters的参数,添加上对应的参数,然后引用参数就可以了。

    参数化运行结果:

    yml文件如下:

    -   config:
            name: testcase description
            variables:
              pwd: 123456
            parameters:
            - username: [test,test1,test2]
    
    
    -   test:
            name: /info
            request:
                headers:
                    Content-Type: application/json
                    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
                        (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
                    Authorization: Token ${get_token($username,$pwd)}
                method: GET
                url: http://49.235.92.12:9000/info
            validate:
            -   eq: [status_code,200]
            -   eq: [content.code,0]
            -   eq: [content.data.0.name,test]
  • 相关阅读:
    业务领域建模Domain Modeling
    用例建模Use Case Modeling
    分析一套源代码的代码规范和风格并讨论如何改进优化代码
    结合工程实践选题调研分析同类软件产品
    如何提高程序员的键盘使用效率?
    第一次博客作业
    python_同时迭代多个对象
    python_判断奇偶数
    印象笔记markdown使用笔记
    【转】A*算法解决八数码问题
  • 原文地址:https://www.cnblogs.com/xiamaojjie/p/12095999.html
Copyright © 2011-2022 走看看