• 测试登录:unittest,BeautifulReport


    import unittest,requests
    import ddt
    from BeautifulReport import BeautifulReport as bf
    from urllib import parse
    @ddt.ddt
    class Login(unittest.TestCase):
    base_url = 'http://118.24.3.40/'
    @ddt.file_data('login.yaml')#ddt帮你读文件,获取文件内容,循环调用函数
    def test_request(self,**kwargs):
    detail = kwargs.get('detail','没写用例描述')
    self._testMethodDoc = detail #动态的用例描述
    url = kwargs.get('url')#url
    url = parse.urljoin(self.base_url,url)#拼接好url
    method = kwargs.get('method','get')#请求方式
    data = kwargs.get('data',{}) #请求参数
    header = kwargs.get('header',{})#请求头
    cookie = kwargs.get('cookie',{})#cookie
    check = kwargs.get('check')
    method = method.lower() #便于处理
    try:
    if method=='get':
    res = requests.get(url,params=data,cookies=cookie,headers=header).text
    #因为接口有异常的情况下, 可能返回的不是json串,会报错
    else:
    res = requests.post(url,data=data,cookies=cookie,headers=header).text
    except Exception as e:
    print('接口请求出错')
    res = e
    for c in check:
    self.assertIn(c,res,msg='预计结果不符,预期结果【%s】,实际结果【%s】'%(c,res))

    sutie = unittest.TestSuite()
    sutie.addTest(unittest.makeSuite(Login))
    run = bf(sutie)
    run.report('login_test','登录测试用例')
    print(run.success_count) #通过的次数
    print(run.failure_count) #失败的次数
    # 1、运行的用例条数是不是和你的用例数一样
    # 2、看看有没有其他不对的地方

    如果报告报gbk编码错误,需要更改源码中encode

  • 相关阅读:
    NAND FLASH扇区管理
    ECC内存校验算法
    实时数据库简介
    windows标准控件
    PLC一些资料
    at命令
    Vi 常用命令列表
    PHP继承及实现
    Mongodb php扩展及安装
    Linux下jdk1.6安装指引
  • 原文地址:https://www.cnblogs.com/irisx/p/9141064.html
Copyright © 2020-2023  润新知