zoukankan      html  css  js  c++  java
  • python unittest TestCase间共享数据(全局变量赋值),testcase间的参数传递:接口自动化测试作为小实例

    一、问题原因

    使用unittest框架进行接口自动化测试:
    多个接口联调测试时,会出现这样的情况,前面的接口返回值,需要后面接口的参数进行测试。
    比如
    1、登录之后修改用户信息,修改用户信息接口,需要登录接口的session,传到post请求中。
    2、通过提交密保问题及答案,修改密码时,修改密码接口,需要提交密保问题及接口的token值作为参数传递到用户信息中。修改密码这个接口的一个参数,就是交密保问题及接口的返回值token。
    出现这两种情况应该怎样处理传递这个参数呢?

    二、问题解决
    (1)方法一:如果在面向对象方法中:
    可以将前一个接口数据作为一个返回值传递出来,再用变量接收这个返回值,进行传递

    response = requests.post(url,data = user_info1).text
    print(response)
    #获取响应的token值,利用loads方法转换为dict(),对这个dict用key取值
    response_dict = json.loads(response)
    forget_token = response_dict['data']
    return forget_token

    (2)方法二:如果是在独立接口测试中。
    可以将前一个接口,放在初始化方法setup()中,用self.xxx接收这个值,这样这个参数就作为类属性,后面用例接收这个self.xxx,AAA = self.xxx即可

    def setUp(self):
    url = "http://localhost:8080//forget_axxxr.do"
    uerinfo = {'username': '小肥','question':'你今天吃了没','answer':'没胃口吃'}
    response = requests.post(url,data = uerinfo).text #这个请求对象,调用post方法传入参数
    print(response)
    response_dict = json.loads(response)
    self.get_token = response_dict['data']
    
    def test_case2(self):
    url1 = "http://localhost:8080//forgetxxxx.do"
    Forget_token = self.get_token
    uerinfo1 = {'username': 小肥','passwordNew':'666666','forgetToken':Forget_token}
    response1 = requests.post(url1,data = uerinfo1).text #这个请求对象,调用post方法传入参数
    print(response1)

    (3)方法三:如果是多个接口联调, 不同用例是独立的。
    需要设置一个全局变量,这样所有的case就可以共享这个变量
    在类的最前面定义这个变量

    #定义token的全局变量
    global Token
    12
    接收这个变量token
    #接收这个token值
    globals ()['Token'] = response_dict['data']



    声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
  • 相关阅读:
    Python基础语法 第2节课(数据类型转换、运算符、字符串)
    python基础语法 第5节课 ( if 、 for )
    python基础语法 第4节课 (字典 元组 集合)
    Python基础语法 第3节课 (列表)
    A. Peter and Snow Blower 解析(思維、幾何)
    C. Dima and Salad 解析(思維、DP)
    D. Serval and Rooted Tree (樹狀DP)
    C2. Balanced Removals (Harder) (幾何、思維)
    B. Two Fairs 解析(思維、DFS、組合)
    D. Bash and a Tough Math Puzzle 解析(線段樹、數論)
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/15417888.html
Copyright © 2011-2022 走看看