3.26-1 unittest框架

unittset框架

一.调用所有接口

unittest.main()

案例:

import  unittest
import  requests
from  time  import  *
class   Cms(unittest.TestCase):
    @classmethod
    def  setUpClass(cls) -> None:
       cls.s=requests.Session()
    @classmethod
    def   tearDownClass(cls) -> None:
        pass
    def  setUp(self) -> None:
        pass
    def  tearDown(self) -> None:
        pass
    def  test1_dl(self):
        url1 = "http://49.233.201.254:8080/cms/manage/loginJump.do"
        data1={'userAccount':'admin','loginPwd':'123456'}
        h1={"Content-Type":"application/x-www-form-urlencoded"}
        jk1=self.s.request("post",url=url1,data=data1,headers=h1)
        print(jk1.text)
    def  test2_yh(self):
        url2 = "http://49.233.201.254:8080/cms/manage/queryUserList.do"
        data2={
        'startCreateDat':'',
        'endCreateDate':'',
        'searchValue':'',
        'page':'1'
        }
        h2={"Content-Type":"application/x-www-form-urlencoded"}
        jk2=self.s.request("post",url=url2,data=data2,headers=h2)
        print(jk2.text)
    def test3(self):
        url3 = "http://49.233.201.254:8080/cms/manage/findCategoryByPage.do"
        data3 = {'parentId':'',
'categoryName':'',
'page':1}
        h3 = {"Content-Type": "application/x-www-form-urlencoded"}
        jk3 = self.s.request("post", url=url3, data=data3, headers=h3)
        print(jk3.text)

if __name__ == '__main__':
    unittest.main()

二.运行部分用例接口

unittest.TestSuite()套件
addTest 添加到套件中

添加环境变量

案例

import  unittest
import  requests
from  time  import  *
class   Cms(unittest.TestCase):
    @classmethod
    def  setUpClass(cls) -> None:
       cls.s=requests.Session()
    @classmethod
    def   tearDownClass(cls) -> None:
        pass
    def  setUp(self) -> None:
        url1 = "http://49.233.201.254:8080/cms/manage/loginJump.do"
        data1 = {'userAccount': 'admin', 'loginPwd': '123456'}
        h1 = {"Content-Type": "application/x-www-form-urlencoded"}
        jk1 = self.s.request("post", url=url1, data=data1, headers=h1)
        print(jk1.text)
    def  tearDown(self) -> None:
        pass
    # def  test1_dl(self):
    #
    def  test2_yh(self):
        url2 = "http://49.233.201.254:8080/cms/manage/queryUserList.do"
        data2={
        'startCreateDat':'',
        'endCreateDate':'',
        'searchValue':'',
        'page':'1'
        }
        h2={"Content-Type":"application/x-www-form-urlencoded"}
        jk2=self.s.request("post",url=url2,data=data2,headers=h2)
        print(jk2.text)
    def test3(self):
        url3 = "http://49.233.201.254:8080/cms/manage/findCategoryByPage.do"
        data3 = {'parentId':'',
'categoryName':'',
'page':1}
        h3 = {"Content-Type": "application/x-www-form-urlencoded"}
        jk3 = self.s.request("post", url=url3, data=data3, headers=h3)
        print(jk3.text)

if __name__ == '__main__':
    # unittest.main()
    tj=unittest.TestSuite()
    # tj.addTest(Cms("test2_yh"))
    tj.addTests([Cms("test2_yh"),Cms("test3")])
    unittest.TextTestRunner().run(tj)

第三,执行一个路径下的用例

unittest.TestLoader()

案例:

