python --- 对于需要关联的接口处理方法

1、unittest对于需要关联的请求,怎么处理(如购物接口,需要先登录)

  a)把登录请求写到测试用例类的setUP函数中,这样每次调用测试用例,都会先执行setUP函数

  b)全局变量的形式声明。

  c)反射

如下为全局变量的例子:

from auto_api.tool.common import common_excel,common_conf,common_requests
COOKIE = None
class TestCases(object):

    def test_api(self,conf_file_name,conf_section_file,conf_section_case):
        global COOKIE
        conf_file_param = common_conf.CommonConf().conf_case_file(conf_file_name, conf_section_file)
        cases = common_conf.CommonConf().conf_case_file(conf_file_name, conf_section_case)
        file_name = conf_file_param['file_name']
        sheet_name = conf_file_param['sheet_name']
        datas = common_excel.CommonExcel().common_excel_read(file_name, sheet_name)
        if cases['case'] == 'all':  #判断是执行全部测试用例,还是部分
            choose_datas = datas
        else:
            choose_datas = []
            for param in datas:
                if param['case_id'] in eval(cases['case']):
                    choose_datas.append(param)
        for data in choose_datas:
            url = data['url']
            method = data['method']
            param = eval(data['param'])  #值得注意的是,从excel中取出的数据都是字符串类型,需要转成字典类型
            case_id = data['case_id']
            res = common_requests.CommonRequests().common_requests(method, url, param,COOKIE)
            if res.cookies:
                COOKIE = res.cookies #当有cookies时,重新对COOKIE进行赋值,第一个测试用例为登录,才能进行接下里的购物
            print(res.json())
 
原文地址:https://www.cnblogs.com/hzgq/p/11971954.html