def get_sheets(self): """ 获取表格的所有sheets页 :return:sheet页列表 """ sheet_names = self.rb.sheet_names() log.info("表格的sheet页: %s" % sheet_names) return sheet_names
def __init__(self, filename=''): ''' Constructor ''' if CONSTANT.RES_PATH in filename: self.file = filename else: self.file = os.path.join(CONSTANT.RES_PATH, filename) log.info("==========正在打开的表格名称:%s============" % self.file) self.rb = xlrd.open_workbook(filename=self.file)
def __init__(self, filename): if filename: if CONSTANT.RES_PATH in filename: self.file = filename else: self.file = os.path.join(CONSTANT.RES_PATH, filename) log.info("===========正在打开的表格名称:%s================" % self.file) rb = xlrd.open_workbook(filename=self.file) self.wb = copy(rb) else: log.info("新建表格") self.wb = xlwt.Workbook()
def testName1(self, usr, pwd, rst): log.info("step: 测试登录接口") cmd = 'account_access' self.gt_in.set_body(key="cmd", value=cmd) self.gt_in.set_body(key="data", sec='user_name', value=usr) body = self.gt_in.set_body(key="data", sec='password', value=pwd) self.gt_in.send(data=body) body_raw = self.gt_in.recv() if 'time out' not in body_raw: body_dict = json.loads(body_raw) result = body_dict["data"]["result"] else: result = "" log.info("checkpoint: 检查登陆成功") print(result) self.assertEqual(result, rst, msg="测试结果不为%s" % rst)
def get_email(self, key, key_type=''): ''' * @Title: get_email * @Description:读取邮件配置信息 * @parameter: * @author: 011305 * @date 2021年4月13日 下午6:25:08 ''' if key_type == "int": value = self.cf.getint("EMAIL", key) elif key_type == "boolean": value = self.cf.getboolean("EMAIL", key) else: value = self.cf.get("EMAIL", key) log.info(key + ": " + str(value)) return value
class testcase005_test_ddt(unittest.TestCase): ''' * @Title:testcase005_test_ddt * @Description:测试数据驱动,登录接口 * @author: 011305 * @date 2021年4月13日 下午4:34:17 ''' @classmethod def setUpClass(cls): log.info("类预置条件: ") cls.gt_in = gate_interface() @classmethod def tearDownClass(cls): log.info("类收尾: ") cls.gt_in.close() def setUp(self): log.info("预置条件: ") def tearDown(self): log.info("收尾: ") @unittest.skip("不执行") @data( ("case0", "user", '123456', "ok"), ("case1", "user", '', "failed"), ) @unpack def testName(self, case, usr, pwd, rst): log.info("step: 测试登录接口") log.info(case) cmd = 'account_access' self.gt_in.set_body(key="cmd", value=cmd) self.gt_in.set_body(key="data", sec='user_name', value=usr) body = self.gt_in.set_body(key="data", sec='password', value=pwd) self.gt_in.send(data=body) body_raw = self.gt_in.recv() if 'time out' not in body_raw: body_dict = json.loads(body_raw) result = body_dict["data"]["result"] else: result = "" log.info("checkpoint: 检查登陆成功") print(result) self.assertEqual(result, rst, msg="测试结果不为%s" % rst)
def get_cols(self, sheet): """ 读取表格指定sheet页的所有列 :param sheet_name:sheet页名称 :return:所有行列表,合并单元格默认等于同一列的第一格数据 """ colus = [] sht = self.get_sheet(sheet) rows = sht.nrows cols = sht.ncols for i in range(cols): col = sht.col_values(colx=i, start_rowx=0, end_rowx=rows) colus.append(col) log.info("表格sheet页 ‘%s’ 的数据如下:" % sheet) for c in colus: log.info(c) return colus
def get_lines(self, sheet): """ 读取表格指定sheet页的所有行 :param sheet_name:sheet页名称 :return:所有行列表,合并单元格默认等于同一列的第一格数据 """ lines = [] sht = self.get_sheet(sheet) rows = sht.nrows cols = sht.ncols for i in range(rows): line = sht.row_values(rowx=i, start_colx=0, end_colx=cols) lines.append(line) log.info("表格sheet页 ‘%s’ 的数据如下:" % sheet) for l in lines: log.info(l) return lines
class testcase004_test_parameterize(unittest.TestCase): ''' * @Title:testcase004_test_parameterize * @Description:测试参数化,登录接口 * @author: 011305 * @date 2021年4月13日 下午2:04:49 ''' @classmethod def setUpClass(cls): log.info("类预置条件: ") cls.gt_in=gate_interface() def setUp(self): log.info("预置条件: ") @parameterized.expand([ ("case0", "user", '123456', "ok"), ("case1", "user", '', "failed"), ("case2", "user", '1234567', "failed"), ("case3", "admin", '123456', 'failed'), ("case4", "", '123456', "failed"), ]) def testName(self, case, usr, pwd, rst): log.info("step: 测试登录接口") log.info(case) cmd='account_access' self.gt_in.set_body(key="cmd", value=cmd) self.gt_in.set_body(key="data", sec='user_name', value=usr) body=self.gt_in.set_body(key="data", sec='password', value=pwd) self.gt_in.send(data=body) body_raw=self.gt_in.recv() if 'time out' not in body_raw: body_dict=json.loads(body_raw) result=body_dict["data"]["result"] else: result="" log.info("checkpoint: 检查登陆成功") print(result) self.assertEqual(result, rst, msg="测试结果不为%s"%rst)
def tearDown(self): log.info("收尾: ")
def setUp(self): log.info("预置条件: ")
def tearDownClass(cls): log.info("类收尾: ") cls.gt_in.close()
def setUpClass(cls): log.info("类预置条件: ") cls.gt_in = gate_interface()
def testName(self): log.info("step: 1.对比结果并将结果写回表格") gateway.compare_respose(self.filename) log.info("checkpoint: ")
def close(self): self.rb.release_resources() log.info("=========正在关闭表格:%s==========" % self.file)
def __init__(self): self.cf = configparser.ConfigParser() self.cf.read(configPath) log.info("配置文件打开ok")