import  unittest
import  requests
from  time  import  *
import  os
class   Cms(unittest.TestCase):
    @classmethod
    def  setUpClass(cls) -> None:
       cls.s=requests.Session()
    @classmethod
    def   tearDownClass(cls) -> None:
        pass
    def  setUp(self) -> None:
        url1 = "http://49.233.201.254:8080/cms/manage/loginJump.do"
        data1 = {'userAccount': 'admin', 'loginPwd': '123456'}
        h1 = {"Content-Type": "application/x-www-form-urlencoded"}
        jk1 = self.s.request("post", url=url1, data=data1, headers=h1)
        print(jk1.text)
    def  tearDown(self) -> None:
        pass
    # def  test1_dl(self):
    #
    def  test2_yh(self):
        url2 = "http://49.233.201.254:8080/cms/manage/queryUserList.do"
        data2={
        'startCreateDat':'',
        'endCreateDate':'',
        'searchValue':'',
        'page':'1'
        }
        h2={"Content-Type":"application/x-www-form-urlencoded"}
        jk2=self.s.request("post",url=url2,data=data2,headers=h2)
        print(jk2.text)
    def test3(self):
        url3 = "http://49.233.201.254:8080/cms/manage/findCategoryByPage.do"
        data3 = {'parentId':'',
'categoryName':'',
'page':1}
        h3 = {"Content-Type": "application/x-www-form-urlencoded"}
        jk3 = self.s.request("post", url=url3, data=data3, headers=h3)
        print(jk3.text)

if __name__ == '__main__':
    # unittest.main()
    # tj=unittest.TestSuite()
    # # tj.addTest(Cms("test2_yh"))
    # tj.addTests([Cms("test2_yh"),Cms("test3")])
    # unittest.TextTestRunner().run(tj)
    path=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled12\dd"
    d=unittest.TestLoader().discover(start_dir=path,pattern="kj*.py")
    unittest.TextTestRunner().run(d)

第四生成报告

1.准备报告模板

2.导入模板

import  unittest
import  requests
from  dd.HTMLTestRunner3_New import  HTMLTestRunner
from  time  import  *
import  os
class   Cms(unittest.TestCase):
    @classmethod
    def  setUpClass(cls) -> None:
       cls.s=requests.Session()
    @classmethod
    def   tearDownClass(cls) -> None:
        pass
    def  setUp(self) -> None:
        url1 = "http://49.233.201.254:8080/cms/manage/loginJump.do"
        data1 = {'userAccount': 'admin', 'loginPwd': '123456'}
        h1 = {"Content-Type": "application/x-www-form-urlencoded"}
        jk1 = self.s.request("post", url=url1, data=data1, headers=h1)
        print(jk1.text)
    def  tearDown(self) -> None:
        pass
    # def  test1_dl(self):
    #
    def  test2_yh(self):
        url2 = "http://49.233.201.254:8080/cms/manage/queryUserList.do"
        data2={
        'startCreateDat':'',
        'endCreateDate':'',
        'searchValue':'',
        'page':'1'
        }
        h2={"Content-Type":"application/x-www-form-urlencoded"}
        jk2=self.s.request("post",url=url2,data=data2,headers=h2)
        print(jk2.text)
    def test3(self):
        url3 = "http://49.233.201.254:8080/cms/manage/findCategoryByPage.do"
        data3 = {'parentId':'',
'categoryName':'',
'page':1}
        h3 = {"Content-Type": "application/x-www-form-urlencoded"}
        jk3 = self.s.request("post", url=url3, data=data3, headers=h3)
        print(jk3.text)

if __name__ == '__main__':
    # unittest.main()
    # tj=unittest.TestSuite()
    # # tj.addTest(Cms("test2_yh"))
    # tj.addTests([Cms("test2_yh"),Cms("test3")])
    # unittest.TextTestRunner().run(tj)
    # path=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled12\dd"
    # d=unittest.TestLoader().discover(start_dir=path,pattern="kj*.py")
    # unittest.TextTestRunner().run(d)
    path=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled12\dd"
    bgpath = r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\untitled12\dd"
    d=unittest.TestLoader().discover(start_dir=path,pattern="kj*.py")
    new=strftime("%y-%m-%d %H-%M-%S")
    file=bgpath+"/"+str(new)+" __jk.html"
    f=open(file,"bw")
    HTMLTestRunner(
        stream=f,title="接口自动化测试报告",description="接口用例执行情况",tester="dcs"
    ).run(d)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值