检查一下代码哪里有错:import unittest import os import requests from unittestreport import ddt, list_data from common.handle_excel import HandleExcel from common.handle_path import data_dir from common.handle_conf import conf from common.handle_conf import log @ddt class TestCase(unittest.TestCase): excel = HandleExcel(os.path.join(data_dir, "新建 XLSX 工作表 (2).xlsx"), "login") cases = excel.data_read() base_url = conf.get("evn", "base_url") @list_data(cases) def test_func(self, item): # 准备数据 # 接口地址、请求头、请求方法,预期结果 url = self.base_url + "/login" headers = {"Content-Type": "application/json", "charset": "UTF-8"} # 获取请求参数、 parms = eval(item["data"]) # 获取请求方法,并将其转化为小写 method = item["method"].lower() # 预期结果 excepted = eval(item["excepted"]) # 获取实际结果 response=requests.request(method=method, url=url, json=parms, headers=headers) res=response.json() # 断言 try: self.assertEqual(excepted["code"],res["code"]) self.assertEqual(excepted["msg"],res["msg"]) # self.assertdictin(excepted,res) except AssertionError as e: log.error("用例---【{}】--执行失败".format(item["title"])) log.error(e) raise e else: log.info("用例---【{}】--执行通过".format(item["title"])) # 成员断言 # def assertdictin(self, excepted, res): # for k, v in excepted.items(): # if res.get(k) == v: # pass # else: # raise AssertionError("{}[k,v]not in {}".format(excepted, res))
时间: 2024-02-14 09:25:22 浏览: 66
在代码的最后,你注释掉了一个`assertdictin`方法,但是在`test_func`方法中调用了这个方法。这就导致了调用失败。你可以取消注释`assertdictin`方法,或者在`test_func`方法中直接使用`self.assertDictEqual(excepted, res)`进行断言。
相关问题
检查一下代码哪里有问题:import unittest import os import requests from unittestreport import ddt, list_data from common.handle_excel import HandleExcel from common.handle_path import data_dir from common.handle_conf import conf from common.handle_conf import log @ddt class TestCase(unittest.TestCase): excel = HandleExcel(os.path.join(data_dir, "新建 XLSX 工作表 (2).xlsx"), "login") cases = excel.data_read() base_url = conf.get("evn", "base_url") @list_data(cases) def test_func(self, item): # 准备数据 # 接口地址、请求头、请求方法,预期结果 url = self.base_url + "/login" headers = {"Content-Type": "application/json", "charset": "UTF-8"} # 获取请求参数、 parms = eval(item["data"]) # 获取请求方法,并将其转化为小写 method = item["method"].lower() # 预期结果 excepted = eval(item["excepted"]) # 获取实际结果 response=requests.request(method=method, url=url, json=parms, headers=headers) res=response.json() # 断言 try: self.assertEqual(excepted["code"],res["code"]) self.assertEqual(excepted["msg"],res["msg"]) except AssertionError as e: log.error("用例---【{}】--执行失败".format(item["title"])) log.error(e) raise e else: log.info("用例---【{}】--执行通过".format(item["title"]))
代码看起来没有明显的问题。它导入了所需的模块,并定义了一个`TestCase`类,该类继承自`unittest.TestCase`。在`TestCase`类中,使用`ddt`装饰器进行数据驱动测试,并定义了一个`test_func`方法来执行测试。
在`test_func`方法中,它准备了请求所需的数据,包括URL、请求头、请求方法和预期结果。然后发送请求并获取实际结果,最后使用`self.assertEqual`进行断言。
如果你遇到了问题,请提供错误信息或者具体的错误行号,这样我可以更好地帮助你找到问题所在。
import unittest from time import sleep from ddt import ddt, data, unpack from selenium import webdriver import openpyxl from selenium.webdriver.common.by import By def read_excel(): xlsx = openpyxl.load_workbook("D:\python\project\case\xl.xlsx") #打开路径内的xl
.xlsx文件 sheet = xlsx.active #获取活动的工作表 data = [] for row in sheet.rows: data.append([cell.value for cell in row]) #遍历每一行,将每一行的值存入data列表 return data
这段代码的作用是读取指定路径下的 .xlsx 文件,并将其中的数据存储在一个列表中。其中使用了 openpyxl 库来操作 Excel 文件,使用了列表推导式来遍历每一行并存储数据。
阅读全文