Python+ddt模块做接口自动化login登录用例【接口自动化框架设计系列】【多测师】
# coding=utf-8 """ =========================== Author:多测师_王sir Time:2020/5/20 17:24 Wechat:15367499889 Company:上海多测师信息有限公司 =========================== """ import unittest import os from library.ddt import ddt, data from common.readexcel import ReadExcel from common.handlepath import DATADIR from common.handleconfig import conf from common.handlerequests import SendRequest from common.handlelog import log case_file = os.path.join(DATADIR, "apicases.xlsx") print(case_file) @ddt class TestLogin(unittest.TestCase): excel = ReadExcel(case_file, "login") #拿到login工作簿的对象 cases = excel.read_data() #拿到Excel表格中的用例、是一个列表里面有3个字典用例 request = SendRequest() #创建了一个session对象 @data(*cases) def test_login(self, case): # 第一步:准备用例数据 url = conf.get("env", "url") + case["url"] method = case["method"] # print(url) #url = http://192.168.1.192:8080/cms/manage/loginJump.do # print(method) #post data = eval(case["data"]) headers = eval(conf.get("env", "headers")) expected = eval(case["expected"]) row = case["case_id"] + 1 # 第二步:发送请求,获取结果 response = self.request.send(url=url, method=method, data=data, headers=headers) res = response.json() #通过json把响应的参数转换为字典格式 print(res) # 第三步:断言(比对预期结果和实际结果) try: self.assertEqual(expected["code"], res["code"]) self.assertEqual(expected["msg"], res["msg"]) except AssertionError as e: self.excel.write_data(row=row, column=8, value="未通过") log.error("用例:{},执行未通过".format(case["title"])) log.exception(e) raise e else: self.excel.write_data(row=row, column=8, value="通过") log.info("用例:{},执行通过".format(case["title"])) if __name__ == '__main__': unittest.main()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)