def setUp(self): self.Log = Logger() self.r = Read_xls(test_data_path)
class TestAll(unittest.TestCase): def setUp(self): self.Log = Logger() self.r = Read_xls(test_data_path) def tearDown(self): self.Log.close() @data(*booknames) def test_run(self, bookname): writedata.creattable(bookname) test_data = [] self.test_datas = self.r.read_data(bookname, 1) keys_list = self.r.read_data(bookname, 0)[0] if mode == 1: Logger().info("[mode:1],本次测试执行基本流测试用例") for i in range(len(self.test_datas)): if self.test_datas[i][1] == 1: test_data.append(self.test_datas[i]) i += 1 else: continue elif mode == 0: Logger().info("[mode:0],本次测试执行全部测试用例") test_data = self.test_datas datas = [] datas.append(keys_list) datas.append(test_data) keys_list = datas[0] test_data = datas[1] self.header = ["case_num", "explain", "result", "data", "code"] # 第四个开始设置你需要的值(要和报文字典的key值对应) for n in range(len(self.header)): writedata.write_onlydata(0, n, self.header[n]) for tdata in test_data: global row ruselt_path = Project_path.TestResult_path + now + self.__class__.__name__ + ".xls" testcase_num = tdata[0] explain = tdata[2] url = tdata[3] type = tdata[4] expectation = tdata[5] m = 6 # 前面有几个非参数字段这里写几 data = Change().list_dict(tdata, keys_list, m) result = Request(host).request(url, data, type) try: self.assertEqual(result["code"], expectation, "与期望值不符") test_result = "Pass" except Exception as e: self.Log.error("第%s条用例[%s]测试失败【%s】" % (testcase_num, explain, e)) test_result = "Faile" raise e else: self.Log.info("第%s条用例[%s]测试通过" % (testcase_num, explain)) finally: writedata.write_onlydata(row, 0, testcase_num) writedata.write_onlydata(row, 1, explain) writedata.write_onlydata(row, 2, test_result) writedata.write_onlydata(row, 3, str(result)) for h in range(len(self.header)): if self.header[h] in list(result.keys()): writedata.write_onlydata(row, h, str(result[self.header[h]])) row += 1 writedata.save_excel(ruselt_path) row = 1
from Common.http_request import Request from Common.list_dict import Change from Common.conf import Read_conf from Conf import Project_path from Common.log import Logger import time import unittest from ddt import ddt, data test_data_path = Project_path.TestData_path + "Test_data.xls" mode_path = Project_path.Conf_path + "interf_TestMode.conf" http_conf_path = Project_path.Conf_path + "http.conf" host = Read_conf(http_conf_path).get_value("HTTP", "host") mode = Read_conf(mode_path).get_value("Mode", "login_mode") booknames = Read_xls(test_data_path).get_workbook() writedata = WriteExcel() now = time.strftime('%Y-%m-%d-%H-%M') row = 1 @ddt class TestAll(unittest.TestCase): def setUp(self): self.Log = Logger() self.r = Read_xls(test_data_path) def tearDown(self): self.Log.close() @data(*booknames)
from Common.read_xls_news import Read_xls from Common.mysql import MySql from Common.conf import Read_conf yidian = "E:/python_space/1test/yidian.xls" r_xls = Read_xls(yidian) data = r_xls.read_data() print(data) yidian_db = "E:/python_space/1test/yidian.conf" config = Read_conf(yidian_db).get_value("YiDian", "config") sql1 = "INSERT INTO bp_event_copy VALUES(%s,%s,%s,'2018-05-23 13:51:56',%s,%s)" sql2 = "Select * from bp_event" MySql(config).insert_manydata(sql1, data) a = MySql(config).read_data(sql2) print(a[-1]) # for each in data: # sql="INSERT INTO bp_event VALUES(%s,%s,%s,'2018-05-23 13:51:56',%s,%s)" # MySql(config).insert_data(sql,tuple(each))
def __init__(self): self.Log=Logger() self.r = Read_xls(test_data_path) self.writedata = WriteExcel()
class Interfere(): def __init__(self): self.Log=Logger() self.r = Read_xls(test_data_path) self.writedata = WriteExcel() def sheet_books(self): self.books = self.r.get_workbook() return self.books def get_data(self,bookname): # self.r = Read_xls(test_data_path) # books = self.r.get_workbook() test_data=[] self.test_datas = self.r.read_data(bookname, 1) keys_list = self.r.read_data(bookname, 0)[0] if mode == 1: Logger().info("[mode:1],本次测试执行基本流测试用例") for i in range(len(self.test_datas)): if self.test_datas[i][1] == 1: test_data.append(self.test_datas[i]) i += 1 else: continue elif mode == 0: Logger().info("[mode:0],本次测试执行全部测试用例") test_data = self.test_datas datas=[] datas.append(keys_list) datas.append(test_data) return datas def test_run( self,book_name,test_data,keys_list): # 创建表格,建立表头 self.writedata.creattable(book_name) self.header = ["case_num", "explain", "result", "data", "code"] # 第四个开始设置你需要的值(要和报文字典的key值对应) for n in range(len(self.header)): self.writedata.write_onlydata(0, n, self.header[n]) for tdata in test_data: global row ruselt_path = Project_path.TestResult_path + now + self.__class__.__name__ + ".xls" testcase_num = tdata[0] explain = tdata[2] url = tdata[3] type = tdata[4] expectation = tdata[5] m = 6 # 前面有几个非参数字段这里写几 data = Change().list_dict(tdata, keys_list, m) result = Request(host).request(url, data, type) try: assert result["code"] == expectation, "与期望值不符" test_result = "Pass" except Exception as e: self.Log.error("第%s条用例[%s]测试失败【%s】" % (testcase_num, explain, e)) test_result = "Faile" raise e else: self.Log.info("第%s条用例[%s]测试通过" % (testcase_num, explain)) finally: self.writedata.write_onlydata(row, 0, testcase_num) self.writedata.write_onlydata(row, 1, explain) self.writedata.write_onlydata(row, 2, test_result) self.writedata.write_onlydata(row, 3, str(result)) for h in range(len(self.header)): if self.header[h] in list(result.keys()): self.writedata.write_onlydata(row, h, str(result[self.header[h]])) row += 1 self.writedata.save_excel(ruselt_path) row = 1