• 多测师讲解requests __中_高级讲师肖sir


     (1)生成报告

    import unittest #导入单元测试框架
    import requests #导入接口库
    import time  #  #时间戳,导入time模块
    from api.HTMLTestRunner3 import HTMLTestRunner#导入生成报告类
    class Cms_api(unittest.TestCase): #定义一个类继承单元测试框架中的testcase类
        @classmethod
        def setUpClass(cls): # cls的类的方法
            cls.session=requests.Session()#session是一个全局的变量作用是保持上下接口的会话和关联
        @classmethod
        def tearDownClass(cls):
            print ('类的结束')
        def setUp(self):
            print ('方法的开始')
        def test01(self): #定义一个用例 用例名称要用test
            '''登录接口'''
            url ='http://129.226.122.199:8080/cms/manage/loginJump.do'
            data={'userAccount': 'admin','loginPwd': 123456}
            header={'Content-Type': 'application/x-www-form-urlencoded'}
            # rep =requests.post(url=url,data=data,json=header)
            rep =self.session.post(url=url,data=data,json=header)
            print (rep.text) #打印登录接口的结果
        def test02(self):#定义一个用例用户管理接口
            urlist_url='http://129.226.122.199/:8080/cms/manage/queryUserList.do'
            urlist_data={'startCreateDate':'', 'endCreateDate':''
                            ,'searchValue':'', 'page': 1}
            urlist_he={'Content-Type': 'application/x-www-form-urlencoded'}
            ur_rep=requests.post(url=urlist_url,data=urlist_data,json=urlist_he)
            ur_rep=self.session.post(url=urlist_url,data=urlist_data,json=urlist_he)
            print (ur_rep.text) #打印用户管理接口的结果
        def tearDown(self):
            print ('方法的结束')
    def urits(): #创建一个普通函数 作用是容器存放用例
        us =unittest.TestSuite() #容器
        # us.addTest(Cms_api('test01')) #单个执行用例
        us.addTests([Cms_api('test01'),Cms_api('test02')])#执行多条
        return us
    if __name__ == '__main__':
            #第一种运行方法:运行所有的用例
             #unittest.main()
            # #     #第二种运行方法:可以选择运行用例
            #        runner = unittest.TextTestRunner()
            #        runner.run(urits())
            # #     #第三种运行方法:自动搜索用例
            #    # 在规定的目录下去搜索以less开头和.py结尾的模块中的用例
            #     start_dir = r'C:UsersAdministratorPycharmProjectsuntitledui'
            #     discover = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern='lesson2*.py') #*通配符
            #     print (discover)
            #     runner = unittest.TextTestRunner()
            #     runner.run(discover)
            #     #第四种运行方法:自动化搜索+生成测试报告
            start_dir = r'C:UsersAdministratorPycharmProjectsuntitled1api'
            discover = unittest.defaultTestLoader.discover(start_dir=start_dir, pattern='test*.py')# 中间* 是通配符
            # 1.定义生成的测试报告的名称
            #path= r'C:UsersAdministratorPycharmProjectsuntitled1api'
            ##报告生成在我们当前路径,copy本地路径
            now = time.strftime('%Y-%m-%d-%H-%M-%S')
            filename =  r'C:UsersAdministratorPycharmProjectsuntitled1api'+ "\" + str(now) + 'api_report.html'  ###.html'表示
            #print(filename)
            f = open(filename, 'bw')  # 以二进制的方式在...ui.html文件中写入报告模板和测试结果
            ##w 是写,b 是表示二进制方式写入,
            runner = HTMLTestRunner(stream=f, title='接口自动化测试报告', description='用例执行情况如下:', )
            runner.run(discover)
            f.close()  # 释放资源、关闭文件

    自动化测试报告

  • 相关阅读:
    代码手动修改约束(AutoLayout)
    iOS开发中手机号码和价格金额有效性判断及特殊字符的限制
    Mac下如何显示隐藏文件/文件夹
    Exp8 Web综合 20181308
    20181308 邵壮 Exp7 网络欺诈防范
    20181308 邵壮 Exp6 MSF应用基础
    重现Vim任意代码执行漏洞(CVE-2019-12735) 20181308
    密码引擎-加密API研究 20181308邵壮
    密码引擎-加密API实现与测试 20181308邵壮
    Exp5 信息搜集与漏洞扫描 20181308邵壮
  • 原文地址:https://www.cnblogs.com/xiaolehua/p/13806504.html
Copyright © 2020-2023  润新知