接口自动化-unittest&unittestreport&ddt

被测试的函数

def login_check(username=None,password=None):
	"""
	登录校验
	:param username:
	:param password:
	:return:
	"""
	if username !=None and password !=None:
		if username =="gxj" and password =='123':
			return {"code":0,"msg":"登录成功"}
		else:
			return {"code":1,"msg":"用户名或密码不正确"}
	else:
		return {"code":1,"msg":"用户名和密码不可为空"}

测试数据准备excel,文件扩展名:xlsx:

case_id title expected param result
1 登录成功 成功
2 登录失败 成功
import unittest
from day11.login_func import  login_check
from unittestreport import ddt,list_data
from day12.HandleExcel import Handle_excle
handle = Handle_excle(r"E:\pythoncode\Python基础\day12\apicase.xlsx", "Sheet1")
cases = handle.read()
@ddt
class Test_login(unittest.TestCase):
	# 准备用例数据
	# 调用被测试的函数,获取实际结果
	# 断言
	print(cases)
	@list_data(cases)
	def test_login(self,items):
		data =eval(items["param"])
		print(data)
		expected =eval(items["expected"])
		print(expected)
		res = login_check(**data)
		try:
			self.assertEqual(expected,res)
		except AssertionError as e:
			print(e)
			handle.write(int(items["case_id"])+1,5,"失败")
		else:
			handle.write(int(items["case_id"])+1,5,"成功")

用例收集器+执行

import unittest
from unittestreport import TestRunner
suit = unittest.defaultTestLoader.discover("E:\pythoncode\Python基础\day12")
runner = TestRunner(suit,filename="python自动化",
                    title='鸿源系统',
                 tester='高小杰',
                 desc="鸿源自营API项目测试生成的报告",
                 templates=1)
runner.run()

生成的测试报告


posted @   进击的bug~  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示