python自动生成接口测试用例

在python中Template可以将字符串的格式固定下来,重复利用。 同一套测试框架为了可以复用,所以我们可以将用例部分做参数化,然后运用到各个项目中。

代码如下:

 

coding=utf-8
'''
作者:大石
功能:自动生成pyunit框架下的接口测试用例
环境:python2.7.6
用法:将用户给的参数处理成对应格式,然后调用模块类生成函数,并将参数传入即可
'''

from string import Template
#动态生成单个测试用例函数字符串
def singleMethodCreate(MethodList,interfaceNamePara):
    code=Template('''\n    def test_${testcase}(self):
        u"""${testcaseName}"""
        headers = $headers
        data = $data
        re = requests.$method(url='$url',headers=headers,data=data)
        status_code = re.status_code
        s = str(status_code)
        json = re.text
        logging.info('-'*5+'返回状态码是'+s+'-'*5)
        logging.info('-'*5+'返回结果集是'+json+'-'*5)
        assert status_code == 200
        assert json['status'] == 'ok'
''')

    string = code.substitute(testcase=MethodList["testcase"],testcaseName=MethodList["TestcaseName"],
                             method=MethodList['method'],url=MethodList['url'],headers=MethodList['headers'],data=MethodList['data'],
                             )
    return string

#拼接单个的测试用例函数字符串为完整字符串并传回主函数
#MethodParaList获取测试用例部分list
def methodCreate(MethodParaList,interfaceNamePara):
    string = ""
    for MethodPara in MethodParaList:
        string2=singleMethodCreate(MethodPara,interfaceNamePara)
        string=string+string2
    return string

#构造单个测试集
def singleTestsuitCreate(MethodList,parameters):
    code = Template('''suite.addTest(${className}("test_${testcase}"))''')
    string = code.substitute(testcase = MethodList["testcase"],className = parameters[0])
    return string

#添加测试集
def addtestsuit(Meth
  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值