多测师讲解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()  # 释放资源、关闭文件

自动化测试报告

原文地址:https://www.cnblogs.com/xiaolehua/p/13806504.html