• day11-python学习笔记(二十六)yaml,ddt


    YAML文件存放传给接口的数据(用例),可转变成python的字典以及list
    YAML文件内容:

    username : niuhanyang #可以转换成字典
    passwd : 123456
    port : 3306

    databases : #转换成嵌套的字典
    test : 192.168.1.2
    dev : 192.168.1.3
    pre : 192.168.1.5

    tester : #可以转换成list
    - 马佩佩
    - 小傅
    - 璐璐

    处理yaml.py
    # import yaml,json
    # f = open('login.yml',encoding='utf-8')
    # print(json.dumps(yaml.load(f),indent=3))

    # import yaml
    # f = open('abc.yml',encoding='utf-8')
    # print(yaml.load(f))

    import yaml,json
    f = open('login.yml',encoding='utf-8')
    print(json.dumps(yaml.load(f),indent=3))
     
    ddt使用
    import ddt  #ddt是数据驱动的模块
    import unittest,requests
    import BeautifulReport


    @ddt.ddt
    class MyCase(unittest.TestCase):
    # @ddt.data(1,2,3)
    # def testa(self,num):
    # self.assertTrue(num>2)
    #
    # @ddt.data([3,2],[4,3],[5,3])
    # @ddt.unpack#将list分解,解包操作
    # def testb(self,num,num2):
    # self.assertTrue(num>num2)
    @ddt.file_data('login.yml')
    @ddt.unpack
    def test_run(self,**kwargs): #一个*代表list,**代表字典
    method = kwargs.get('method')
    url = kwargs.get('url')
    data = kwargs.get('data',{})
    header =kwargs.get('header',{})
    is_json = kwargs.get('is_json',0)
    cookie = kwargs.get('cookie',{})
    check = kwargs.get('check')
    if method == 'post':
    if is_json:
    r = requests.post(url,json=data,headers=header,cookies=cookie)
    else:
    r = requests.post(url, data=data, headers=header, cookies=cookie)
    else:
    requests.get(url,params=data,headers=header, cookies=cookie)#params是把参数拼到url后面
    #self.assertEqual(check.get('error_code'),r.json().get('error_code'))  
            for c in check:
    self.assertIn(c, r.text)



    if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTest(unittest.makeSuite(MyCase))
    report_html = BeautifulReport.BeautifulReport(suite)
    report_html.report(log_path='.',filename='my_report',description='用例描述')
     
  • 相关阅读:
    辗转相除法求最大公约数和最小公倍数
    KMEANS算法
    Extjs RadioGroup中Radio的切换
    B树、B树、B+树、B*树都是什么
    DBSCAN算法的java实现
    SQL 基础:Select语句,各种join,union用法
    Ubuntu 安装中文输入法 fcitx
    Salesforce 主要发展历史
    Pair Programming(结对编程)
    学习笔记 设计模式之装饰者模式
  • 原文地址:https://www.cnblogs.com/flynn0825/p/8638133.html
Copyright © 2020-2023  润新知