接口测试之unittest框架(14.1)
接口测试之unittest框架
import unittest
import requests
from time import *
from jk.HTMLTestRunner3_New import HTMLTestRunner
class Cms(unittest.TestCase):
@classmethod
def setUpClass(cls) -> None: #类的开始
cls.s=requests.Session()
@classmethod
def tearDownClass(cls) -> None: #类的结束
print("类的结束")
def setUp(self) -> None: #方法开始
print(" 方法的开始")
def tearDown(self) -> None:
print("方法结束")
def test01_dl(self):
dl_url = 'http://cms.duoceshi.cn/cms/manage/loginJump.do'
dl_d = {'userAccount': 'admin', 'loginPwd': '123456'}
dl_h = "Content-Type:application/x-www-form-urlencoded"
jk = self.s.request("post", url=dl_url, data=dl_d, json=dl_h)
print(jk.text)
def test_02_lm(self):
lm_url = "http://cms.duoceshi.cn/cms/manage/findCategoryByPage.do"
lm_d = {'parentId': '', 'categoryName': '', 'page': '1'}
lm_h = {"Content-Type": "application/x-www-form-urlencoded"}
jk1 =self.s.request("post", url=lm_url, data=lm_d,json=lm_h)
print(jk1.text)
def api(self):
print("我自由,我单独")
if __name__ == '__main__':
# unittest.main() #第一种方法
# tj=unittest.TestSuite() ##第二种方法:
# tj.addTest(Cms("test01_dl"))
# r=unittest.TextTestRunner()
# r.run(tj)
课:
import unittest
import requests
from time import *
from ui_zdh.HTMLTestRunner3_New import HTMLTestRunner
class cms_jk(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):
url = r"http://192.168.100.129:8080/cms/manage/loginJump.do"
data={'userAccount':'admin','loginPwd':'123456'}
headers={"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}
dx=self.s.request(method="post",url=url,data=data,headers=headers)
print(dx.text) #{"code":"200","msg":"登录成功!","model":{}}
def test2_yh(self):
url2 = "http://192.168.100.129:8080/cms/manage/queryUserList.do"
data2={
"startCreateDate":"",
"endCreateDate":"",
"searchValue":"",
"page":1
}
headers2={"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"
}
dx2=self.s.request(method="post",url=url2,data=data2,headers=headers2)
print(dx2.text)
def dy(self):
print("独有")
if __name__ == '__main__':
# unittest.main()
# tj=unittest.TestSuite()
# tj.addTest(cms_jk("test1_dl"))
# unittest.TextTestRunner().run(tj)
# lj=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\dcs49\ui_zdh"
# bgllj=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\dcs49\ui_zdh"
# d=unittest.TestLoader().discover(start_dir=lj,pattern="jk1*.py")
# unittest.TextTestRunner().run(d)
lj=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\dcs49\ui_zdh"
bgllj=r"C:\Users\Administrator.USER-20231114RR\PycharmProjects\dcs49\ui_zdh"
d=unittest.TestLoader().discover(start_dir=lj,pattern="jk1*.py")
new=strftime("%y-%m-%d %H-%M-%S")
file=bgllj+"/"+str(new)+"_jk.html"
f=open(file,"bw")
HTMLTestRunner(
stream=f,description="用例执行情况",title="接口自动化测试",
tester="dcs"
).run(d)
配置路径
#第三种方法
# lj=r"C:\Users\Administrator\PycharmProjects\hz15\jk"
# d=unittest.TestLoader().discover(start_dir=lj,pattern="jk_bg*")
# r=unittest.TextTestRunner()
# r.run(d)
#第四种方法“”
导入报告模板,生成接口测试报告
lj = r"C:\Users\Administrator\PycharmProjects\hz15\jk"
d = unittest.TestLoader().discover(start_dir=lj, pattern="jk_bg*")
new=strftime("%y-%m-%d %H-%M-%S")
f=lj+"/"+str(new)+"_api.html"
file=open(f,"wb")
r=HTMLTestRunner(stream=file,title="接口自动化测试报告",tester="hz",description="用例执行情况")
r.run(d)
生成的测试报告:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现