Example #1
0
 def __init__(self):
     try:
         self.fileName = contants.caseFile
         log.info(f'打开测试用例数据文件:{self.fileName}')
         self.workBook = openpyxl.load_workbook(filename=self.fileName)
     except FileNotFoundError as e:
         log.error(f'用例文件: {self.fileName}不存在请检查\n{e}')
Example #2
0
 def __init__(self, method, url, data=None, cookies=None, header=None):
     try:
         log.info(f'开始发起请求: 请求方式{method}, 请求url={url}, \n请求参数={data}')
         if method == 'get':
             self.res = requests.get(url=url, params=data, cookies=cookies)
         elif method == 'post':
             self.res = requests.post(url=url, json=data, cookies=cookies)
         else:
             log.info(f'没有添加{method}这个请求方法请优化Requests类')
     except Exception as e:
         log.error(f'未知异常请检查request请求\n{e}')
Example #3
0
 def fetch_all(self, sqlValue):  # 查询多条数据并且返回
     # 修改返回值为数组键值对 cursor=pymysql.cursors.DictCursor
     cursor = self.db.cursor()
     try:
         # 按照sql进行查询
         cursor.execute(sqlValue)
         # 返回一条数据 还有 all size(自己控制)
         data = cursor.fetchall()
         return data
     except pymysql.err.ProgrammingError as e:
         log.error(f"请检查sql是否正确 sql={sqlValue}")
         raise e
     finally:
         self.close_connect()
Example #4
0
 def writeExcel(self, sheetName, caseId, actual, result):
     sheet = self.workBook[sheetName]
     maxRow = sheet.max_row
     for row in range(2, maxRow + 1):
         # 取出每一行的caseId
         _caseId = sheet.cell(row=row, column=1).value
         try:
             # 判断取出caseId是否等于传入的caseId
             if _caseId == caseId:
                 # 写入 actual 和 result
                 sheet.cell(row, 7).value = actual
                 sheet.cell(row, 8).value = result
                 self.workBook.save(filename=self.fileName)
                 break
         except Exception as e:
             log.error(f'写入excel异常请检查\n{e}')
Example #5
0
 def fetch_one(self, sqlValue, name=None):
     # 修改返回值为数组键值对 cursor=pymysql.cursors.DictCursor
     cursor = self.db.cursor()
     try:
         # 按照sql进行查询
         cursor.execute(sqlValue)
         if name is None:
             # 返回一条数据 还有 all size(自己控制)
             data = cursor.fetchone()
             return data[0]
         elif name is not None:
             data = cursor.fetchone()
             return data[0]
     except Exception as e:
         log.error(f"请检查sql是否正确 sql={sqlValue}")
         raise e
     finally:
         self.close_connect()
Example #6
0
 def __init__(self, connectName):
     config = ConfigLoader()
     if connectName != 'mysql':
         host = config.get(connectName, 'host')
         user = config.get(connectName, 'user')
         pwd = config.get(connectName, 'pwd')
         port = config.getint(connectName, 'port')
     else:
         host = config.get('mysql', 'host')
         user = config.get('mysql', 'user')
         pwd = config.get('mysql', 'pwd')
         port = config.getint('mysql', 'port')
     try:
         self.db = pymysql.connect(host=host,
                                   user=user,
                                   password=pwd,
                                   database=None,
                                   port=int(port))
     except TimeoutError as e:
         log.error(
             f'数据库链接超时请检查,地址{host},用户名{user},密码{pwd},端口号{port} \n {e}')
         raise e
     except IndentationError as e:
         log.error(f'数据库链接用户名不存在请检查 用户名:{user} \n {e}')
     except pymysql.err.OperationalError as e:
         log.error(f'用户名或密码错误请检查 用户名:{user} 密码:{pwd} \n {e}')
Example #7
0
 def jsonToOneValue(json, rule):
     try:
         value = jsonpath.jsonpath(json, rule)
         return value[0]
     except Exception as e:
         log.error(f"无法正常获取json内容请检查解析表达式{rule}", e)