Commit 949f5fbd by cym

修改

parent 2e097fe6

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: __init__.py
# Author: xxxxxxx
# Datetime: 2023/11/4 9:15
# Datetime: 2023/11/3 14:00
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: __init__.py
# Author: xxxxxxx
# Datetime: 2023/11/4 9:15
# Datetime: 2023/11/3 14:01
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
from InterfaceAutoTest.common.log import write_log
log = write_log()
\ No newline at end of file
log = write_log()
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: db.py
# Author: xxxxxxx
# Datetime: 2023/11/4 11:09
# Datetime: 2023/11/3 14:23
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
import pymysql
......@@ -14,36 +13,40 @@ from InterfaceAutoTest.common import log
from InterfaceAutoTest.common.read_ini import ReadIni
from InterfaceAutoTest.data_config.settings import *
class DB:
def __init__(self):
"""链接数据库,获取链接对象和游标对象"""
read_ini = ReadIni()
try:
self.conn = pymysql.connect(
host=read_ini.get_sql_mess(HOST),
port=int(read_ini.get_sql_mess(PORT)),
user=read_ini.get_sql_mess(USER),
password=read_ini.get_sql_mess(PWD),
database=read_ini.get_sql_mess(DATABASE),
host=read_ini.get_sql_message(HOST),
port=int(read_ini.get_sql_message(PORT)),
user=read_ini.get_sql_message(USER),
password=read_ini.get_sql_message(PWD),
database=read_ini.get_sql_message(DATABASE),
charset="utf8"
)
self.cursor = self.conn.cursor()
except:
log.error("链接数据库错误或者获取游标对象失败,请察看数据库的链接配置!!!")
raise pymysql.MySQLError("链接数据库错误或者获取游标对象失败,请察看数据库的链接配置!!!")
log.error("链接数据库错误或者获取游标对象失败!!!,请求察看数据库的链接配置.")
raise pymysql.MySQLError("链接数据库错误或者获取游标对象失败!!!,请求察看数据库的链接配置.")
def close(self):
self.cursor.close()
self.conn.close()
def delete(self, sql):
"""执行删除的sql语句"""
try:
self.cursor.execute(sql)
self.conn.commit()
except:
log.error("执行删除的sql语句错误,请察看对应的删除的sql语句!!!")
raise ValueError("执行删除的sql语句错误,请察看对应的删除的sql语句!!!")
log.error("执行删除的sql语句错误,请察看对应的删除的sql语句")
raise ValueError("执行删除的sql语句错误,请察看对应的删除的sql语句")
def select(self, sql, num=1):
"""执行查询的sql语句"""
try:
self.cursor.execute(sql)
select_result = self.cursor.fetchall()
......@@ -51,8 +54,14 @@ class DB:
return select_result[0][0]
elif select_result and num == 2:
return select_result[0][0], select_result[0][1]
elif select_result and num > 2:
elif select_result and num > 3:
return select_result
except:
log.error("执行查询的sql语句错误,请察看对应的查询的sql语句!!!")
raise ValueError("执行查询的sql语句错误,请察看对应的查询的sql语句!!!")
\ No newline at end of file
log.error("执行查询的sql语句错误,请察看对应的查询的sql语句")
raise ValueError("执行查询的sql语句错误,请察看对应的查询的sql语句")
if __name__ == '__main__':
db = DB()
sql = """SELECT * FROM uc_demension LIMIT 1"""
print(db.select(sql))
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: log.py
# Author: xxxxxxx
# Datetime: 2023/11/4 10:30
# Datetime: 2023/11/3 14:02
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
import os
import logging
import os
def write_log():
logger = logging.getLogger(name="ccc")
"""创建写入日志对象"""
logger = logging.getLogger(name="黄总")
logger.level = logging.NOTSET
log_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "report/log/ccc.log")
log_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "report/log/日志汇总.log")
handler = logging.FileHandler(log_path, mode="a", encoding="utf-8")
format = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s - %(name)s')
handler.setFormatter(format)
logger.addHandler(handler)
return logger
\ No newline at end of file
return logger
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: read_excel.py
# Author: xxxxxxx
# Datetime: 2023/11/4 11:09
# Datetime: 2023/11/3 14:31
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
import openpyxl
from InterfaceAutoTest.data_config.settings import *
from InterfaceAutoTest.common import log
from InterfaceAutoTest.common.read_ini import ReadIni
from InterfaceAutoTest.common.read_json import read_json
from InterfaceAutoTest.data_config.settings import *
class ReadExcel:
def __init__(self, table_name):
def __init__(self, table_nme, excel_path=None):
"""获取数据配置层中除了ini文件以外的所有文件的路径,再获取excel的工作表,再读取所有的json文件"""
self.read_ini = ReadIni()
excel_path = self.read_ini.get_file_path(EXCEL)
case_data_path = self.read_ini.get_file_path(CASE)
expect_data_path = self.read_ini.get_file_path(EXPECT)
sql_data_path = self.read_ini.get_file_path(SQL)
table_name = table_name
# 获取工作表名称
# table_name = self.read_ini.get_table_name(TABLE_NAME)
table_name = table_nme
wb = openpyxl.load_workbook(excel_path)
try:
self.ws = wb[table_name]
self.ws = wb[table_name]
except:
log.error("获取工作表失败,请察看工作表名称是否配置正确!!!")
raise KeyError("获取工作表失败,请察看工作表名称是否配置正确!!!")
self.case_data_dict = read_json(case_data_path)
self.expect_data_dict = read_json(expect_data_path)
self.sql_data_dict = read_json(sql_data_path)
def __get_cell_value(self, column, row):
def __get_cell_value(self, column: str, row: int) -> str:
"""获取指定单元格数据"""
try:
value = self.ws[column+str(row)].value
if value is None:
......@@ -43,26 +49,44 @@ class ReadExcel:
elif value.strip():
return value.strip()
except:
log.error("获取指定单元格数据失败,请察看输入的列号和行号是否正确!!")
raise KeyError("获取指定单元格数据失败,请察看输入的列号和行号是否正确!!")
log.error("获取指定单元格数据失败,请察看输入的列号和行号是否正确!!")
raise KeyError("获取指定单元格数据失败,请察看输入的列号和行号是否正确!!")
def module_name(self, row):
"""根据行号,获取模块名称"""
return self.__get_cell_value(MODULE, row)
def api_name(self, row):
"""根据行号,获取接口名称"""
return self.__get_cell_value(API, row)
def case_method(self, row):
return self.__get_cell_value(METHOD, row)
def title(self, row):
"""根据行号,获取用例标题"""
return self.__get_cell_value(TITLE, row)
def level(self, row):
"""根据行号,获取用例等级"""
return self.__get_cell_value(LEVEL, row)
def case_url(self, row):
"""根据行号,获取请求的url"""
return self.read_ini.get_host(URL_HOST_CUSTOM) + self.__get_cell_value(URL, row)
def case_method(self, row):
"""根据行号,获取请求方法"""
return self.__get_cell_value(METHOD, row)
def case_mime(self, row):
return self.__get_cell_value(MIME, row).lower()
"""根据行号,获取媒体类型"""
mime = self.__get_cell_value(MIME, row)
if mime:
return mime.lower()
def case_data(self, row):
"""根据行号,获取用例数据"""
case_data_key = self.__get_cell_value(CASE_DATA, row)
if case_data_key:
module_name = self.module_name(row)
api_name = self.api_name(row)
......@@ -73,6 +97,7 @@ class ReadExcel:
raise KeyError("请察看是否配置了用例数据!!!")
def expect_data(self, row):
"""根据行号,获取期望数据"""
expect_data_key = self.__get_cell_value(EXPECT_DATA, row)
module_name = self.module_name(row)
api_name = self.api_name(row)
......@@ -83,12 +108,16 @@ class ReadExcel:
raise KeyError("请察看是否配置了期望数据!!!")
def sql_type(self, row):
"""根据行号,获取sql语句类型"""
sql_type_value = self.__get_cell_value(SQL_TYPE, row)
if sql_type_value:
return sql_type_value.lower()
def sql_data(self, row):
"""根据行号,获取sql语句"""
sql_data_key = self.__get_cell_value(SQL_DATA, row)
if sql_data_key:
module_name = self.module_name(row)
api_name = self.api_name(row)
......@@ -99,26 +128,45 @@ class ReadExcel:
raise KeyError("请察看是否配置了sql数据!!!")
def update_key(self, row):
"""根据行号,获取更新的key"""
return self.__get_cell_value(UPDATE_KEY, row)
def get_data(self):
"""将测试数据存放在一个二维列表中"""
list_data = []
try:
for row in range(2, self.ws.max_row+1):
case_method = self.case_method(row)
for row in range(2, self.ws.max_row + 1):
# module_name
module_name = self.module_name(row)
# api
api_name = self.api_name(row)
# title
title = self.title(row)
# level
level = self.level(row)
# url
case_url = self.case_url(row)
# method
case_method = self.case_method(row)
# mime
case_mime = self.case_mime(row)
# case_data
case_data = self.case_data(row)
# expect_data
expect_data = self.expect_data(row)
# sql_type
sql_type = self.sql_type(row)
# sql_data
sql_data = self.sql_data(row)
# update_key
update_key = self.update_key(row)
list_data.append([case_method, case_url, case_mime, case_data, expect_data, sql_type, sql_data, update_key])
list_data.append(
[module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key])
else:
return list_data
except:
log.error("请察看excel中是否存在空行,如果存在,请删除空行!!")
raise TypeError("请察看excel中是否存在空行,如果存在,请删除空行!!")
log.error("请察看excel中是否存在空行,如果存在,请删除空行!!")
raise TypeError("请察看excel中是否存在空行,如果存在,请删除空行!!")
if __name__ == '__main__':
......
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: read_ini.py
# Author: xxxxxxx
# Datetime: 2023/11/4 10:30
# Datetime: 2023/11/3 14:05
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
import configparser
import os
from InterfaceAutoTest.common import log
from InterfaceAutoTest.data_config.settings import *
class ReadIni:
def __init__(self):
"""读取ini文件"""
self.data_config_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data_config")
ini_path = os.path.join(self.data_config_path, "config.ini")
self.conf = configparser.ConfigParser()
self.conf.read(ini_path, encoding="utf8")
self.conf.read(ini_path, encoding="utf-8")
def get_file_path(self, key):
"""根据key,获取file节点下文件的路径"""
try:
file_name = self.conf.get(FILE, key)
except:
log.error("输入file节点下的key错误,请察看配置文件!!!")
raise KeyError("输入file节点下的key错误,请察看配置文件!!!")
log.error("输入file节点下的key,错误,请求察看配置文件~!!!")
raise KeyError("输入file节点下的key,错误,请求察看配置文件~!!!")
file_path = os.path.join(self.data_config_path, file_name)
if os.path.isfile(file_path):
return file_path
else:
log.error("获取file节点下,文件的路径错误,请察看配置文件是否配置正确!!!")
raise FileExistsError("获取file节点下,文件的路径错误,请察看配置文件是否配置正确!!!")
log.error("获取file节点下,文件的路径错误,请察看配置文件是否配置正确~!!!")
raise FileExistsError("获取file节点下,文件的路径错误,请察看配置文件是否配置正确~!!!")
def get_host(self, key):
"""根据key,获取域名"""
try:
return self.conf.get(URL_HOST, key)
except:
log.error("输入host节点下的key,错误,请察看配置文件!!!")
raise KeyError("输入host节点下的key,错误,请察看配置文件!!!")
log.error("输入host节点下的key,错误,请求察看配置文件~!!!")
raise KeyError("输入host节点下的key,错误,请求察看配置文件~!!!")
def get_sql_mess(self, key):
def get_table_name(self, key):
"""根据key,获取工作表名称"""
try:
return self.conf.get(CONN_SQL, key)
return self.conf.get(TABLE, key)
except:
log.error("输入sql节点下的key,错误,请察看配置文件!!!")
raise KeyError("输入sql节点下的key,错误,请察看配置文件!!!")
log.error("输入table节点下的key,错误,请求察看配置文件~!!!")
raise KeyError("输入table节点下的key,错误,请求察看配置文件~!!!")
def get_table_name(self, key):
def get_sql_message(self, key):
"""根据key,获取数据库"""
try:
return self.conf.get(TABLE, key)
return self.conf.get(CONN_SQL, key)
except:
log.error("输入table节点下的key,错误,请察看配置文件!!!")
raise KeyError("输入table节点下的key,错误,请察看配置文件!!!")
log.error("输入sql节点下的key,错误,请求察看配置文件~!!!")
raise KeyError("输入sql节点下的key,错误,请求察看配置文件~!!!")
if __name__ == '__main__':
read_ini = ReadIni()
print(read_ini.get_file_path("excel"))
ini = ReadIni()
print(ini.get_sql_message("host"))
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: read_json.py
# Author: xxxxxxx
# Datetime: 2023/11/4 11:09
# Datetime: 2023/11/3 14:16
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
import json
import os
from InterfaceAutoTest.common import log
def read_json(filename):
"""读取json文件,将json文件的内容转成python对象,并返回"""
if os.path.isfile(filename) and filename.endswith(".json"):
try:
with open(filename, mode="r", encoding="utf-8") as f:
return json.load(f)
return json.loads(f.read())
except:
log.error("打开json文件获取json文件的内容序列化为python对象失败,请察看json文件是否有错误!!!")
raise FileExistsError("打开json文件获取json文件的内容序列化为python对象失败,请察看json文件是否有错误!!!")
log.error("开打json文件获取json文件的内容序列化为python对象失败,请察看json文件是否有错误!!!")
raise FileExistsError("开打json文件获取json文件的内容序列化为python对象失败,请察看json文件是否有错误!!!")
else:
log.error("json文件的路径不合法")
raise FileNotFoundError("json文件的路径不合法")
\ No newline at end of file
raise FileNotFoundError("json文件的路径不合法")
{
"认证接口": {
"登录系统": {
"LoginSuccess": {"password": "MTIzNDU2","username": "admin"},
"LoginErrorUsernameNone": {"password": "MTIzNDU2","username": ""},
"LoginErrorPasswordNone": {"password": "","username": "admin"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"code": "test_add_dem_ccc","description": "test_ccc的添加维度测试","isDefault": 0,"name": "test_ccc的添加维度"},
"AddDemErrorCodeNone": {"code": "","description": "test_ccc的添加维度测试","isDefault": 0,"name": "test_ccc的添加维度1"},
"AddDemErrorNameNone": {"code": "test_add_dem_ccc1","description": "test_ccc的添加维度测试","isDefault": 0,"name": ""}
},
"根据维度编码获取维度信息": {
"GetDemSuccess": {"code": "test_add_dem_ccc"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"code": "test_add_org_ccc","demId": "不知道","exceedLimitNum": 0,"grade": "","limitNum": 0,"name": "test_ccc的添加组织","nowNum": 0,"orderNo": 0,"parentId": "0"},
"AddOrgErrorCodeNone": {"code": "","demId": "不知道","exceedLimitNum": 0,"grade": "","limitNum": 0,"name": "test_ccc的添加组织1","nowNum": 0,"orderNo": 0,"parentId": "0"},
"AddOrgErrorNameNone": {"code": "test_add_org_ccc1","demId": "不知道","exceedLimitNum": 0,"grade": "","limitNum": 0,"name": "","nowNum": 0,"orderNo": 0,"parentId": "0"},
"AddOrgErrorDemIdNone": {"code": "test_add_org_ccc2","demId": "","exceedLimitNum": 0,"grade": "","limitNum": 0,"name": "test_ccc的添加组织2","nowNum": 0,"orderNo": 0,"parentId": "0"}
"认证接口":{
"登录系统":{
"LoginSuccess": {"password": "MTIzNDU2","username": "admin"},
"LoginErrorUsernameLong":{"password": "MTIzNDU2","username": "adminadminadminadminadminadmin"},
"LoginErrorUsernameShort":{"password": "MTIzNDU2","username": "a"},
"LoginErrorUsernameNone":{"password": "MTIzNDU2","username": ""},
"LoginErrorUsernameSpecial":{"password": "MTIzNDU2","username": "@#!@#!@"},
"LoginErrorPwdLong":{"password": "MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2","username": "admin"},
"LoginErrorPwdShort":{"password": "m","username": "admin"},
"LoginErrorPwdNone":{"password": "","username": "admin"},
"LoginErrorPwdSpecial":{"password": "@#!@#!@","username": "admin"},
"LoginErrorPwdError":{"password": "MTIzNDU222","username": "admin"}
}
},
"添加组织参数": {
"AddOrgParamsSuccess": {"query": {"orgCode": "test_add_org_ccc"}, "body": [{"alias":"sz","value":90}]}
"维度管理": {
"添加维度": {
"AddDemSuccess": {
"code": "dem_test57_abc",
"description": "测试维度57",
"isDefault": 0,
"name": "测试57期的维度"
}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"code": "dem_test57_abc"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"ids": "不知道"}
}
},
"根据组织编码删除组织": {
"DeleteOrgSuccess": "test_add_org_ccc"
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"code": "test_org_57",
"demId": "不知道",
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": "测试组织",
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
},
"添加组织参数": {
"AddOrgParamsSuccess": {"query": {"orgCode": "test_org_57"}, "body": [{"alias":"sz","value":9000}]}
},
"删除组织": {
"DelOrgSuccess": "test_org_57"
}
}
}
}
\ No newline at end of file
}
[file]
;case为用例数据文件
case=case_data.json
;expect为期望数据文件
expect=expect_data.json
sql=sql_data.json
;excel为用例管理文件
excel=APIAutoTest.xlsx
;sql语句的json文件
sql=sql_data.json
[host]
;host为被测系统的域名
host=http://120.46.172.186:8080
[table]
;table_name为excel的工作表名称
table_name=BPM
[sql]
;链接数据库的配置
host=120.46.172.186
port=3306
user=root
pwd=root@2023
database=eipsaas
[table]
table_name1=登录
table_name2=维度
table_name3=组织
[host]
host=http://120.46.172.186:8080
\ No newline at end of file
database=eipsaas
\ No newline at end of file
{
"认证接口": {
"登录系统": {
"LoginSuccess": {"username": "超级管理员","account": "admin", "loginStatus": true},
"LoginErrorUsernameNone": {"state": false, "message":"账号或密码错误"},
"LoginErrorPasswordNone": {"state": false, "message":"账号或密码错误"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"state": true, "message": "添加维度成功!"},
"AddDemErrorCodeNone": {"state": false, "message": "添加维度失败!"},
"AddDemErrorNameNone": {"state": false, "message": "添加维度失败!"}
},
"根据维度编码获取维度信息": {
"GetDemSuccess": {"demDesc": "test_ccc的添加维度测试"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"state": true, "message": "添加组织成功!"},
"AddOrgErrorCodeNone": {"state": false, "message": "添加组织失败!"},
"AddOrgErrorNameNone": {"state": false, "message": "添加组织失败!"},
"AddOrgErrorDemIdNone": {"state": false, "message": "添加组织失败!"}
"认证接口":{
"登录系统":{
"LoginSuccess": {"username": "超级管理","account": "admin", "loginStatus": true},
"LoginErrorUsernameLong":{"state": false, "message":"账号或密码错误"},
"LoginErrorUsernameShort":{"state": false, "message":"账号或密码错误"},
"LoginErrorUsernameNone":{"state": false, "message":"账号或密码错误"},
"LoginErrorUsernameSpecial":{"state": false, "message":"账号或密码错误"},
"LoginErrorPwdLong":{"state": false, "message":"账号或密码错误"},
"LoginErrorPwdShort":{"state": false, "message":"账号或密码错误"},
"LoginErrorPwdNone":{"state": false, "message":"账号或密码错误"},
"LoginErrorPwdSpecial":{"state": false, "message":"账号或密码错误"},
"LoginErrorPwdError":{"state": false, "message":"账号或密码错误"}
},
"刷新token": {
"RefreshSuccess": {"message": "刷新成功"}
}
},
"添加组织参数": {
"AddOrgParamsSuccess": {"state":true,"message":"保存组织参数成功!"}
"维度管理": {
"添加维度": {
"AddDemSuccess": {"state": true, "message": "添加维度成功!"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"demCode": "dem_test57_abc", "name": "测试57期的维度"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"state": true, "message": "删除维度成功"}
}
},
"根据组织编码删除组织": {
"DeleteOrgSuccess": {"state":true,"message":"删除组织成功!"}
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"state": true, "message": "添加组织成功!"}
},
"添加组织参数": {
"AddOrgParamsSuccess": {"state":true,"message":"保存组织参数成功!"}
},
"删除组织": {
"DelOrgSuccess": {"state":true,"message":"删除组织成功!"}
}
}
}
}
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: python_study
# ProjectName: test_57
# FileName: settings.py
# Author: xxxxxxx
# Datetime: 2023/11/4 10:29
# Datetime: 2023/11/3 17:03
# Description:
# 命名规范:文件名全小写+下划线,类名大驼峰,方法和变量小写+下划线连接,
# 常量大写,变量和常量用名词,方法用动词
#
# ---------------------------------------------------------------------------
# file节点名称====================
......@@ -22,10 +21,7 @@ SQL = "sql"
TABLE = "table"
# table节点名称=key的名称=======================
TABLE_NAME1 = "table_name1"
TABLE_NAME2 = "table_name2"
TABLE_NAME3 = "table_name3"
TABLE_NAME = "table_name"
# host节点名称=================
URL_HOST = "host"
......@@ -56,4 +52,7 @@ CASE_DATA = "I"
EXPECT_DATA = "J"
SQL_TYPE = "K"
SQL_DATA = "L"
UPDATE_KEY = "M"
\ No newline at end of file
UPDATE_KEY = "M"
{
"维度管理": {
"添加维度": {
"AddDemSuccess": "DELETE FROM uc_demension WHERE `CODE_`=\"test_add_dem_ccc\";"
"维度管理": {
"添加维度": {
"AddDemSuccess": "DELETE FROM uc_demension WHERE `CODE_`=\"dem_test57_abc\";"
},
"根据维度编码删除维度": {
"DeleteDemSuccess": "SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";"
}
},
"根据维度编码删除维度": {
"DeleteDemByIdsSuccess": "SELECT ID_ from uc_demension WHERE `CODE_`=\"test_add_dem_ccc\";"
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";",
"delete": "DELETE FROM uc_org WHERE `CODE_`=\"test_org_57\";"
}
}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "SELECT ID_ from uc_demension WHERE `CODE_`=\"test_add_dem_ccc\";",
"delete": "DELETE FROM uc_org WHERE `CODE_`=\"test_add_org_ccc\";"
},
"AddOrgErrorCodeNone": "SELECT ID_ from uc_demension WHERE `CODE_`=\"test_add_dem_ccc\";",
"AddOrgErrorNameNone": "SELECT ID_ from uc_demension WHERE `CODE_`=\"test_add_dem_ccc\";"
}
}
}
\ No newline at end of file
{"uuid": "43998ed6-e308-4d47-9cb4-7c7533cf8573", "befores": [{"name": "api_name", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306708}
\ No newline at end of file
{"uuid": "24a523df-6de9-44bd-8568-8b1c95d792e4", "befores": [{"name": "case_url", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306873}
\ No newline at end of file
{"uuid": "5eacf4bf-c634-4f37-b5eb-619f7d734376", "befores": [{"name": "case_method", "status": "passed", "start": 1699241329437, "stop": 1699241329438}], "start": 1699241329437, "stop": 1699241329588}
\ No newline at end of file
{"uuid": "5fba0b44-f569-41f8-b13a-eb8c2ba0c480", "befores": [{"name": "api_name", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340806}
\ No newline at end of file
{"uuid": "f62b63ab-f600-4641-af8b-eccb6acdaf2e", "befores": [{"name": "update_key", "status": "passed", "start": 1699241334299, "stop": 1699241334299}], "start": 1699241334299, "stop": 1699241334361}
\ No newline at end of file
{"uuid": "e8ea22b4-70bd-4bbd-977b-6b3da3f3eba9", "befores": [{"name": "case_data", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338557}
\ No newline at end of file
{"uuid": "d6a9ccca-c830-4179-ba08-e28dfaea6f8c", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336461}
\ No newline at end of file
{"uuid": "ae3b6e6a-0951-4caa-9964-ac9672293281", "befores": [{"name": "case_data", "status": "passed", "start": 1699241329438, "stop": 1699241329438}], "start": 1699241329438, "stop": 1699241329588}
\ No newline at end of file
{"uuid": "2e605151-7918-4ca5-b708-9e927c625a34", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307485}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369125588058112"}
\ No newline at end of file
{"uuid": "e17ef0a9-2860-4389-a912-c7b6f0d3eac0", "befores": [{"name": "level", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332283}
\ No newline at end of file
{"uuid": "46d97af8-5f22-4c28-a684-138cf63c1d87", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311867}
\ No newline at end of file
{"uuid": "493c25a4-71c4-4e68-9790-7a7399299e28", "befores": [{"name": "case_url", "status": "passed", "start": 1699241341434, "stop": 1699241341434}], "start": 1699241341434, "stop": 1699241341529}
\ No newline at end of file
{"uuid": "d1cbdef0-f57a-41d4-9172-eee0116505e1", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352601}
\ No newline at end of file
{"name": "反向用例-username为特殊字符-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username为特殊字符-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': '@#!@#!@'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241340909, "stop": 1699241341000, "uuid": "b883ba8d-ff7f-487a-8433-31e26e62801f", "historyId": "5f810b03db6dd841b303f2cda95b4f8a", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "9a7b73bd-b26b-42be-904d-48e9e59e8349", "befores": [{"name": "module_name", "status": "passed", "start": 1699241313887, "stop": 1699241313887}], "start": 1699241313887, "stop": 1699241313952}
\ No newline at end of file
{"uuid": "dd2863e1-c492-4100-b2e4-20862c5a64ee", "befores": [{"name": "case_method", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341428}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8F2D80>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8F2D80> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM1MH0.Yfrret163NiqN_tC0-vXuiv_3FLZTHIfw6-lQOKVZd61qtRge6H4pdryCUBe4t6yEAX49CeVlBtf6VCltySpkQ', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM1MH0.Yfrret163NiqN_tC0-vXuiv_3FLZTHIfw6-lQOKVZd61qtRge6H4pdryCUBe4t6yEAX49CeVlBtf6VCltySpkQ', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "f0fe8f90-d77c-419a-8c98-a6dade869178-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241349925, "stop": 1699241349977, "uuid": "08654395-af37-4c2c-95dd-66216902c5a4", "historyId": "945533095d595f885656cb2169c82c49", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "294a09b3-8c05-449f-afe6-ac41a910ce6b", "befores": [{"name": "module_name", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340806}
\ No newline at end of file
{"uuid": "b124453e-2c7c-4109-975a-d35ca7b3fce7", "befores": [{"name": "case_data", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304615}
\ No newline at end of file
{"uuid": "1d06ea98-48c0-4237-8848-0486d29bd2d7", "befores": [{"name": "case_data", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352458}
\ No newline at end of file
{"uuid": "8c6d5fd2-9f9b-4a94-ba40-68dc5e492a98", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341424}
\ No newline at end of file
{"uuid": "021441a5-8df0-43cc-9e62-b47700181731", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241341537, "stop": 1699241341537}], "start": 1699241341537, "stop": 1699241341654}
\ No newline at end of file
{"uuid": "a8b5e474-9b70-4533-8c67-c095d3fc34a4", "befores": [{"name": "module_name", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332284}
\ No newline at end of file
{"uuid": "bd5502e1-e49e-41c3-bb59-5b71f7ca0a05", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296221}
\ No newline at end of file
{"uuid": "2ed8b341-7bde-406a-81a0-c10a950e434f", "befores": [{"name": "case_data", "status": "passed", "start": 1699241352465, "stop": 1699241352465}], "start": 1699241352465, "stop": 1699241352529}
\ No newline at end of file
{"uuid": "6ed51c8b-1269-43f3-ab7e-5d9b41638fb8", "befores": [{"name": "api_name", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352268}
\ No newline at end of file
{"uuid": "535b54e5-e3e1-442b-bccb-e18f468a26ef", "befores": [{"name": "case_method", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352205}
\ No newline at end of file
{"uuid": "81f68b77-a22c-4f7e-924f-1b2a58ad579f", "befores": [{"name": "module_name", "status": "passed", "start": 1699241306711, "stop": 1699241306712}], "start": 1699241306711, "stop": 1699241306770}
\ No newline at end of file
{"uuid": "51700d74-814c-4d7e-b41b-683791941ae6", "befores": [{"name": "module_name", "status": "passed", "start": 1699241309724, "stop": 1699241309724}], "start": 1699241309724, "stop": 1699241309788}
\ No newline at end of file
{"uuid": "e37b79bc-8fdd-4251-9ffb-6418323578ae", "befores": [{"name": "case_url", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363518}
\ No newline at end of file
{"uuid": "8283356c-4d5c-447e-aee1-15a7e3b52c7a", "befores": [{"name": "api_name", "status": "passed", "start": 1699241349924, "stop": 1699241349924}], "start": 1699241349924, "stop": 1699241349989}
\ No newline at end of file
{"name": "反向用例-password特殊字符-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password特殊字符-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'password': '@#!@#!@', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241341332, "stop": 1699241341421, "uuid": "855fa3f7-dbbd-46e2-b759-ca11beaf5059", "historyId": "2982cd1ef72019862bfb8c33908896fc", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "803a571c-51f2-439c-b5cc-fd6b04d3a791", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296220}
\ No newline at end of file
{"uuid": "2a1a4d30-7c8e-4ede-8571-27ac2db067f5", "befores": [{"name": "update_key", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307583}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA98C780>('state')\nE + where <built-in method get of dict object at 0x0000019CBA98C780> = {'logId': '1721369162053337088', 'message': '', 'state': False}.get\nE + where {'logId': '1721369162053337088', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "5e195d34-2df1-4f83-a071-4d84d9808c9c-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721369114598981632'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241363376, "stop": 1699241363508, "uuid": "1c3c5413-4e5b-4c73-aac3-c651b84d4f0f", "historyId": "f1e2918eac3ee61caf842d9bd5ce58ce", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "fdf0f7cb-1e6e-44d4-a8cf-3b597e275086", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241302454, "stop": 1699241302454}], "start": 1699241302454, "stop": 1699241302525}
\ No newline at end of file
{"name": "test2", "status": "passed", "attachments": [{"name": "stdout", "source": "e29f2152-c036-4c4c-90da-7a2cfae738ec-attachment.txt", "type": "text/plain"}], "start": 1699241329752, "stop": 1699241329804, "uuid": "243fcaa7-175c-40fe-8eae-1329f12b184a", "historyId": "326d853d0df8edbfaa32cbad64ddfb30", "testCaseId": "326d853d0df8edbfaa32cbad64ddfb30", "fullName": "test_order.test_pytest_func.Test01#test2", "labels": [{"name": "feature", "value": "认证接口和维度管理流程"}, {"name": "epic", "value": "BPM_流程测试"}, {"name": "story", "value": "添加维度"}, {"name": "tag", "value": "dependency(depends=['Test01::test1'])"}, {"name": "parentSuite", "value": "test_order"}, {"name": "suite", "value": "test_pytest_func"}, {"name": "subSuite", "value": "Test01"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_order.test_pytest_func"}]}
\ No newline at end of file
{"uuid": "a9261270-98e3-4aa2-96aa-2fb1099842b8", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307384}
\ No newline at end of file
{"uuid": "74a6442e-8e7e-4fef-a40e-905018ad0220", "befores": [{"name": "level", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340699}
\ No newline at end of file
{"uuid": "58a64d36-acbd-4416-b7ef-18f1a30ee657", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296221}
\ No newline at end of file
{"uuid": "60f6fb8e-e4e5-4a22-b41b-fb5d3720efbe", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311866}
\ No newline at end of file
{"uuid": "60f0990a-02c2-44cd-8292-8133fece0eea", "befores": [{"name": "module_name", "status": "passed", "start": 1699241352464, "stop": 1699241352464}], "start": 1699241352464, "stop": 1699241352535}
\ No newline at end of file
{"uuid": "35ffee32-9993-4a87-bbc7-400f455e6366", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352200}
\ No newline at end of file
{"uuid": "cc53e4e7-2418-4b4d-808e-433c632af23f", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241341009, "stop": 1699241341009}], "start": 1699241341009, "stop": 1699241341108}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "6a7d4fe9-7ba9-4f45-afcb-cbb050db196f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241338483, "stop": 1699241338548, "uuid": "a283168f-46b3-45bb-9956-d3970ff72f45", "historyId": "43ae0f0fe3941795b4ca58a9e381a813", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "2c4206ca-6d26-4005-bc2a-77af22d46ce1", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307079}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "afe011b7-67bb-416d-aee6-31ad6342cb57-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '不知道'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241318670, "stop": 1699241318765, "uuid": "8c0c20bc-b780-47cc-ad93-3af580e6ee7e", "historyId": "72ebd6565d93c63b2a53a8d8b1508dc6", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8E8B80>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8E8B80> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxNn0.xfPbrROYSAqpJP-UNuhfrZ7_1fmY4vHXt_1BOesc10oimWGIO86xejGNYbre3sG12UGuDrJVseKKHmlwpcjVsA', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxNn0.xfPbrROYSAqpJP-UNuhfrZ7_1fmY4vHXt_1BOesc10oimWGIO86xejGNYbre3sG12UGuDrJVseKKHmlwpcjVsA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "c7421b70-5e0a-4508-9e19-e3d25580ea49-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241315963, "stop": 1699241316015, "uuid": "8be90697-3331-489f-803e-7242f013b9aa", "historyId": "94362f1a91e108df7dbfb54516c329ce", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "bc2e4f46-c87f-44c0-be29-97267848f2c3", "befores": [{"name": "case_url", "status": "passed", "start": 1699241341008, "stop": 1699241341008}], "start": 1699241341008, "stop": 1699241341112}
\ No newline at end of file
{"uuid": "33872826-3a54-4b5a-b38f-8530669487fa", "befores": [{"name": "case_data", "status": "passed", "start": 1699241341435, "stop": 1699241341435}], "start": 1699241341435, "stop": 1699241341528}
\ No newline at end of file
{"uuid": "3afa8ce1-6a19-4fc7-a8d7-6681bb5a7e78", "befores": [{"name": "level", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307182}
\ No newline at end of file
{"uuid": "dee0bbf0-9422-4def-b01b-0876ffd6a52f", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306707}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzEsImlhdCI6MTY5OTI0MTMzMX0.GU7fcCf68Y2wWyzCPbuIrx_eut3nZvuUxE-xqfC7ETDw8HhMhnpsjnY4P4LOtkxp9LgLcEd9hjt_q1a2I4c4GQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzMsImlhdCI6MTY5OTI0MTMzM30.Yuj9-BKCSwKe9o6WmGCCUNZqVqsJukgxXGDfF8LOg3YKJaAU0_wQEnItCvTHtksWHTUm42gZ9YWVyC5w2WGkYQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzUsImlhdCI6MTY5OTI0MTMzNX0.1Ubnafj-7G3rCENRJUQNRxxzlVN_NU_cLTdh6w5LHywUaHtM2021AYLp6uLnbc0o-tEZimClpRp4C8XngP4vmA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzcsImlhdCI6MTY5OTI0MTMzN30.vrKaXuH45etiu-vbsjISFiHVMng6A5s9BzBCZul8EbmGDURFu8XS7eY_UHlm3GiDi6gdOFic16423it7DSlyIg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "b6ba7690-f2f7-4026-af6e-d81cc7bc9a4c", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332281}
\ No newline at end of file
{"uuid": "111e4a80-eefa-4080-99d0-dd113d66075a", "befores": [{"name": "level", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347907}
\ No newline at end of file
{"uuid": "baba4a99-9b6c-4d60-9c75-4783c9fd99be", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363516}
\ No newline at end of file
{"uuid": "c0327354-8b3e-4f4a-81f4-96a276b38e3c", "befores": [{"name": "title", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304618}
\ No newline at end of file
{"uuid": "f8569bc4-7af8-46ca-bbdb-776800698c79", "befores": [{"name": "api_name", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363519}
\ No newline at end of file
{"name": "反向用例-password为空-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password为空-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': '', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241341224, "stop": 1699241341319, "uuid": "816ff72a-ac72-4d00-8673-f082c6159bbf", "historyId": "715df2d5ce04187a9a0ab6a32623056c", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "118ec5ec-21fc-4ea0-85a1-db2edd5f1e75-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241336385, "stop": 1699241336441, "uuid": "5d57c113-b7af-4f36-af11-2356b37d1d5b", "historyId": "43ae0f0fe3941795b4ca58a9e381a813", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "ef3bcd84-6282-4aa1-8693-5ff4e71b7db5", "befores": [{"name": "case_url", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352459}
\ No newline at end of file
{"uuid": "51d12ffb-bfa6-4dc1-bba6-f3fe617b9331", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241327233, "stop": 1699241327233}], "start": 1699241327233, "stop": 1699241327417}
\ No newline at end of file
{"uuid": "b2481616-8344-497e-b47e-7bf2a21d9b19", "befores": [{"name": "update_key", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330183}
\ No newline at end of file
{"uuid": "0d4a0c83-3113-4fb5-be4b-dc3e99e28ad2", "befores": [{"name": "update_key", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363515}
\ No newline at end of file
{"uuid": "09c81261-50d6-44c3-bbeb-797b84aaca18", "befores": [{"name": "case_method", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309786}
\ No newline at end of file
{"uuid": "acff6841-7a1f-414c-b6c7-f477f6ee05b9", "befores": [{"name": "title", "status": "passed", "start": 1699241311793, "stop": 1699241311793}], "start": 1699241311793, "stop": 1699241311869}
\ No newline at end of file
{"uuid": "904e1196-ec18-4721-9abe-673d04b5ce21", "befores": [{"name": "update_key", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307279}
\ No newline at end of file
{"uuid": "8b9cd043-1e77-4a45-8b8e-71e441736aa3", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340696}
\ No newline at end of file
{"uuid": "014a9eb1-86e9-4e5a-849e-f6fb4bdc5764", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307700}
\ No newline at end of file
{"uuid": "5278395c-87de-4b5f-bf31-50126fd5caa9", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307583}
\ No newline at end of file
{"uuid": "ad5f2e08-b174-4900-a98b-c9b74e3a3669", "children": ["25c2929a-2172-419b-b112-95c62e34117f", "a4ea8198-1d9f-418d-90d2-a2c5eb748fe4", "cc023b3b-1d33-4c40-b16c-5dc1a2e2be1d", "5d57c113-b7af-4f36-af11-2356b37d1d5b", "a283168f-46b3-45bb-9956-d3970ff72f45", "9c5bd2d7-2ced-46c6-b1b0-a362eb66ce6f", "9f20716b-104f-445f-b35c-cd148e2e1c5c", "fb19acb3-c4b6-478c-9bd5-926de375ee06", "9fdd418e-fb37-4adf-9143-2e2ecdf30502", "b883ba8d-ff7f-487a-8433-31e26e62801f", "41bf060d-bc0f-43a3-be98-843fccfb31f8", "696e7260-fc9d-4c4f-8bcc-32aa6fcb5f3e", "816ff72a-ac72-4d00-8673-f082c6159bbf", "855fa3f7-dbbd-46e2-b759-ca11beaf5059", "98f1495c-9916-4fb9-8bc4-93d25353ed1b", "8966aed8-398e-4341-a8da-9f5e2508c817", "514b0ca3-20fa-4340-8adb-d0ed616fb5ad", "c5a23263-31e7-4e8b-afc0-18eba9aeecee", "e9adba94-b96e-4e18-8dbc-4dc2fa28ceec", "08654395-af37-4c2c-95dd-66216902c5a4", "caea2a88-40f8-463c-93c4-54620fce9d88", "90537e68-d513-4944-8a77-02625747e916", "e06dae3a-9cab-4689-9d2f-7c33481dc91e", "4ed2ccae-7308-4ccf-926a-06fba7e5c903", "9723fb0a-b541-4de2-9737-2b8a2e144af5", "24fb17f3-4fdc-4025-bd8a-6e4270fa28aa", "f24c19fb-9eb8-4d7d-8f0c-8b36ea463aa3", "9d3e321b-b049-4aa7-a1b8-38a5b3359add", "b3fe2939-67d7-4088-95ee-4875f3b11de5", "05712add-90b7-4981-9f0c-5c42f0d0b338", "df13d057-ba93-4982-b993-66cc1a7f4e50", "1c3c5413-4e5b-4c73-aac3-c651b84d4f0f"], "befores": [{"name": "db_fix", "status": "passed", "start": 1699241329810, "stop": 1699241330020}], "afters": [{"name": "db_fix::0", "status": "passed", "start": 1699241363522, "stop": 1699241363522}], "start": 1699241329810, "stop": 1699241363522}
\ No newline at end of file
{"uuid": "0fc1664e-9f85-4119-8b51-aa53de5ef7c0", "befores": [{"name": "case_data", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352600}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzEsImlhdCI6MTY5OTI0MTMzMX0.GU7fcCf68Y2wWyzCPbuIrx_eut3nZvuUxE-xqfC7ETDw8HhMhnpsjnY4P4LOtkxp9LgLcEd9hjt_q1a2I4c4GQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzMsImlhdCI6MTY5OTI0MTMzM30.Yuj9-BKCSwKe9o6WmGCCUNZqVqsJukgxXGDfF8LOg3YKJaAU0_wQEnItCvTHtksWHTUm42gZ9YWVyC5w2WGkYQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "fdf384bf-766f-4ac3-a180-6b8aaa9a790a", "befores": [{"name": "case_data", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318596}
\ No newline at end of file
{"uuid": "62fcc1c5-800c-4d90-adf8-fd7ad7cdd2d9", "befores": [{"name": "level", "status": "passed", "start": 1699241318051, "stop": 1699241318053}], "start": 1699241318051, "stop": 1699241318140}
\ No newline at end of file
{"uuid": "84ff2755-2ed6-452d-b966-e4261a218006", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341425}
\ No newline at end of file
{"name": "反向用例-username为空-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username为空-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': ''}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241340810, "stop": 1699241340898, "uuid": "9fdd418e-fb37-4adf-9143-2e2ecdf30502", "historyId": "14183ab560fdbe324170499dde95acfe", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "3adb1530-3e56-4387-a6c9-f468692726de", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307583}
\ No newline at end of file
{"uuid": "872bb35b-4ab7-4172-a930-670e23da6900", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307279}
\ No newline at end of file
{"uuid": "b136bc78-33db-46ed-9e89-e45370b710c0", "befores": [{"name": "update_key", "status": "passed", "start": 1699241307086, "stop": 1699241307086}], "start": 1699241307086, "stop": 1699241307178}
\ No newline at end of file
{"uuid": "c663b1de-d44e-4d2d-929a-bafdc8ef3d9e", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307080}
\ No newline at end of file
{"uuid": "38f5f80b-ca8b-4ead-bb11-d9b145c3edac", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241300365, "stop": 1699241300365}], "start": 1699241300365, "stop": 1699241300432}
\ No newline at end of file
{"uuid": "51fe4e55-97e3-4486-947b-2b198b6b0e68", "befores": [{"name": "case_url", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320903}
\ No newline at end of file
{"uuid": "99434d3f-e9e6-45a8-b193-68ca6624e927", "befores": [{"name": "api_name", "status": "passed", "start": 1699241318292, "stop": 1699241318292}], "start": 1699241318292, "stop": 1699241318348}
\ No newline at end of file
{"uuid": "184c3b72-c9c5-4d6b-9638-3da732145843", "befores": [{"name": "title", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323065}
\ No newline at end of file
{"uuid": "549e5bf0-2c09-47ee-8804-0b92c751e570", "befores": [{"name": "case_method", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307488}
\ No newline at end of file
{"uuid": "d539d278-9145-4fb2-b066-9e5fd7b8c3de", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241351994, "stop": 1699241351994}], "start": 1699241351994, "stop": 1699241352051}
\ No newline at end of file
{"uuid": "e4b5a11a-c26e-4f3b-9eeb-d0a0277a08e6", "befores": [{"name": "case_method", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359185}
\ No newline at end of file
{"uuid": "b9aac03e-085d-4b56-971f-fad8cd925787", "befores": [{"name": "module_name", "status": "passed", "start": 1699241304550, "stop": 1699241304550}], "start": 1699241304550, "stop": 1699241304628}
\ No newline at end of file
{"uuid": "e24a4a91-8428-4e02-b1ba-1f47b49d926b", "befores": [{"name": "title", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318347}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA90FBC0>('state')\nE + where <built-in method get of dict object at 0x0000019CBA90FBC0> = {'logId': '1721369125588058112', 'message': '', 'state': False}.get\nE + where {'logId': '1721369125588058112', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "04285ac8-c6ae-4ef3-9bc5-c32f4731372f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721369114598981632'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241354725, "stop": 1699241354817, "uuid": "9d3e321b-b049-4aa7-a1b8-38a5b3359add", "historyId": "f1e2918eac3ee61caf842d9bd5ce58ce", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "364f8b85-de49-4fab-8a87-cf11ce73d845", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241352211, "stop": 1699241352211}], "start": 1699241352210, "stop": 1699241352264}
\ No newline at end of file
{"uuid": "a2c34430-5006-42a0-ba7f-289d01955f0c", "befores": [{"name": "module_name", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307083}
\ No newline at end of file
{"uuid": "59ac45ec-9a04-400c-a57e-c10afb4fa859", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352202}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织参数'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'body|query'"}, {"name": "case_data", "value": "{'query': {'orgCode': 'test_org_57'}, 'body': [{'alias': 'sz', 'value': 9000}]}"}, {"name": "expect_data", "value": "{'state': True, 'message': '保存组织参数成功!'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241318538, "stop": 1699241318593, "uuid": "aaa3575a-89d5-45d5-800f-b297d0490f6e", "historyId": "845799ffff9543caaefe1b6adebea5a7", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织参数"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "3261c2a3-223b-4bdb-a9e2-286bcf0ab0cc", "befores": [{"name": "case_url", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352056}
\ No newline at end of file
{"uuid": "ebdfda34-fe4e-4156-be45-1da881e7f8cf", "befores": [{"name": "case_method", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323064}
\ No newline at end of file
{"uuid": "0170c8c0-59fd-459f-8dd7-562137609603", "befores": [{"name": "update_key", "status": "passed", "start": 1699241341009, "stop": 1699241341009}], "start": 1699241341009, "stop": 1699241341106}
\ No newline at end of file
{"uuid": "66a0569d-8728-477c-90f0-176e1d8a1431", "befores": [{"name": "case_url", "status": "passed", "start": 1699241327232, "stop": 1699241327232}], "start": 1699241327232, "stop": 1699241327421}
\ No newline at end of file
{"uuid": "c0a72029-c406-4b83-b206-4322753cc78e", "befores": [{"name": "update_key", "status": "passed", "start": 1699241338483, "stop": 1699241338483}], "start": 1699241338483, "stop": 1699241338554}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA8C30C0>('state')\nE + where <built-in method get of dict object at 0x0000019CBA8C30C0> = {'logId': '1721369001419882496', 'message': '', 'state': False}.get\nE + where {'logId': '1721369001419882496', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "bc1adb10-92dd-4b84-ba8b-9884f0a34c5d-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721368972332384256'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241325082, "stop": 1699241325212, "uuid": "3e8d59d4-c964-41d9-995c-3320a9e337a8", "historyId": "72ebd6565d93c63b2a53a8d8b1508dc6", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "026d863a-867d-4ef4-8f82-6462e770a854", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313948}
\ No newline at end of file
{"uuid": "5af7981d-dbe1-4486-82bd-48fbd4d12dbb", "befores": [{"name": "title", "status": "passed", "start": 1699241334297, "stop": 1699241334297}], "start": 1699241334297, "stop": 1699241334365}
\ No newline at end of file
{"uuid": "07fca725-6f39-460c-9dcc-4614b7caa6ca", "befores": [{"name": "case_method", "status": "passed", "start": 1699241341536, "stop": 1699241341536}], "start": 1699241341536, "stop": 1699241341657}
\ No newline at end of file
{"uuid": "cb467114-edc5-4487-9aff-59895ab81b0b", "befores": [{"name": "update_key", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352200}
\ No newline at end of file
{"uuid": "2b86ed3a-78c9-4927-a798-2f57f709d05a", "befores": [{"name": "update_key", "status": "passed", "start": 1699241352211, "stop": 1699241352211}], "start": 1699241352211, "stop": 1699241352262}
\ No newline at end of file
{"uuid": "f6fa797b-2646-4539-b889-b4487275cdd1", "befores": [{"name": "title", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307587}
\ No newline at end of file
{"uuid": "4323b72d-9d19-46d5-a026-c4497c862ad9", "befores": [{"name": "case_url", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340805}
\ No newline at end of file
{"name": "test3", "status": "skipped", "statusDetails": {"message": "Skipped: test3 depends on test1", "trace": "('D:\\\\Document\\\\PythonDoc\\\\test_57\\\\venv\\\\lib\\\\site-packages\\\\pytest_dependency.py', 103, 'Skipped: test3 depends on test1')"}, "start": 1699241329805, "stop": 1699241329805, "uuid": "5915819f-2ab8-418f-9be6-6905e9625464", "historyId": "89cd2435d08b424feb1c8400a7795f4f", "testCaseId": "89cd2435d08b424feb1c8400a7795f4f", "fullName": "test_order.test_pytest_func.Test01#test3", "labels": [{"name": "feature", "value": "认证接口和维度管理流程"}, {"name": "epic", "value": "BPM_流程测试"}, {"name": "tag", "value": "dependency(depends=['test1', 'test2'])"}, {"name": "parentSuite", "value": "test_order"}, {"name": "suite", "value": "test_pytest_func"}, {"name": "subSuite", "value": "Test01"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_order.test_pytest_func"}]}
\ No newline at end of file
{"uuid": "95fb5e73-6702-4cc2-864f-1eba868fdf45", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325220}
\ No newline at end of file
{"uuid": "e29bbf4e-913c-4fb0-ad17-aa83ab3d09e3", "befores": [{"name": "module_name", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352208}
\ No newline at end of file
{"uuid": "6f318b56-cbaf-44b5-945b-91fb6eb057f8", "befores": [{"name": "module_name", "status": "passed", "start": 1699241306772, "stop": 1699241306774}], "start": 1699241306772, "stop": 1699241306875}
\ No newline at end of file
{"name": "反向用例-password特殊字符-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password特殊字符-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'password': '@#!@#!@', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241307391, "stop": 1699241307482, "uuid": "fa6f1ba9-657b-4b13-9fa1-c5648f068a67", "historyId": "cb723583afb362d9f2176ac1b5007fe8", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "217d75bb-13bb-44b2-b5ee-ba23ca24b4f1", "befores": [{"name": "case_method", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341216}
\ No newline at end of file
{"uuid": "8a863433-35d4-4b25-bddd-9665ecaccffd", "befores": [{"name": "api_name", "status": "passed", "start": 1699241352464, "stop": 1699241352464}], "start": 1699241352464, "stop": 1699241352534}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'添加维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'"}, {"name": "case_method", "value": "'post'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'dem_test57_abc', 'description': '测试维度57', 'isDefault': 0, 'name': '测试57期的维度'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '添加维度成功!'}"}, {"name": "sql_type", "value": "'delete'"}, {"name": "sql_data", "value": "'DELETE FROM uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "None"}], "start": 1699241352062, "stop": 1699241352200, "uuid": "90537e68-d513-4944-8a77-02625747e916", "historyId": "74268c07d32ec10996f5395783a8af90", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "添加维度"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "40640104-e0a5-478c-a88c-a5d165a9c6c9", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343730}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDIsImlhdCI6MTY5OTI0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDQsImlhdCI6MTY5OTI0MTM0NH0.IQvmGek4a7cF0D8CHTh927O6Ao1Pde5BQXxeX-7pUHechWiJhJFJZfP441j74Fg2qlp03MfiY39DtfT5F3R9EQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "5d77895d-c6bb-42c6-99ed-5513b5eb151c", "befores": [{"name": "level", "status": "passed", "start": 1699241306878, "stop": 1699241306878}], "start": 1699241306878, "stop": 1699241306976}
\ No newline at end of file
{"uuid": "3cf9ebd6-0fc4-48de-ac93-aca209f029fc", "befores": [{"name": "case_method", "status": "passed", "start": 1699241340908, "stop": 1699241340908}], "start": 1699241340908, "stop": 1699241341003}
\ No newline at end of file
{"uuid": "3ff34be0-c039-4ff5-98a3-15fc1b93dc5b", "befores": [{"name": "api_name", "status": "passed", "start": 1699241302453, "stop": 1699241302453}], "start": 1699241302453, "stop": 1699241302531}
\ No newline at end of file
{"uuid": "5fafb5f6-059b-49e4-9f03-51ea5b13e09a", "befores": [{"name": "case_data", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298326}
\ No newline at end of file
{"uuid": "c04153f2-bd35-4b14-8ad3-60b48547504c", "befores": [{"name": "title", "status": "passed", "start": 1699241352464, "stop": 1699241352464}], "start": 1699241352464, "stop": 1699241352531}
\ No newline at end of file
{"uuid": "653f819c-5db3-4167-83bb-6f9108b04fdd", "befores": [{"name": "case_url", "status": "passed", "start": 1699241340908, "stop": 1699241340908}], "start": 1699241340908, "stop": 1699241341004}
\ No newline at end of file
{"uuid": "8c5251b8-7107-4e99-ad92-0c1bcfde0023", "befores": [{"name": "case_url", "status": "passed", "start": 1699241334298, "stop": 1699241334298}], "start": 1699241334298, "stop": 1699241334365}
\ No newline at end of file
{"uuid": "02a1c127-c991-41c3-9871-b2f4bad832cc", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357014}
\ No newline at end of file
{"uuid": "db0b5136-3cd2-493c-bdf3-5a254c5acb37", "befores": [{"name": "case_url", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336464}
\ No newline at end of file
{"uuid": "f498d737-5c58-4e2e-9ab9-2d44f5bac64d", "befores": [{"name": "case_url", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352266}
\ No newline at end of file
{"uuid": "f9412a76-628d-428f-88d5-363962e31e39", "befores": [{"name": "title", "status": "passed", "start": 1699241341434, "stop": 1699241341434}], "start": 1699241341434, "stop": 1699241341531}
\ No newline at end of file
{"uuid": "bc6a5eba-75d5-4e66-9da0-fd879d412090", "befores": [{"name": "level", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307587}
\ No newline at end of file
{"uuid": "489f45f9-dd34-4eda-aaac-bd25a7e709cf", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318345}
\ No newline at end of file
{"uuid": "433c1c2d-981c-4592-a5e7-61dd1695ae91", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241352465, "stop": 1699241352465}], "start": 1699241352465, "stop": 1699241352528}
\ No newline at end of file
{"uuid": "fad4f58c-9b1b-4fdf-bf6f-e791c18496c5", "befores": [{"name": "title", "status": "passed", "start": 1699241341118, "stop": 1699241341119}], "start": 1699241341118, "stop": 1699241341218}
\ No newline at end of file
{"uuid": "c6451016-ccbd-48b1-8966-0b4ff3b19547", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352055}
\ No newline at end of file
{"uuid": "04a0268f-26df-40d0-9fbc-ae1c0d88a517", "befores": [{"name": "module_name", "status": "passed", "start": 1699241334297, "stop": 1699241334297}], "start": 1699241334297, "stop": 1699241334366}
\ No newline at end of file
{"uuid": "de6829e7-5217-4b2d-b0b0-e5d4b709550c", "befores": [{"name": "case_data", "status": "passed", "start": 1699241354724, "stop": 1699241354724}], "start": 1699241354724, "stop": 1699241354836}
\ No newline at end of file
{"uuid": "c1de3a46-2cf4-4f04-969e-5aafc58c11c2", "befores": [{"name": "title", "status": "passed", "start": 1699241306878, "stop": 1699241306878}], "start": 1699241306878, "stop": 1699241306976}
\ No newline at end of file
{"uuid": "102d269e-0a60-4615-ae2c-966a13a334a6", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341322}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "d73cf918-eba3-4d51-842b-fb3b98d0fd5c-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241334299, "stop": 1699241334354, "uuid": "cc023b3b-1d33-4c40-b16c-5dc1a2e2be1d", "historyId": "43ae0f0fe3941795b4ca58a9e381a813", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "4f2016d4-0ba6-4eb4-845b-80ca90afb4a7", "befores": [{"name": "case_data", "status": "passed", "start": 1699241318147, "stop": 1699241318147}], "start": 1699241318147, "stop": 1699241318285}
\ No newline at end of file
{"uuid": "ecb2c941-2c2b-4a6a-af22-2d5fa215252f", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298325}
\ No newline at end of file
{"uuid": "51ec138c-133a-45fe-8e8b-c4711da77cb8", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318530}
\ No newline at end of file
{"uuid": "7567e9f2-e5a9-43d9-8857-c428bd0a222e", "befores": [{"name": "case_method", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363518}
\ No newline at end of file
{"name": "反向用例-username过短-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username过短-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'a'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241306775, "stop": 1699241306868, "uuid": "b4378aff-ecfe-4240-9415-8a9e60aff97d", "historyId": "07338a16fb088ae4ca10c642c8c3ac9c", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "71a4041f-efe9-4e57-8be7-6304758d7a9e", "befores": [{"name": "update_key", "status": "passed", "start": 1699241327233, "stop": 1699241327233}], "start": 1699241327233, "stop": 1699241327407}
\ No newline at end of file
{"uuid": "d3915fb2-04c4-4aac-af17-c0180d7aeb54", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241352608, "stop": 1699241352608}], "start": 1699241352608, "stop": 1699241352713}
\ No newline at end of file
{"uuid": "b3caf5fa-6252-4b60-80ce-196d0c7c3d54", "befores": [{"name": "case_method", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313949}
\ No newline at end of file
{"uuid": "a17ea545-c3e0-4cc7-b515-abc999096c42", "befores": [{"name": "update_key", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318662}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTYsImlhdCI6MTY5OTI0MTI5Nn0.Xn3s7eqjuBBGRSai3BCwNTsou6eNV4eLfhpJSuWHrh32X2AbghJ_4QsnGiXg7tKWPnhWqwt3SVzklCLByZ2vYg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTksImlhdCI6MTY5OTI0MTI5OX0.vlFuJ9jl2d_0k74dae_QQ4CH0qy_3hl1EbylwL7RnokYU0DjbeV9De_KE6k8Bz3i6a3zqCSgkj6-APjxO57Q7w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "d16fac12-c3fd-4dbf-88a9-2bd57d98def4", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316024}
\ No newline at end of file
{"name": "反向用例-username过短-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username过短-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'a'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241340705, "stop": 1699241340800, "uuid": "fb19acb3-c4b6-478c-9bd5-926de375ee06", "historyId": "6670c611d08d37f99003253c5eb48773", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "3fe39bbd-45f2-4abc-b9ad-a02ac342df5e", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241327233, "stop": 1699241327233}], "start": 1699241327233, "stop": 1699241327418}
\ No newline at end of file
{"uuid": "5526d7a8-1976-4f30-9bf3-7934aa80fed7", "befores": [{"name": "case_method", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320903}
\ No newline at end of file
{"uuid": "ac616be0-410a-4812-b946-8057bba762f0", "befores": [{"name": "title", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309788}
\ No newline at end of file
{"uuid": "97d1d51c-cf13-4194-bb3e-e4f78e715375", "befores": [{"name": "case_data", "status": "passed", "start": 1699241300366, "stop": 1699241300366}], "start": 1699241300365, "stop": 1699241300432}
\ No newline at end of file
{"uuid": "e4c25ac2-87cd-49bf-8dd9-4e4d4aa53d6f", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318137}
\ No newline at end of file
{"uuid": "aa39cc32-cc7e-4819-964b-11b91dd261b4", "befores": [{"name": "case_data", "status": "passed", "start": 1699241341009, "stop": 1699241341009}], "start": 1699241341009, "stop": 1699241341109}
\ No newline at end of file
{"uuid": "89b056c0-492e-455e-9aca-7bfabd1f1ff5", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307079}
\ No newline at end of file
{"uuid": "b0f86c96-e129-4e37-80bf-ad5fe15a18be", "befores": [{"name": "api_name", "status": "passed", "start": 1699241318146, "stop": 1699241318146}], "start": 1699241318146, "stop": 1699241318288}
\ No newline at end of file
{"uuid": "45a514b9-7eb9-4b48-a50d-cc4d8350b88f", "befores": [{"name": "api_name", "status": "passed", "start": 1699241318669, "stop": 1699241318669}], "start": 1699241318669, "stop": 1699241318779}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8D7980>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8D7980> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "a6a523fb-0908-4a9c-b99d-4c3bab2b2ca5-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241307591, "stop": 1699241307690, "uuid": "8025c0e6-56b7-4727-a25a-c8f209a4f864", "historyId": "94362f1a91e108df7dbfb54516c329ce", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "f20748fd-6dd7-4255-9b6e-20f41620a115", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241300366, "stop": 1699241300366}], "start": 1699241300366, "stop": 1699241300431}
\ No newline at end of file
{"uuid": "1481342a-4918-4067-a00e-7b8ddfcda267", "befores": [{"name": "title", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330197}
\ No newline at end of file
{"uuid": "00540673-dd8a-49d3-9a40-b230f413b628", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241306878, "stop": 1699241306878}], "start": 1699241306878, "stop": 1699241306975}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDgsImlhdCI6MTY5OTI0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTAsImlhdCI6MTY5OTI0MTMxMH0.gbRbou24K4DowK5MFO-KuALkDCzcxCtyXMLFWpAgaKzMwt-JNDrBhOmrkRMKaEf7cxlZ4mZKxsrRckFDFuVeAA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTIsImlhdCI6MTY5OTI0MTMxMn0.SgpBpzWFUoXY67IcejMivM7-929nOofIdAawNmpg8IpRmaa0XS4ZwXCcumoYm7SZYhQ9HwgClpqiZMr5ypA6ug","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "fb2b4a6c-22ac-4288-a734-45e5e0180c1e", "befores": [{"name": "api_name", "status": "passed", "start": 1699241352270, "stop": 1699241352270}], "start": 1699241352270, "stop": 1699241352461}
\ No newline at end of file
{"uuid": "e325baee-ff9f-4548-b1b2-ce3a47054aff", "befores": [{"name": "api_name", "status": "passed", "start": 1699241341118, "stop": 1699241341118}], "start": 1699241341118, "stop": 1699241341219}
\ No newline at end of file
{"uuid": "05ebf7ec-ed71-4e04-b8a7-5a87bad2643e", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340899}
\ No newline at end of file
{"uuid": "0d3b06dd-9e2d-4dd1-a3c0-03c91bc8a0de", "befores": [{"name": "case_url", "status": "passed", "start": 1699241318146, "stop": 1699241318146}], "start": 1699241318146, "stop": 1699241318287}
\ No newline at end of file
{"uuid": "34149c90-a868-427f-aacc-93bb1e431f30", "befores": [{"name": "module_name", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307184}
\ No newline at end of file
{"uuid": "cf18af2b-139d-4529-b401-ae4199cbc9f1", "befores": [{"name": "case_data", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307080}
\ No newline at end of file
{"uuid": "246a0921-8ddd-4315-a359-fc0d23198b43", "befores": [{"name": "level", "status": "passed", "start": 1699241315960, "stop": 1699241315960}], "start": 1699241315960, "stop": 1699241316029}
\ No newline at end of file
{"uuid": "6d168a1e-47d4-4bd9-8812-c90dd1308bf5", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332280}
\ No newline at end of file
{"uuid": "617fc1a2-d9b5-4074-a0af-a289f73fb2ea", "befores": [{"name": "module_name", "status": "passed", "start": 1699241354723, "stop": 1699241354723}], "start": 1699241354723, "stop": 1699241354841}
\ No newline at end of file
{"uuid": "a188d99a-a67b-439c-b6b7-a49b175a30c6", "befores": [{"name": "case_url", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307488}
\ No newline at end of file
{"uuid": "d2d2abdd-a5d4-460b-b2d9-3d6c6ee2d2e3", "befores": [{"name": "case_url", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332282}
\ No newline at end of file
{"uuid": "1e113346-dcea-48d5-a358-5ba7bbe3e82b", "befores": [{"name": "case_data", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307383}
\ No newline at end of file
{"uuid": "8d192fca-ef0e-48da-a176-a3cecbdfb8f6", "befores": [{"name": "title", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306708}
\ No newline at end of file
{"uuid": "49218475-2484-43b4-9edb-e6eca847e26c", "befores": [{"name": "level", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323065}
\ No newline at end of file
{"uuid": "9c85e4fa-26ca-40ae-917b-e15d30b1e392", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320901}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369125588058112"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369134714863616"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369143862640640"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369152922337280"}
\ No newline at end of file
{"uuid": "04af0b63-646c-4d39-9ac9-c8764732b3ca", "befores": [{"name": "update_key", "status": "passed", "start": 1699241347844, "stop": 1699241347844}], "start": 1699241347844, "stop": 1699241347902}
\ No newline at end of file
{"uuid": "1ce384cf-2d7a-415a-843b-247d499f22c5", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306766}
\ No newline at end of file
{"uuid": "a9a0cb25-54cc-460f-9147-957bc48e3e36", "befores": [{"name": "module_name", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343735}
\ No newline at end of file
{"uuid": "42b4879f-a369-4d8e-8ee5-f4d8d3bc412f", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352599}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA94DEC0>('message')\nE + where <built-in method get of dict object at 0x0000019CBA94DEC0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "b5fe9f0b-23da-4b12-afd1-f978fe7c0117-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241341538, "stop": 1699241341642, "uuid": "8966aed8-398e-4341-a8da-9f5e2508c817", "historyId": "945533095d595f885656cb2169c82c49", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "21975406-39fa-4bea-9f84-0beba20ad987", "befores": [{"name": "level", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341429}
\ No newline at end of file
{"uuid": "16714d7d-72da-484c-a7b3-32370b3085bc", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320889}
\ No newline at end of file
{"uuid": "6140139c-3058-4ac6-9908-497c20e7104c", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241322919, "stop": 1699241322919}], "start": 1699241322919, "stop": 1699241323062}
\ No newline at end of file
{"uuid": "ac5b50ae-c12d-4e24-8dd0-93698648ede7", "befores": [{"name": "title", "status": "passed", "start": 1699241329437, "stop": 1699241329437}], "start": 1699241329437, "stop": 1699241329591}
\ No newline at end of file
{"uuid": "64e3b08a-0bd5-49fc-93f3-8fd621f1a6bd", "befores": [{"name": "case_data", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309785}
\ No newline at end of file
{"uuid": "33f4cb77-2c16-4e30-a588-c6ff1427ace9", "befores": [{"name": "title", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307183}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "9c222a04-4c5f-4f88-8070-546ee9a4f09b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241295928, "stop": 1699241295985, "uuid": "b68d4a4f-dfa4-40fd-b5b4-02f3a3eb6c35", "historyId": "d1c388aad145f24b482d8ba19a07cc20", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "fb6c82ba-e6a7-437e-974d-e18658a8ddd6", "befores": [{"name": "case_data", "status": "passed", "start": 1699241341537, "stop": 1699241341537}], "start": 1699241341537, "stop": 1699241341655}
\ No newline at end of file
{"uuid": "4d446cc6-28f6-41a8-b6f5-4a9525428b50", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306768}
\ No newline at end of file
{"uuid": "babd06ce-b63f-4f74-bee2-95d9563e5481", "befores": [{"name": "case_data", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307486}
\ No newline at end of file
{"uuid": "2b188b44-2f46-492f-9b37-93c41f4f2395", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343729}
\ No newline at end of file
{"uuid": "31a78e39-fa0b-4120-8195-c101796fb516", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352599}
\ No newline at end of file
{"uuid": "ec6e25ea-7bbe-44ac-9529-4d01ba75ffcf", "befores": [{"name": "module_name", "status": "passed", "start": 1699241318669, "stop": 1699241318669}], "start": 1699241318669, "stop": 1699241318779}
\ No newline at end of file
{"uuid": "99f17aa4-2a4e-4d94-bb50-cb45a9559694", "befores": [{"name": "title", "status": "passed", "start": 1699241318051, "stop": 1699241318051}], "start": 1699241318051, "stop": 1699241318142}
\ No newline at end of file
{"uuid": "ec31055c-12d9-4dba-b0c3-319885506657", "befores": [{"name": "title", "status": "passed", "start": 1699241340640, "stop": 1699241340641}], "start": 1699241340640, "stop": 1699241340700}
\ No newline at end of file
{"uuid": "71f84d3a-e4f1-4add-9ef4-9e936a619fcb", "befores": [{"name": "case_data", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320901}
\ No newline at end of file
{"uuid": "fbe90b9b-ea7c-444a-896d-342f6722431e", "befores": [{"name": "title", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318532}
\ No newline at end of file
{"uuid": "652f72ff-3201-4dcf-beb5-88d72f68bc9f", "befores": [{"name": "level", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352603}
\ No newline at end of file
{"uuid": "719f2f85-fd2d-4778-8a9e-d7f5ef1a1511", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357013}
\ No newline at end of file
{"uuid": "2f7ea76b-4390-4481-8e13-54a73207426b", "befores": [{"name": "title", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352603}
\ No newline at end of file
{"uuid": "47eca2bb-3504-4229-a08a-34bcd541ecc3", "befores": [{"name": "case_url", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340903}
\ No newline at end of file
{"name": "反向用例-password过长-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password过长-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241341009, "stop": 1699241341105, "uuid": "41bf060d-bc0f-43a3-be98-843fccfb31f8", "historyId": "f66a985f45f51d2029a5b01f731f68fb", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "23b8ac37-a736-43a3-b474-9ba4af403b64", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241341009, "stop": 1699241341009}], "start": 1699241341009, "stop": 1699241341107}
\ No newline at end of file
{"uuid": "7033b522-2145-4701-aabc-84a129b2868b", "befores": [{"name": "module_name", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361357}
\ No newline at end of file
{"uuid": "4428afbf-c93f-46c4-9dc5-b017cfe33958", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340804}
\ No newline at end of file
{"uuid": "2e1486bf-30f3-40f1-a54e-85e115fb82a5", "befores": [{"name": "api_name", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336467}
\ No newline at end of file
{"uuid": "e0cd3f80-6d6f-4d01-8ab4-45443f41bdd6", "befores": [{"name": "case_data", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318345}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368983254351872"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368992360185856"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369001419882496"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369010613796864"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369019694465024"}
\ No newline at end of file
{"uuid": "60ae1adb-5d7e-465c-b421-7389d333048e", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241338483, "stop": 1699241338483}], "start": 1699241338483, "stop": 1699241338555}
\ No newline at end of file
{"uuid": "fe5c740a-0165-4029-9413-de5b3358aa7f", "befores": [{"name": "case_method", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352055}
\ No newline at end of file
{"uuid": "731fd31a-4461-4472-b69b-e29244dbde24", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241302454, "stop": 1699241302454}], "start": 1699241302454, "stop": 1699241302528}
\ No newline at end of file
{"uuid": "22c88a4b-a95b-427e-a347-d072b520786f", "befores": [{"name": "api_name", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345817}
\ No newline at end of file
{"uuid": "2e8d7557-936f-44df-aecc-b559284beefa", "befores": [{"name": "case_data", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340901}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
\ No newline at end of file
{"uuid": "1b5b27e1-20c9-4c5a-b536-19081124f1ef", "befores": [{"name": "module_name", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307490}
\ No newline at end of file
{"uuid": "19a0cd21-9c34-43b9-9d3a-ce79082f9f8b", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241354724, "stop": 1699241354724}], "start": 1699241354724, "stop": 1699241354825}
\ No newline at end of file
{"uuid": "5c4070cc-bb30-4927-b251-f69b083f7e3e", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241300366, "stop": 1699241300366}], "start": 1699241300366, "stop": 1699241300430}
\ No newline at end of file
{"name": "反向用例-password错误-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password错误-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU222', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241341436, "stop": 1699241341525, "uuid": "98f1495c-9916-4fb9-8bc4-93d25353ed1b", "historyId": "cda9b2a41fc6ff284dd2f48110a77b78", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "fef87d4a-0a3b-4edf-be56-d367c51db540", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341215}
\ No newline at end of file
{"uuid": "bd70d63d-51a9-40ba-90be-c65f0494bb3d", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345814}
\ No newline at end of file
{"uuid": "1ba1feb7-7986-40c8-af43-7e62e0125a75", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347904}
\ No newline at end of file
{"uuid": "6133d56c-55d2-4e43-890b-aeb8e4f8102e", "befores": [{"name": "module_name", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352268}
\ No newline at end of file
{"uuid": "8f1890a2-97e1-47bd-ad4f-56bbd5166621", "befores": [{"name": "module_name", "status": "passed", "start": 1699241341008, "stop": 1699241341008}], "start": 1699241341008, "stop": 1699241341115}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8C2080>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8C2080> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM1Mn0.UPH9TxHGQjX4RCh-3A1v_mzoRb4CXw27nzrlQMDj0iV16TvWouJmOu7sYpLMf8qLFrDcz0lE8-wTdLZ-fe1A4A', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM1Mn0.UPH9TxHGQjX4RCh-3A1v_mzoRb4CXw27nzrlQMDj0iV16TvWouJmOu7sYpLMf8qLFrDcz0lE8-wTdLZ-fe1A4A', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "9894e268-fafe-4086-b29b-f56bef4b38b8-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241351994, "stop": 1699241352046, "uuid": "caea2a88-40f8-463c-93c4-54620fce9d88", "historyId": "945533095d595f885656cb2169c82c49", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "670c44ef-3c8a-447a-8af9-7f1c84dfa560", "befores": [{"name": "case_data", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363517}
\ No newline at end of file
{"uuid": "f8cbad34-8f8e-4793-a06f-f92575066ac5", "befores": [{"name": "update_key", "status": "passed", "start": 1699241318670, "stop": 1699241318670}], "start": 1699241318670, "stop": 1699241318773}
\ No newline at end of file
{"uuid": "4530e40f-a8ef-4e4d-b68d-3cb295fd4c33", "befores": [{"name": "module_name", "status": "passed", "start": 1699241318051, "stop": 1699241318051}], "start": 1699241318051, "stop": 1699241318143}
\ No newline at end of file
{"uuid": "ec83d525-8be8-4168-8cd8-e0c28c95d2e2", "befores": [{"name": "case_method", "status": "passed", "start": 1699241318669, "stop": 1699241318669}], "start": 1699241318669, "stop": 1699241318777}
\ No newline at end of file
{"uuid": "aeea2011-5195-4f67-a304-0dca91a61bf9", "befores": [{"name": "case_url", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318665}
\ No newline at end of file
{"uuid": "7a79b31d-2a44-4e4e-b191-fbed7415ee41", "befores": [{"name": "update_key", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311854}
\ No newline at end of file
{"uuid": "5a0edfa5-90f8-4a5f-8ec2-bcd34545abcf", "befores": [{"name": "level", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307386}
\ No newline at end of file
{"uuid": "1cea41d2-da66-4bd3-a3ae-7d43a1803cb7", "befores": [{"name": "api_name", "status": "passed", "start": 1699241341008, "stop": 1699241341008}], "start": 1699241341008, "stop": 1699241341115}
\ No newline at end of file
{"uuid": "a7a16472-69d3-47b3-90ab-2a72bf03ac05", "befores": [{"name": "title", "status": "passed", "start": 1699241302453, "stop": 1699241302453}], "start": 1699241302453, "stop": 1699241302530}
\ No newline at end of file
{"uuid": "6bbadd3c-5d81-4927-b419-3869d4f55259", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313947}
\ No newline at end of file
{"uuid": "91c17f79-dc90-4b4a-a126-f1c8997b1fc8", "befores": [{"name": "case_url", "status": "passed", "start": 1699241300365, "stop": 1699241300365}], "start": 1699241300365, "stop": 1699241300433}
\ No newline at end of file
{"name": "test1", "status": "passed", "attachments": [{"name": "stdout", "source": "62e985fe-c15b-4297-8df1-44d26369f041-attachment.txt", "type": "text/plain"}], "start": 1699241329691, "stop": 1699241329747, "uuid": "3178f290-4de8-439f-a2c8-603c88fdb27d", "historyId": "66cddb7086d1804407ef66bd5798ca98", "testCaseId": "66cddb7086d1804407ef66bd5798ca98", "fullName": "test_order.test_pytest_func.Test01#test1", "labels": [{"name": "feature", "value": "认证接口和维度管理流程"}, {"name": "epic", "value": "BPM_流程测试"}, {"name": "story", "value": "登录"}, {"name": "tag", "value": "dependency"}, {"name": "parentSuite", "value": "test_order"}, {"name": "suite", "value": "test_pytest_func"}, {"name": "subSuite", "value": "Test01"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_order.test_pytest_func"}]}
\ No newline at end of file
{"uuid": "d78bf1d8-f85b-4164-82f6-b8576b8a2b1d", "befores": [{"name": "update_key", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316023}
\ No newline at end of file
{"uuid": "87e74366-f9d3-4022-b46a-4d9a91720329", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241341435, "stop": 1699241341435}], "start": 1699241341435, "stop": 1699241341526}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA8BD1C0>('state')\nE + where <built-in method get of dict object at 0x0000019CBA8BD1C0> = {'logId': '1721368983254351872', 'message': '', 'state': False}.get\nE + where {'logId': '1721368983254351872', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "a022d1bb-6b24-4bc9-a7de-0e9b54974d31-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721368972332384256'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241320792, "stop": 1699241320881, "uuid": "72c6469a-44ee-4cf5-8e9f-969230b3b77e", "historyId": "72ebd6565d93c63b2a53a8d8b1508dc6", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "7d45775a-540a-40ac-bf86-848d7e032fa3", "befores": [{"name": "api_name", "status": "passed", "start": 1699241306878, "stop": 1699241306878}], "start": 1699241306878, "stop": 1699241306977}
\ No newline at end of file
{"uuid": "ed8d3158-6df9-481b-b7a4-b8a8a2fb0356", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318597}
\ No newline at end of file
{"uuid": "8d1dc583-623a-4f3b-bd8c-30d3b22b612d", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307179}
\ No newline at end of file
{"uuid": "9ed0367e-7697-4ffb-a53c-ef18be5b6b21", "befores": [{"name": "api_name", "status": "passed", "start": 1699241307590, "stop": 1699241307590}], "start": 1699241307590, "stop": 1699241307704}
\ No newline at end of file
{"uuid": "d2af5ae8-9dcc-4446-8235-b6fff2fa3290", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318664}
\ No newline at end of file
{"uuid": "764ba6dc-ece5-43a4-afd5-e163d6221fdc", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347905}
\ No newline at end of file
{"uuid": "843466ae-afe3-4f39-b654-dd909887d04e", "befores": [{"name": "title", "status": "passed", "start": 1699241300365, "stop": 1699241300365}], "start": 1699241300365, "stop": 1699241300434}
\ No newline at end of file
{"uuid": "b2b52815-d808-469d-8558-dcb9bf7c91e2", "befores": [{"name": "api_name", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352207}
\ No newline at end of file
{"uuid": "a31d1d96-b48e-4bbc-8bd5-ef11ced83284", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241340568, "stop": 1699241340568}], "start": 1699241340568, "stop": 1699241340633}
\ No newline at end of file
{"uuid": "2f8d40e2-1682-4f9a-8b75-a7b76573bd66", "befores": [{"name": "title", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307083}
\ No newline at end of file
{"uuid": "595d2dfc-ba8e-4605-86c7-e6f36736e5d5", "befores": [{"name": "title", "status": "passed", "start": 1699241325081, "stop": 1699241325082}], "start": 1699241325081, "stop": 1699241325225}
\ No newline at end of file
{"uuid": "42670154-62c3-42a6-ab7d-2ba2c4f289c3", "befores": [{"name": "module_name", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298341}
\ No newline at end of file
{"uuid": "14d36881-1d91-49b2-bab8-92d7c4ff9cd1", "befores": [{"name": "case_data", "status": "passed", "start": 1699241352608, "stop": 1699241352608}], "start": 1699241352608, "stop": 1699241352713}
\ No newline at end of file
{"uuid": "e82de47e-9f4c-4862-bf3f-d8dc3f173385", "befores": [{"name": "case_method", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307080}
\ No newline at end of file
{"uuid": "bd0e51a3-ea89-4361-938c-8b5f325084a7", "befores": [{"name": "title", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332283}
\ No newline at end of file
{"uuid": "35030ebf-b97a-43bf-8243-e39fc35b4044", "befores": [{"name": "case_url", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341325}
\ No newline at end of file
{"uuid": "a93515e6-8798-4539-9a4f-7fd2732bb6b9", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241341224, "stop": 1699241341224}], "start": 1699241341224, "stop": 1699241341321}
\ No newline at end of file
{"uuid": "988af018-d9f1-4aa9-9970-c998d5de962d", "befores": [{"name": "case_method", "status": "passed", "start": 1699241334298, "stop": 1699241334298}], "start": 1699241334298, "stop": 1699241334364}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTYsImlhdCI6MTY5OTI0MTI5Nn0.Xn3s7eqjuBBGRSai3BCwNTsou6eNV4eLfhpJSuWHrh32X2AbghJ_4QsnGiXg7tKWPnhWqwt3SVzklCLByZ2vYg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTksImlhdCI6MTY5OTI0MTI5OX0.vlFuJ9jl2d_0k74dae_QQ4CH0qy_3hl1EbylwL7RnokYU0DjbeV9De_KE6k8Bz3i6a3zqCSgkj6-APjxO57Q7w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDEsImlhdCI6MTY5OTI0MTMwMX0.-rBNLVLLkh-FYtTyF07nWpev9OgwpGi8BI6qcdvJmZWSuXM4Kf2dEKb6MvOrJzhdkynWhUoXNHK2HiiPOkTB5Q","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDMsImlhdCI6MTY5OTI0MTMwM30.najrgfkyREASF7s-L3iewvKRdx9Uisw1vAQaGaiqMR-xSo4-kqkiORymDmAN_RkNn8WmnPheN_Wn16bsp5cbXA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDUsImlhdCI6MTY5OTI0MTMwNX0._wZM3DPeDm6rP3ZB4WxTQe0GfuetaGPyTCfbcsUsKDTxE9ov3EbJ6mcK__HyLvWl72IvREhrawD3QYCQaNm6aQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "dc1f0f2d-55fc-42bb-b1e4-6dda757c1061", "befores": [{"name": "title", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307489}
\ No newline at end of file
{"uuid": "2b54415a-5bdd-47e2-92d1-32058cdb5a76", "befores": [{"name": "case_method", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343732}
\ No newline at end of file
{"uuid": "38861f77-4e1d-4dc3-a459-a4921fd3afc3", "befores": [{"name": "case_method", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298326}
\ No newline at end of file
{"uuid": "030ef1f0-207b-45c4-8175-e13be7573bc9", "befores": [{"name": "module_name", "status": "passed", "start": 1699241341118, "stop": 1699241341118}], "start": 1699241341118, "stop": 1699241341220}
\ No newline at end of file
{"uuid": "ccf68851-b705-45ca-9a27-41e9b075b6f3", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359184}
\ No newline at end of file
{"uuid": "1569ba2e-0376-4435-bff3-c3c1e20a926b", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241306879, "stop": 1699241306879}], "start": 1699241306879, "stop": 1699241306973}
\ No newline at end of file
{"uuid": "7881ced1-2db1-4ad4-ab6a-3f3da1962638", "befores": [{"name": "module_name", "status": "passed", "start": 1699241340567, "stop": 1699241340567}], "start": 1699241340567, "stop": 1699241340637}
\ No newline at end of file
{"uuid": "649a6007-4549-415d-84fc-45d903d2dfdb", "befores": [{"name": "case_method", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345815}
\ No newline at end of file
{"uuid": "2d2b2dcd-aab7-4b84-8bce-1b69d3714b7e", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304616}
\ No newline at end of file
{"uuid": "9355dcb9-be4b-4b6e-ae6c-a1712c4b3454", "befores": [{"name": "case_method", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318140}
\ No newline at end of file
{"uuid": "8ba06737-83a7-4e0d-9631-c9477023d234", "befores": [{"name": "case_data", "status": "passed", "start": 1699241340909, "stop": 1699241340909}], "start": 1699241340909, "stop": 1699241341002}
\ No newline at end of file
{"uuid": "3c345fdc-c2aa-4a20-877c-df3112ece5b7", "befores": [{"name": "case_data", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306768}
\ No newline at end of file
{"uuid": "b10903e7-e3cf-42c5-89a7-2de3eecc1752", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325220}
\ No newline at end of file
{"uuid": "a99276b0-fb20-4615-bd9d-e1ed1a68af65", "befores": [{"name": "title", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352207}
\ No newline at end of file
{"uuid": "9ac53670-a24f-4c6f-9535-ea18031f8c67", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316026}
\ No newline at end of file
{"uuid": "cdf6b98b-1028-4018-8077-39e50390d3fa", "befores": [{"name": "case_url", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345816}
\ No newline at end of file
{"uuid": "38654e1b-db78-4e7f-8562-c6609a41ddf5", "befores": [{"name": "case_url", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318598}
\ No newline at end of file
{"uuid": "d47dace9-cda6-470e-9259-b9d4c2d6a631", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359182}
\ No newline at end of file
{"uuid": "aaab5ca0-e3f4-44eb-a738-c678b268f042", "befores": [{"name": "level", "status": "passed", "start": 1699241318669, "stop": 1699241318669}], "start": 1699241318669, "stop": 1699241318778}
\ No newline at end of file
{"uuid": "e432efa5-150d-400f-a1dd-aaf2115fb114", "befores": [{"name": "api_name", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307285}
\ No newline at end of file
{"uuid": "22f780c9-69c5-4fef-88cc-ea5b7d8c3246", "befores": [{"name": "api_name", "status": "passed", "start": 1699241341434, "stop": 1699241341434}], "start": 1699241341434, "stop": 1699241341531}
\ No newline at end of file
{"uuid": "9cb2db3d-22c9-4a6c-9cff-4588235fed54", "befores": [{"name": "level", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363518}
\ No newline at end of file
{"uuid": "a8fde74c-73fe-47fd-a0f4-5120d528eded", "befores": [{"name": "title", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347907}
\ No newline at end of file
{"uuid": "90a8f310-2e24-423f-a4a4-36c01ccc2cc1", "befores": [{"name": "api_name", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318599}
\ No newline at end of file
{"uuid": "91c964a8-c1ab-4254-8ef8-4e474a90ed00", "befores": [{"name": "level", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318666}
\ No newline at end of file
{"uuid": "bfee3504-beec-4c6c-9174-8b6c8ee4e8ef", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241354724, "stop": 1699241354724}], "start": 1699241354724, "stop": 1699241354826}
\ No newline at end of file
{"uuid": "9cf475c4-eb42-447c-bd79-82ec6c387192", "befores": [{"name": "module_name", "status": "passed", "start": 1699241352537, "stop": 1699241352537}], "start": 1699241352537, "stop": 1699241352604}
\ No newline at end of file
{"uuid": "a89a2574-9823-4445-b894-c8fdc6e7d216", "befores": [{"name": "case_method", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306768}
\ No newline at end of file
{"uuid": "2fedce3d-05af-49b3-9955-7a660c7ada5e", "befores": [{"name": "case_method", "status": "passed", "start": 1699241352465, "stop": 1699241352465}], "start": 1699241352465, "stop": 1699241352530}
\ No newline at end of file
{"uuid": "7c7aa59d-09ed-4ff9-ab9f-e48247ca9e73", "befores": [{"name": "case_url", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325224}
\ No newline at end of file
{"uuid": "290eb14f-8359-4fd1-a428-2c6dd359c4d2", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241351994, "stop": 1699241351994}], "start": 1699241351994, "stop": 1699241352053}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码获取维度信息'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/getDem'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'code': 'dem_test57_abc'}"}, {"name": "expect_data", "value": "{'demCode': 'dem_test57_abc', 'name': '测试57期的维度'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241318294, "stop": 1699241318342, "uuid": "ec931994-3e1d-4e80-b6cb-1b0defada837", "historyId": "3d029dbd160664a957bb5cf45f71c6f9", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码获取维度信息"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "e098333c-2bbf-467c-af2a-e21335dfa19e", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309785}
\ No newline at end of file
{"uuid": "230efe4d-6ab9-4b1f-8696-b93140a3219b", "befores": [{"name": "update_key", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313946}
\ No newline at end of file
{"uuid": "769f857f-7778-4c09-b934-6d34bdcdca2c", "befores": [{"name": "module_name", "status": "passed", "start": 1699241329437, "stop": 1699241329437}], "start": 1699241329437, "stop": 1699241329592}
\ No newline at end of file
{"uuid": "27299e56-b288-4536-a096-ef2cd6f7984e", "befores": [{"name": "case_method", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316028}
\ No newline at end of file
{"uuid": "cff01754-76bb-4acc-9770-da43fe6e161a", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241345753, "stop": 1699241345754}], "start": 1699241345753, "stop": 1699241345812}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTYsImlhdCI6MTY5OTI0MTI5Nn0.Xn3s7eqjuBBGRSai3BCwNTsou6eNV4eLfhpJSuWHrh32X2AbghJ_4QsnGiXg7tKWPnhWqwt3SVzklCLByZ2vYg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTksImlhdCI6MTY5OTI0MTI5OX0.vlFuJ9jl2d_0k74dae_QQ4CH0qy_3hl1EbylwL7RnokYU0DjbeV9De_KE6k8Bz3i6a3zqCSgkj6-APjxO57Q7w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDEsImlhdCI6MTY5OTI0MTMwMX0.-rBNLVLLkh-FYtTyF07nWpev9OgwpGi8BI6qcdvJmZWSuXM4Kf2dEKb6MvOrJzhdkynWhUoXNHK2HiiPOkTB5Q","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369125588058112"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369134714863616"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369143862640640"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369152922337280"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369162053337088"}
\ No newline at end of file
{"name": "反向用例-password为空-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password为空-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': '', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241307289, "stop": 1699241307380, "uuid": "712650f8-50ff-4280-b136-e2237b517bcf", "historyId": "2a488e9ced30d3bd703ee3633032cc65", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "dccc254c-8e53-4bb0-bf90-610a1d893e6e", "befores": [{"name": "update_key", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343729}
\ No newline at end of file
{"uuid": "c94c71de-3a69-4e7c-ae6b-f8679c3d5cd5", "befores": [{"name": "case_method", "status": "passed", "start": 1699241300365, "stop": 1699241300365}], "start": 1699241300365, "stop": 1699241300433}
\ No newline at end of file
{"uuid": "a62d2e49-3d28-4838-8bf3-0a2f497283fc", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306872}
\ No newline at end of file
{"uuid": "60729183-61b7-46c7-81af-9b7f6653c06a", "befores": [{"name": "title", "status": "passed", "start": 1699241341536, "stop": 1699241341536}], "start": 1699241341536, "stop": 1699241341658}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'添加维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/addDem'"}, {"name": "case_method", "value": "'post'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'dem_test57_abc', 'description': '测试维度57', 'isDefault': 0, 'name': '测试57期的维度'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '添加维度成功!'}"}, {"name": "sql_type", "value": "'delete'"}, {"name": "sql_data", "value": "'DELETE FROM uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "None"}], "start": 1699241318147, "stop": 1699241318281, "uuid": "a8baf1de-ff85-4d77-babd-0cc2f458fb42", "historyId": "488f60572dd1b3adcf63072752c8dec2", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "添加维度"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "e8fceb70-6a51-4b2e-838c-4cfd9f806869", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352457}
\ No newline at end of file
{"uuid": "e23e2d8a-954d-4c60-8c72-0dfc81dee412", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325221}
\ No newline at end of file
{"uuid": "47a87be5-6503-452b-a8b3-73fa02795e64", "befores": [{"name": "case_data", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352265}
\ No newline at end of file
{"uuid": "fbf9f9c2-7380-4d91-9ce5-387b53beec51", "befores": [{"name": "case_data", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306707}
\ No newline at end of file
{"uuid": "0f4e385b-705d-4cfe-9c9e-b4f3accbffb2", "befores": [{"name": "module_name", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340905}
\ No newline at end of file
{"uuid": "2f0f1428-07c9-4117-a671-a806d1b98ed1", "befores": [{"name": "update_key", "status": "passed", "start": 1699241322919, "stop": 1699241322919}], "start": 1699241322919, "stop": 1699241323060}
\ No newline at end of file
{"uuid": "3a498b1f-b39a-4bca-9f79-5a98eddf99a7", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318528}
\ No newline at end of file
{"uuid": "f3962a91-6aec-4d78-8d2b-9fa10b34ba69", "befores": [{"name": "case_url", "status": "passed", "start": 1699241329437, "stop": 1699241329437}], "start": 1699241329437, "stop": 1699241329590}
\ No newline at end of file
{"uuid": "67537eef-30f5-47eb-a350-fc0aef73f331", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318344}
\ No newline at end of file
{"uuid": "183e2b64-c764-4028-a58e-0c2fe9519894", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309784}
\ No newline at end of file
用例1
{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzAsImlhdCI6MTY5OTI0MTMzMH0.1oUJCOPJiCfHC8CT6vvHZj_qacMZkTdWXrx_uxx1SO1OMgP8MUnC0C4TDw-1nPWXgpL7xgLjl6m0CCEMPY87gg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
{"uuid": "569f9ac3-3828-4671-89bb-b9317dcf2bdb", "befores": [{"name": "api_name", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338559}
\ No newline at end of file
{"uuid": "3bb44c78-adec-44cf-8fc3-df57182d4121", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347904}
\ No newline at end of file
{"uuid": "13d6b716-3a26-4cf8-b085-883b274259e9", "befores": [{"name": "case_data", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357014}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA8F8CC0>('state')\nE + where <built-in method get of dict object at 0x0000019CBA8F8CC0> = {'logId': '1721369019694465024', 'message': '', 'state': False}.get\nE + where {'logId': '1721369019694465024', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "4497d4b7-e5cf-4f08-a64e-b4b4501eb26d-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721368972332384256'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241329438, "stop": 1699241329570, "uuid": "1bceb9f5-2984-4941-aae7-1b913098cb41", "historyId": "72ebd6565d93c63b2a53a8d8b1508dc6", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "4f6e6d9f-54ce-4342-bf9a-05441681b6f5", "befores": [{"name": "case_data", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330196}
\ No newline at end of file
{"uuid": "f07b4290-c6f3-4ad2-b002-e90ce78b32b9", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361352}
\ No newline at end of file
{"uuid": "92487b9a-b23f-4e81-b9a2-f6c74c388f50", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307282}
\ No newline at end of file
{"uuid": "30cafd90-d9ac-49f3-a3c4-e097f7193d3e", "befores": [{"name": "level", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306769}
\ No newline at end of file
{"uuid": "b03d05fc-8630-4fc2-bb79-ada025583f50", "befores": [{"name": "module_name", "status": "passed", "start": 1699241341330, "stop": 1699241341330}], "start": 1699241341330, "stop": 1699241341430}
\ No newline at end of file
{"uuid": "951b03cb-156c-4b0f-a718-81e456e27879", "befores": [{"name": "level", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306708}
\ No newline at end of file
{"uuid": "460bc2a8-250f-4ce1-94c2-7342fb2ac817", "befores": [{"name": "module_name", "status": "passed", "start": 1699241311793, "stop": 1699241311793}], "start": 1699241311793, "stop": 1699241311871}
\ No newline at end of file
{"uuid": "847dd0ba-ea52-4647-a925-6a360cf71bb6", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340801}
\ No newline at end of file
{"uuid": "ad806f3e-653f-4ed6-bfbe-0ae4c30d58d8", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241340568, "stop": 1699241340568}], "start": 1699241340568, "stop": 1699241340634}
\ No newline at end of file
{"uuid": "47d6d343-a576-4ce0-850d-e61bad1a3496", "befores": [{"name": "case_data", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347905}
\ No newline at end of file
{"uuid": "a66eae30-fc18-4f7a-8033-e6f9e201c6dd", "befores": [{"name": "api_name", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307083}
\ No newline at end of file
{"uuid": "3710a39c-5787-45aa-855c-668038d0514e", "befores": [{"name": "case_data", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345814}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzEsImlhdCI6MTY5OTI0MTMzMX0.GU7fcCf68Y2wWyzCPbuIrx_eut3nZvuUxE-xqfC7ETDw8HhMhnpsjnY4P4LOtkxp9LgLcEd9hjt_q1a2I4c4GQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzMsImlhdCI6MTY5OTI0MTMzM30.Yuj9-BKCSwKe9o6WmGCCUNZqVqsJukgxXGDfF8LOg3YKJaAU0_wQEnItCvTHtksWHTUm42gZ9YWVyC5w2WGkYQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzUsImlhdCI6MTY5OTI0MTMzNX0.1Ubnafj-7G3rCENRJUQNRxxzlVN_NU_cLTdh6w5LHywUaHtM2021AYLp6uLnbc0o-tEZimClpRp4C8XngP4vmA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzcsImlhdCI6MTY5OTI0MTMzN30.vrKaXuH45etiu-vbsjISFiHVMng6A5s9BzBCZul8EbmGDURFu8XS7eY_UHlm3GiDi6gdOFic16423it7DSlyIg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzksImlhdCI6MTY5OTI0MTMzOX0.KAbgSxRcywZF9Tsk4Sx4iOgMPaGhVBAPxaeCy57cZ2-HaexggOMIVA0bZYvqWLOQ14hdGnVCv03obM5Gn2_i-g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDEsImlhdCI6MTY5OTI0MTM0MX0.RhslVcBPdTOQBotq5eqNssdsWUwWGt03ftbThwr4JJQCc6LHkm_eNL_fOr7xEFMMKlEIsFFi7Rj0H6O1QDhN1w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "b029a969-a8bc-4c7b-92dc-1ae58e51becb", "befores": [{"name": "case_url", "status": "passed", "start": 1699241302453, "stop": 1699241302453}], "start": 1699241302453, "stop": 1699241302529}
\ No newline at end of file
{"uuid": "1405d3d8-fc1e-47f8-aa55-d5a651957dcd", "befores": [{"name": "case_method", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341323}
\ No newline at end of file
{"uuid": "ef7b735f-a94d-4b3f-b4cd-4c1db62e5549", "befores": [{"name": "level", "status": "passed", "start": 1699241327232, "stop": 1699241327232}], "start": 1699241327232, "stop": 1699241327422}
\ No newline at end of file
{"uuid": "bf59fa6e-298e-4f93-b6f4-433bb377fe7e", "befores": [{"name": "case_method", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352601}
\ No newline at end of file
{"uuid": "62bbfc18-bbb9-454b-ae52-ee11fdfecf2c", "befores": [{"name": "title", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343734}
\ No newline at end of file
{"uuid": "6ff63a56-2d7f-45f6-9a0b-eef9293ef4a0", "befores": [{"name": "level", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318532}
\ No newline at end of file
{"uuid": "88b6f9ae-8166-473b-b01d-7f3607a8bbec", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241349925, "stop": 1699241349925}], "start": 1699241349925, "stop": 1699241349983}
\ No newline at end of file
{"uuid": "0a4f83fa-b587-4c1b-8a2b-c04c1c379fb3", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241318669, "stop": 1699241318670}], "start": 1699241318669, "stop": 1699241318777}
\ No newline at end of file
{"uuid": "684ff757-e84e-4751-9e27-81b31db10fd4", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241347844, "stop": 1699241347844}], "start": 1699241347844, "stop": 1699241347903}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "f490e5ce-ef0a-4a46-8849-1c7a6c6eedfe-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241330120, "stop": 1699241330176, "uuid": "25c2929a-2172-419b-b112-95c62e34117f", "historyId": "43ae0f0fe3941795b4ca58a9e381a813", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "2c11768c-7798-47bd-bff1-0f9647448b7b", "befores": [{"name": "case_url", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313949}
\ No newline at end of file
{"uuid": "2825cb39-c2c4-4c2a-bdea-049fbd49515a", "befores": [{"name": "case_method", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361355}
\ No newline at end of file
{"name": "反向用例-password过长-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password过长-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241307086, "stop": 1699241307178, "uuid": "3211427b-366d-41ed-aa6e-d2212600fc23", "historyId": "c62719572698687bed920521ab2d23e7", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "2cb3a53f-e5ea-4afb-86d3-bf8c57bc96c2", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241349925, "stop": 1699241349925}], "start": 1699241349924, "stop": 1699241349986}
\ No newline at end of file
{"uuid": "004bb3d7-0a80-4e20-92e6-8b261bcd1be7", "befores": [{"name": "update_key", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309783}
\ No newline at end of file
{"uuid": "eeda1194-8f0e-4ccc-977f-1843586db3b6", "befores": [{"name": "case_method", "status": "passed", "start": 1699241327232, "stop": 1699241327232}], "start": 1699241327232, "stop": 1699241327420}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzEsImlhdCI6MTY5OTI0MTMzMX0.GU7fcCf68Y2wWyzCPbuIrx_eut3nZvuUxE-xqfC7ETDw8HhMhnpsjnY4P4LOtkxp9LgLcEd9hjt_q1a2I4c4GQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzMsImlhdCI6MTY5OTI0MTMzM30.Yuj9-BKCSwKe9o6WmGCCUNZqVqsJukgxXGDfF8LOg3YKJaAU0_wQEnItCvTHtksWHTUm42gZ9YWVyC5w2WGkYQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzUsImlhdCI6MTY5OTI0MTMzNX0.1Ubnafj-7G3rCENRJUQNRxxzlVN_NU_cLTdh6w5LHywUaHtM2021AYLp6uLnbc0o-tEZimClpRp4C8XngP4vmA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzcsImlhdCI6MTY5OTI0MTMzN30.vrKaXuH45etiu-vbsjISFiHVMng6A5s9BzBCZul8EbmGDURFu8XS7eY_UHlm3GiDi6gdOFic16423it7DSlyIg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzksImlhdCI6MTY5OTI0MTMzOX0.KAbgSxRcywZF9Tsk4Sx4iOgMPaGhVBAPxaeCy57cZ2-HaexggOMIVA0bZYvqWLOQ14hdGnVCv03obM5Gn2_i-g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织参数'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/org/v1/orgParam/saveOrgParams'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'body|query'"}, {"name": "case_data", "value": "{'query': {'orgCode': 'test_org_57'}, 'body': [{'alias': 'sz', 'value': 9000}]}"}, {"name": "expect_data", "value": "{'state': True, 'message': '保存组织参数成功!'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241352465, "stop": 1699241352526, "uuid": "9723fb0a-b541-4de2-9737-2b8a2e144af5", "historyId": "3a04d8a2659cbce60ba8c512954f8e67", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织参数"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "c84b1bab-62bb-46a4-a600-a6511e2f9a11", "befores": [{"name": "case_method", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307586}
\ No newline at end of file
{"uuid": "898a1c3b-25f9-45fb-9b50-1e5127979a62", "befores": [{"name": "case_data", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361354}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CB91B61C0>('state')\nE + where <built-in method get of dict object at 0x0000019CB91B61C0> = {'logId': '1721368992360185856', 'message': '', 'state': False}.get\nE + where {'logId': '1721368992360185856', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "b27fdf76-21b4-4a88-a26e-bd1ae2320bd9-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721368972332384256'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241322919, "stop": 1699241323054, "uuid": "5fd3a125-f8ea-45a7-9b7a-6da26ce8fd97", "historyId": "72ebd6565d93c63b2a53a8d8b1508dc6", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "25307078-1627-48c2-ac2d-feb91b2d4292", "befores": [{"name": "update_key", "status": "passed", "start": 1699241351994, "stop": 1699241351994}], "start": 1699241351994, "stop": 1699241352051}
\ No newline at end of file
{"uuid": "f190cbf8-ff14-45f5-8f0e-6eec7159ceee", "befores": [{"name": "update_key", "status": "passed", "start": 1699241352608, "stop": 1699241352608}], "start": 1699241352608, "stop": 1699241352710}
\ No newline at end of file
{"uuid": "3b08504e-5e79-45b7-9a96-97d2c261a093", "befores": [{"name": "case_method", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318665}
\ No newline at end of file
{"uuid": "3373b60f-7d1a-4470-be8f-482e52a395c3", "befores": [{"name": "level", "status": "passed", "start": 1699241341008, "stop": 1699241341008}], "start": 1699241341008, "stop": 1699241341112}
\ No newline at end of file
{"uuid": "10fa51c0-9f1b-4b1d-9fbe-45c31be29719", "befores": [{"name": "case_url", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316028}
\ No newline at end of file
{"uuid": "3e0b27ba-4356-4ae8-864c-ce0a320499c2", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241352211, "stop": 1699241352211}], "start": 1699241352211, "stop": 1699241352264}
\ No newline at end of file
{"uuid": "b192c482-1c6e-4bce-b5b9-f0a4be8ba92b", "befores": [{"name": "case_data", "status": "passed", "start": 1699241349925, "stop": 1699241349925}], "start": 1699241349925, "stop": 1699241349985}
\ No newline at end of file
{"uuid": "9c9d0d2e-824a-48e9-8b2a-255d5bc6aafc", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332280}
\ No newline at end of file
{"uuid": "9142ab19-b76c-4102-9141-eee22a44ce71", "befores": [{"name": "module_name", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306709}
\ No newline at end of file
{"uuid": "d83faa8e-778d-49d2-8930-b8359acd9b17", "befores": [{"name": "module_name", "status": "passed", "start": 1699241352607, "stop": 1699241352607}], "start": 1699241352607, "stop": 1699241352717}
\ No newline at end of file
{"uuid": "7542a271-7c48-4cd7-893c-046dc8661385", "befores": [{"name": "case_data", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318664}
\ No newline at end of file
{"uuid": "c628c017-b125-45a8-be9d-2b1324e876d9", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241318146, "stop": 1699241318146}], "start": 1699241318146, "stop": 1699241318285}
\ No newline at end of file
{"uuid": "1a46c572-0f4f-44fe-a0fe-6ab63f73d6de", "befores": [{"name": "update_key", "status": "passed", "start": 1699241300366, "stop": 1699241300366}], "start": 1699241300366, "stop": 1699241300429}
\ No newline at end of file
{"uuid": "cad6d246-402f-42e6-b490-58b37a56f77f", "befores": [{"name": "update_key", "status": "passed", "start": 1699241354724, "stop": 1699241354724}], "start": 1699241354724, "stop": 1699241354824}
\ No newline at end of file
{"uuid": "585171db-0827-4bf5-915b-6a75263c368c", "befores": [{"name": "level", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341218}
\ No newline at end of file
{"uuid": "d607710f-abb4-4b17-b0ac-4966f4c9c297", "befores": [{"name": "case_url", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347906}
\ No newline at end of file
{"uuid": "8e6a9d8f-b004-46f6-9b2c-5e9421958214", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241334299, "stop": 1699241334299}], "start": 1699241334299, "stop": 1699241334362}
\ No newline at end of file
{"uuid": "fa41e4be-bbac-4fd3-8615-86d1142092e3", "befores": [{"name": "api_name", "status": "passed", "start": 1699241327232, "stop": 1699241327232}], "start": 1699241327232, "stop": 1699241327423}
\ No newline at end of file
{"uuid": "d665d98d-4622-4f42-b729-0dc9f43d2cfd", "befores": [{"name": "update_key", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318594}
\ No newline at end of file
{"uuid": "6b318a87-997e-4bb8-a221-2a65fd0b4687", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352265}
\ No newline at end of file
{"uuid": "40b53c56-b08c-45e7-88f2-dbffa9ec33b6", "befores": [{"name": "update_key", "status": "passed", "start": 1699241306643, "stop": 1699241306643}], "start": 1699241306643, "stop": 1699241306705}
\ No newline at end of file
{"uuid": "2a068779-50ec-4f3a-b2ef-d56513ba550e", "befores": [{"name": "case_data", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318529}
\ No newline at end of file
{"uuid": "14ecc8e3-761a-44ab-a19a-86ab3c9b25c4", "befores": [{"name": "case_url", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307283}
\ No newline at end of file
{"uuid": "9e968d82-235b-457d-ab58-639914320410", "befores": [{"name": "module_name", "status": "passed", "start": 1699241363375, "stop": 1699241363376}], "start": 1699241363375, "stop": 1699241363521}
\ No newline at end of file
{"uuid": "13aa3960-84d3-457d-a285-42e9bd27d86b", "befores": [{"name": "module_name", "status": "passed", "start": 1699241318292, "stop": 1699241318292}], "start": 1699241318292, "stop": 1699241318348}
\ No newline at end of file
{"uuid": "c2905d15-f2d9-4c78-9781-82054fbbe256", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241351994, "stop": 1699241351994}], "start": 1699241351992, "stop": 1699241352054}
\ No newline at end of file
{"name": "反向用例-password过短-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password过短-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'password': 'm', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241307189, "stop": 1699241307278, "uuid": "d17e5508-87d1-4614-89b7-3b67aeb53ab8", "historyId": "256c9d136b002ae7299e310dc0491c4c", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "91a20dbe-2bb2-4215-8ccb-401043c008c9", "befores": [{"name": "case_url", "status": "passed", "start": 1699241318669, "stop": 1699241318669}], "start": 1699241318669, "stop": 1699241318777}
\ No newline at end of file
{"uuid": "f0c244a7-66a9-4078-91a7-4abdd162b93d", "befores": [{"name": "update_key", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318527}
\ No newline at end of file
{"uuid": "c3bb03a4-4aa9-417d-befa-322d12dd5f1c", "befores": [{"name": "title", "status": "passed", "start": 1699241327232, "stop": 1699241327232}], "start": 1699241327232, "stop": 1699241327422}
\ No newline at end of file
{"uuid": "a39444d2-3b00-49df-9533-8532adb7925c", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241306879, "stop": 1699241306879}], "start": 1699241306879, "stop": 1699241306974}
\ No newline at end of file
{"uuid": "9baf48a4-2f2f-4f02-8f33-57513206c98e", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341214}
\ No newline at end of file
{"uuid": "8af5f5ac-742a-4ff9-8249-87361b323105", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345815}
\ No newline at end of file
{"uuid": "32f4ab17-8a11-47fd-b968-4215b2d3aef3", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241341223, "stop": 1699241341224}], "start": 1699241341223, "stop": 1699241341321}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "ebc81fe0-fc2b-4d8e-82b1-cb6a017f7809-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241306643, "stop": 1699241306698, "uuid": "7b8c0b3a-30d0-47e4-afe2-910e16fd2f89", "historyId": "d1c388aad145f24b482d8ba19a07cc20", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "bb732057-ed93-4738-89cc-9e2b9a70b1b2", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307584}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDgsImlhdCI6MTY5OTI0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTAsImlhdCI6MTY5OTI0MTMxMH0.gbRbou24K4DowK5MFO-KuALkDCzcxCtyXMLFWpAgaKzMwt-JNDrBhOmrkRMKaEf7cxlZ4mZKxsrRckFDFuVeAA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTIsImlhdCI6MTY5OTI0MTMxMn0.SgpBpzWFUoXY67IcejMivM7-929nOofIdAawNmpg8IpRmaa0XS4ZwXCcumoYm7SZYhQ9HwgClpqiZMr5ypA6ug","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTQsImlhdCI6MTY5OTI0MTMxNH0.glQ2NxH0Cx7IaznqCdy6iCzR1CF23n9Kc4t_WioERwC2MgVoAv-4-Z7tjMQVkMdwSkwYCwRna_y69d83N3q63g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "06c06d78-e743-43b6-b4e7-e06d4a244c05", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361355}
\ No newline at end of file
{"uuid": "78b4f239-bd3b-4bb5-8fdf-ba5d54795ada", "befores": [{"name": "title", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318599}
\ No newline at end of file
{"uuid": "d9dbeca7-9be0-4b4f-be1f-5552a2f11c09", "befores": [{"name": "case_method", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296233}
\ No newline at end of file
{"uuid": "2136f847-ab6a-4bf5-bc5f-1543c5d5fd6c", "befores": [{"name": "case_method", "status": "passed", "start": 1699241302454, "stop": 1699241302454}], "start": 1699241302454, "stop": 1699241302529}
\ No newline at end of file
{"uuid": "4c5cc6ef-fd62-4206-9ac9-8567599a56a1", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241307086, "stop": 1699241307086}], "start": 1699241307086, "stop": 1699241307179}
\ No newline at end of file
{"uuid": "eb721a77-ff31-4629-a7d5-dd7da621cd71", "befores": [{"name": "case_data", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359184}
\ No newline at end of file
{"uuid": "5a5239b3-880e-4fc6-97d9-9e54cbddb7f4", "befores": [{"name": "case_url", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309786}
\ No newline at end of file
{"uuid": "48415129-4c6f-40c3-a292-877d24f491c1", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241329438, "stop": 1699241329438}], "start": 1699241329438, "stop": 1699241329576}
\ No newline at end of file
{"uuid": "55cea1d2-bf8e-4fc7-9981-5b24fd04085a", "befores": [{"name": "module_name", "status": "passed", "start": 1699241341536, "stop": 1699241341536}], "start": 1699241341536, "stop": 1699241341660}
\ No newline at end of file
{"uuid": "f4ee2cf1-b783-4b71-9d0f-45209a6a7ac4", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340697}
\ No newline at end of file
{"uuid": "1bb0bef5-f64b-446e-b3b2-6ba738ded78d", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306766}
\ No newline at end of file
{"uuid": "6466d42c-3679-4b21-9705-f66b6c98bf8d", "befores": [{"name": "api_name", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361357}
\ No newline at end of file
{"uuid": "b11c245b-96eb-4b48-821e-3932655cec4a", "befores": [{"name": "module_name", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338560}
\ No newline at end of file
{"uuid": "c17e8e19-1ae7-492d-8da7-ce5823919324", "befores": [{"name": "case_url", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352206}
\ No newline at end of file
{"uuid": "e54c62ec-b81a-4803-843e-85cb88d8f7dc", "befores": [{"name": "update_key", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318343}
\ No newline at end of file
{"uuid": "65b723c3-1a0c-4bb5-997a-396e9968520e", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340901}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "66e59464-ab2a-43a1-b925-8935c475bc2f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241340568, "stop": 1699241340625, "uuid": "9c5bd2d7-2ced-46c6-b1b0-a362eb66ce6f", "historyId": "43ae0f0fe3941795b4ca58a9e381a813", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "436fb6ce-dede-4fdb-a1fe-041a4262b378", "befores": [{"name": "module_name", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296238}
\ No newline at end of file
{"uuid": "a8daa5de-7ac1-4305-8e8f-1090d110b38b", "befores": [{"name": "api_name", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340905}
\ No newline at end of file
{"uuid": "c8bea0a8-87ac-46a1-af73-077ff0997fb8", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318138}
\ No newline at end of file
{"uuid": "3c2aa1c5-4b7f-4e11-887a-6ee13a038c33", "befores": [{"name": "module_name", "status": "passed", "start": 1699241318146, "stop": 1699241318146}], "start": 1699241318146, "stop": 1699241318289}
\ No newline at end of file
{"uuid": "e83add83-6155-4919-b2e2-32a6bba72dd7", "befores": [{"name": "api_name", "status": "passed", "start": 1699241340908, "stop": 1699241340908}], "start": 1699241340908, "stop": 1699241341005}
\ No newline at end of file
{"uuid": "a5a8af74-9043-44d7-b203-fbecca0ffe08", "befores": [{"name": "api_name", "status": "passed", "start": 1699241341536, "stop": 1699241341536}], "start": 1699241341536, "stop": 1699241341659}
\ No newline at end of file
{"uuid": "1f8980cb-35ff-4244-aa4a-a046f8ea37f8", "befores": [{"name": "module_name", "status": "passed", "start": 1699241307590, "stop": 1699241307590}], "start": 1699241307590, "stop": 1699241307704}
\ No newline at end of file
{"uuid": "c0687930-e0e1-499c-8a91-0d97dd23ff60", "befores": [{"name": "level", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304616}
\ No newline at end of file
{"uuid": "2e0d8d3e-95f4-4fbc-b6d8-74b71dd104f2", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340803}
\ No newline at end of file
{"uuid": "b2d66e29-baad-4d83-ba33-4c139d2bceae", "befores": [{"name": "update_key", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304614}
\ No newline at end of file
{"uuid": "a84292f3-0a94-4db1-a6dd-ccedba90bc1e", "befores": [{"name": "update_key", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318136}
\ No newline at end of file
{"uuid": "ca40271e-378e-40cc-a22f-83efe3c6af43", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341215}
\ No newline at end of file
{"uuid": "fcd4fa5b-3076-4c71-8464-dc0d0894d825", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323062}
\ No newline at end of file
{"uuid": "02d7c1a6-b0ca-4eec-b6ad-15024fe12ce2", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307697}
\ No newline at end of file
{"uuid": "a09b9a2a-db57-4046-a5a6-6af311bb38d1", "befores": [{"name": "update_key", "status": "passed", "start": 1699241352465, "stop": 1699241352465}], "start": 1699241352465, "stop": 1699241352526}
\ No newline at end of file
{"uuid": "3cb97a17-137a-4776-a0d7-e6073bce0712", "befores": [{"name": "module_name", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323066}
\ No newline at end of file
{"uuid": "9eddec41-5722-4037-923a-3adde5fcf951", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307486}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDgsImlhdCI6MTY5OTI0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTAsImlhdCI6MTY5OTI0MTMxMH0.gbRbou24K4DowK5MFO-KuALkDCzcxCtyXMLFWpAgaKzMwt-JNDrBhOmrkRMKaEf7cxlZ4mZKxsrRckFDFuVeAA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "058bd885-93dd-4113-b629-9f17f2244b31", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340802}
\ No newline at end of file
{"uuid": "be4450a7-c111-4e7f-b4a4-5d9a9d563c70", "befores": [{"name": "case_data", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316026}
\ No newline at end of file
{"uuid": "b376e820-35e8-49d3-b011-b2ad95122dd5", "befores": [{"name": "case_method", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307283}
\ No newline at end of file
{"uuid": "15579feb-f172-48bb-94e9-8deaef24a978", "befores": [{"name": "case_url", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338557}
\ No newline at end of file
{"uuid": "1c5d078b-9465-4d6d-817e-28717aa5da5f", "befores": [{"name": "module_name", "status": "passed", "start": 1699241340640, "stop": 1699241340640}], "start": 1699241340640, "stop": 1699241340701}
\ No newline at end of file
{"uuid": "a194a2ad-da5e-444e-8e02-7a542016fad9", "befores": [{"name": "update_key", "status": "passed", "start": 1699241318147, "stop": 1699241318147}], "start": 1699241318147, "stop": 1699241318281}
\ No newline at end of file
{"uuid": "35d94917-79d3-4531-8974-71e48be0eac3", "befores": [{"name": "module_name", "status": "passed", "start": 1699241340908, "stop": 1699241340908}], "start": 1699241340908, "stop": 1699241341006}
\ No newline at end of file
{"uuid": "09b945b3-512e-43fc-9105-75fe732779af", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306706}
\ No newline at end of file
{"uuid": "e3b8d58f-a89f-427b-8656-ca00c8001de7", "befores": [{"name": "case_data", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341322}
\ No newline at end of file
{"uuid": "8a350926-24de-4364-8489-abda4d96e231", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311854}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTYsImlhdCI6MTY5OTI0MTI5Nn0.Xn3s7eqjuBBGRSai3BCwNTsou6eNV4eLfhpJSuWHrh32X2AbghJ_4QsnGiXg7tKWPnhWqwt3SVzklCLByZ2vYg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTksImlhdCI6MTY5OTI0MTI5OX0.vlFuJ9jl2d_0k74dae_QQ4CH0qy_3hl1EbylwL7RnokYU0DjbeV9De_KE6k8Bz3i6a3zqCSgkj6-APjxO57Q7w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDEsImlhdCI6MTY5OTI0MTMwMX0.-rBNLVLLkh-FYtTyF07nWpev9OgwpGi8BI6qcdvJmZWSuXM4Kf2dEKb6MvOrJzhdkynWhUoXNHK2HiiPOkTB5Q","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDMsImlhdCI6MTY5OTI0MTMwM30.najrgfkyREASF7s-L3iewvKRdx9Uisw1vAQaGaiqMR-xSo4-kqkiORymDmAN_RkNn8WmnPheN_Wn16bsp5cbXA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "1c1e5ea8-25e1-4d71-be34-dabc1c18bb74", "befores": [{"name": "case_url", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318140}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA968940>('message')\nE + where <built-in method get of dict object at 0x0000019CBA968940> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0Nn0.DIRxCXllFPB1gNGOSW3EWBFiU3b1HLJR-0dLVXbBe8gCtNTfZnGA25Y5RNCJ-ODzJ3bSWNjnOFBjD3XmjgoY7g', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0Nn0.DIRxCXllFPB1gNGOSW3EWBFiU3b1HLJR-0dLVXbBe8gCtNTfZnGA25Y5RNCJ-ODzJ3bSWNjnOFBjD3XmjgoY7g', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "d2ee6855-d4ea-450a-81a8-7272c5a11513-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241345754, "stop": 1699241345806, "uuid": "c5a23263-31e7-4e8b-afc0-18eba9aeecee", "historyId": "945533095d595f885656cb2169c82c49", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "9e04e9b8-900b-46a5-96ef-9fbf7d29c994", "befores": [{"name": "case_url", "status": "passed", "start": 1699241340567, "stop": 1699241340567}], "start": 1699241340567, "stop": 1699241340635}
\ No newline at end of file
{"uuid": "714cc206-1804-45c9-892b-3f2e625b822e", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341425}
\ No newline at end of file
{"uuid": "1d7253a0-2d7b-4c68-bd89-90bd0bb6f7a3", "befores": [{"name": "api_name", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307490}
\ No newline at end of file
{"uuid": "bc4b3aa6-8196-4a50-b942-81f8623bc3e5", "befores": [{"name": "title", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296236}
\ No newline at end of file
{"uuid": "3320d985-1c2e-41cf-9b11-04899f6cf115", "befores": [{"name": "title", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359186}
\ No newline at end of file
{"uuid": "5de6d998-5ab2-4980-b8ae-af8bd145c96d", "befores": [{"name": "case_method", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340698}
\ No newline at end of file
{"uuid": "580735ad-59a2-4786-b6a9-8c4b8f4a470d", "befores": [{"name": "api_name", "status": "passed", "start": 1699241340640, "stop": 1699241340640}], "start": 1699241340640, "stop": 1699241340700}
\ No newline at end of file
{"uuid": "7c7d71bf-38b5-4001-81b9-fb42414e3fb1", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241302454, "stop": 1699241302454}], "start": 1699241302454, "stop": 1699241302525}
\ No newline at end of file
{"uuid": "d74715e2-812d-4941-af71-310a2764c5a2", "befores": [{"name": "level", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306873}
\ No newline at end of file
{"uuid": "4bf593d1-c19b-49c1-a05b-49f465e3f50f", "befores": [{"name": "level", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352460}
\ No newline at end of file
{"uuid": "7b148fba-48d9-40f6-8485-d297786a0930", "befores": [{"name": "level", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307703}
\ No newline at end of file
{"uuid": "a2711132-cffa-474b-8ecb-e37cbb38977b", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241306879, "stop": 1699241306879}], "start": 1699241306879, "stop": 1699241306973}
\ No newline at end of file
{"uuid": "0f9b3e7d-ee67-4e2d-99d1-cdb7a6d61e8e", "befores": [{"name": "title", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338559}
\ No newline at end of file
{"uuid": "c1ee20a7-45eb-4a6e-b900-2e6e730653fc", "befores": [{"name": "title", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340904}
\ No newline at end of file
{"uuid": "ac92a735-f82e-4ab9-81c1-3b4ffd72ca33", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241341537, "stop": 1699241341537}], "start": 1699241341537, "stop": 1699241341653}
\ No newline at end of file
{"uuid": "798eea84-154a-47e3-85f7-c58315e82a37", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241334298, "stop": 1699241334298}], "start": 1699241334298, "stop": 1699241334362}
\ No newline at end of file
{"uuid": "cfbe292c-575e-4f79-94a2-9a791ab1a22c", "befores": [{"name": "case_method", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318597}
\ No newline at end of file
{"uuid": "edfd444c-a414-4124-9845-cd341b0dec73", "befores": [{"name": "case_method", "status": "passed", "start": 1699241352607, "stop": 1699241352607}], "start": 1699241352607, "stop": 1699241352714}
\ No newline at end of file
{"uuid": "ca7ea2e2-723b-4f26-84d8-f26867762c48", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336462}
\ No newline at end of file
{"uuid": "fe5d2938-c092-4d3c-a110-e5de89b0d320", "befores": [{"name": "case_url", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306708}
\ No newline at end of file
{"uuid": "9c89cf4b-98c5-4427-a622-9514707f49e8", "befores": [{"name": "title", "status": "passed", "start": 1699241352270, "stop": 1699241352272}], "start": 1699241352270, "stop": 1699241352460}
\ No newline at end of file
{"uuid": "2a82c9ee-1868-45a6-9f4d-493f928f0027", "befores": [{"name": "title", "status": "passed", "start": 1699241349924, "stop": 1699241349924}], "start": 1699241349924, "stop": 1699241349987}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "3327e52c-ae2e-46bc-a7ed-9637680ab966-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241298260, "stop": 1699241298316, "uuid": "84c4836b-e5f7-4b6c-af40-4642c2fd7065", "historyId": "d1c388aad145f24b482d8ba19a07cc20", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "87717bcb-8cec-43fe-a07f-a57f2ccb3e5b", "befores": [{"name": "title", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318666}
\ No newline at end of file
{"uuid": "e1ad9281-3ef9-49ee-8717-f83f20b22084", "befores": [{"name": "api_name", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330199}
\ No newline at end of file
{"uuid": "4ec5de8f-735e-4b51-8050-38a024895fe1", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241352465, "stop": 1699241352465}], "start": 1699241352465, "stop": 1699241352527}
\ No newline at end of file
{"uuid": "aef86e50-2d52-4ba9-bcc6-01315d6bfbdb", "befores": [{"name": "level", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307081}
\ No newline at end of file
{"uuid": "10289ec7-31d4-4f33-a676-9fa23dd3dc61", "befores": [{"name": "module_name", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352058}
\ No newline at end of file
{"uuid": "26f6e903-a175-409e-ab59-2004998948e8", "befores": [{"name": "api_name", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307183}
\ No newline at end of file
{"uuid": "c1fd443e-52b4-418e-8a53-d62128a8e0f1", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336460}
\ No newline at end of file
{"uuid": "9259e8cc-88c6-4fbf-a71d-8b734cc489fa", "befores": [{"name": "api_name", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352057}
\ No newline at end of file
{"uuid": "0c90a3cb-efca-4578-aff3-c423c717b7f3", "befores": [{"name": "case_method", "status": "passed", "start": 1699241306878, "stop": 1699241306878}], "start": 1699241306878, "stop": 1699241306975}
\ No newline at end of file
{"uuid": "74752116-0ff0-4ffb-997f-1d76a5c3b8ec", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307280}
\ No newline at end of file
{"name": "反向用例-username过长-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username过长-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'adminadminadminadminadminadmin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241306713, "stop": 1699241306765, "uuid": "40df5b34-cd06-4355-b921-8aff10160340", "historyId": "aa6da2891272bba464c813048eaa80e1", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "ab980963-17e9-40fe-816b-7cf85ce2375b", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307701}
\ No newline at end of file
{"uuid": "02e08608-3065-4b06-848b-fa7d0eb164e7", "befores": [{"name": "level", "status": "passed", "start": 1699241349924, "stop": 1699241349924}], "start": 1699241349924, "stop": 1699241349987}
\ No newline at end of file
{"uuid": "b8eac214-93bf-49ba-8a4a-ad56314ba776", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241334298, "stop": 1699241334298}], "start": 1699241334298, "stop": 1699241334363}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA8DAB00>('state')\nE + where <built-in method get of dict object at 0x0000019CBA8DAB00> = {'logId': '1721369134714863616', 'message': '', 'state': False}.get\nE + where {'logId': '1721369134714863616', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "f8eead1e-03d1-4ba1-b549-f6b394a7c4c3-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721369114598981632'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241356856, "stop": 1699241356994, "uuid": "b3fe2939-67d7-4088-95ee-4875f3b11de5", "historyId": "f1e2918eac3ee61caf842d9bd5ce58ce", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "710ee1f7-9323-4f61-8431-e206bbb23928", "befores": [{"name": "api_name", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323066}
\ No newline at end of file
{"uuid": "dae07dfc-b615-4047-8199-12e220c9b877", "befores": [{"name": "case_method", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352266}
\ No newline at end of file
{"uuid": "67f97435-acb8-4966-a3ba-4fbbbaac1f41", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340698}
\ No newline at end of file
{"uuid": "775a096b-8428-43ed-a563-584174487573", "befores": [{"name": "case_method", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311868}
\ No newline at end of file
{"uuid": "c9644572-c4f0-4d5b-a0c1-6d4e187ede88", "befores": [{"name": "update_key", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352597}
\ No newline at end of file
{"uuid": "e1b1b8b7-88f7-4c31-85a0-c69effb4848c", "befores": [{"name": "module_name", "status": "passed", "start": 1699241327232, "stop": 1699241327232}], "start": 1699241327232, "stop": 1699241327423}
\ No newline at end of file
{"uuid": "2fa8c32c-04dd-4720-81a6-317bd2f1e25b", "befores": [{"name": "case_url", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330197}
\ No newline at end of file
{"uuid": "8121064b-a4f8-4509-be62-5c57414ad032", "befores": [{"name": "module_name", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345818}
\ No newline at end of file
{"uuid": "7a50e5d6-a12d-4a10-a0fa-77ecdd143dce", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340899}
\ No newline at end of file
{"uuid": "07991339-f5f8-4697-88ea-6c8c3fd506d8", "befores": [{"name": "case_url", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318531}
\ No newline at end of file
{"uuid": "cced310f-9e83-4ba2-8e55-eb6ce957654e", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338557}
\ No newline at end of file
{"uuid": "995801b0-c755-4138-8d41-887a6f1dbd62", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241349925, "stop": 1699241349925}], "start": 1699241349925, "stop": 1699241349984}
\ No newline at end of file
{"uuid": "092c2bdd-681e-4404-bce6-b23b19554ef5", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304614}
\ No newline at end of file
{"uuid": "17d7ea56-1514-4783-b646-e5b958273f1f", "befores": [{"name": "update_key", "status": "passed", "start": 1699241298260, "stop": 1699241298260}], "start": 1699241298260, "stop": 1699241298324}
\ No newline at end of file
{"uuid": "ef9eca97-a07f-45a8-bc44-e0c3f6ae1414", "befores": [{"name": "case_data", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313948}
\ No newline at end of file
{"uuid": "4906940a-cdea-4861-b8f9-2b9b4d05cb7e", "befores": [{"name": "title", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345817}
\ No newline at end of file
{"uuid": "c8f411ea-0103-4875-888f-6917aa3e00e9", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323063}
\ No newline at end of file
{"uuid": "9928e0d2-a0dc-4de6-89b2-9decf00f123a", "befores": [{"name": "case_method", "status": "passed", "start": 1699241349924, "stop": 1699241349924}], "start": 1699241349924, "stop": 1699241349986}
\ No newline at end of file
{"uuid": "6b10b2d9-68ec-4b3f-ae85-cb1340b9b74b", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318596}
\ No newline at end of file
{"uuid": "d8e0722b-15fb-4f04-b97e-f664ab40f0ed", "befores": [{"name": "case_url", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357015}
\ No newline at end of file
{"uuid": "a54ace8e-a1de-41be-873f-0bbc3b51f45a", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318344}
\ No newline at end of file
{"uuid": "44c38429-474d-46dd-9e01-48ec95da851e", "befores": [{"name": "update_key", "status": "passed", "start": 1699241306982, "stop": 1699241306982}], "start": 1699241306982, "stop": 1699241307078}
\ No newline at end of file
{"uuid": "0674167e-bcff-4094-bbb0-c9aa7058ac6d", "befores": [{"name": "api_name", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341327}
\ No newline at end of file
{"uuid": "2de09b04-d688-48b5-8595-9148adefc4e7", "befores": [{"name": "case_method", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357015}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDIsImlhdCI6MTY5OTI0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDQsImlhdCI6MTY5OTI0MTM0NH0.IQvmGek4a7cF0D8CHTh927O6Ao1Pde5BQXxeX-7pUHechWiJhJFJZfP441j74Fg2qlp03MfiY39DtfT5F3R9EQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDYsImlhdCI6MTY5OTI0MTM0Nn0.DIRxCXllFPB1gNGOSW3EWBFiU3b1HLJR-0dLVXbBe8gCtNTfZnGA25Y5RNCJ-ODzJ3bSWNjnOFBjD3XmjgoY7g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDgsImlhdCI6MTY5OTI0MTM0OH0.0puy-AV928ylbB9JECIZzX1lOuroYBTDgdY9WADYfdaXssbxM1Zzjh4XFIdKYYOOgGtwxsxPaUsbw9wKnIcatg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NTAsImlhdCI6MTY5OTI0MTM1MH0.Yfrret163NiqN_tC0-vXuiv_3FLZTHIfw6-lQOKVZd61qtRge6H4pdryCUBe4t6yEAX49CeVlBtf6VCltySpkQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NTIsImlhdCI6MTY5OTI0MTM1Mn0.UPH9TxHGQjX4RCh-3A1v_mzoRb4CXw27nzrlQMDj0iV16TvWouJmOu7sYpLMf8qLFrDcz0lE8-wTdLZ-fe1A4A","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"name": "反向用例-username为特殊字符-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username为特殊字符-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': '@#!@#!@'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241306983, "stop": 1699241307078, "uuid": "a8b827fe-1773-4b55-b1d6-59c826617e4e", "historyId": "6f34e5eac453619150b8df2e59139111", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "e38455c1-d231-4dae-be0e-d1d14b72e7ad", "befores": [{"name": "api_name", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332284}
\ No newline at end of file
{"uuid": "fdcb5c9c-b4c1-463d-9c7e-f010a0622d96", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241349925, "stop": 1699241349925}], "start": 1699241349925, "stop": 1699241349985}
\ No newline at end of file
{"uuid": "8f7ac911-94a3-462a-b222-f9979164c273", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241356855, "stop": 1699241356856}], "start": 1699241356855, "stop": 1699241357012}
\ No newline at end of file
{"uuid": "31a129ea-2acc-4c1a-9fce-ae82798325e6", "befores": [{"name": "case_data", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352054}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "5287e037-0827-44aa-a6a7-efba27f2413b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241304552, "stop": 1699241304608, "uuid": "13e0e6f6-d218-4815-9f9f-2bfff9dd404e", "historyId": "d1c388aad145f24b482d8ba19a07cc20", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "223fc819-934d-4812-b993-fe20e2374a23", "befores": [{"name": "case_url", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341218}
\ No newline at end of file
{"uuid": "ea9c5ed8-a0e5-4237-9e46-2ffd2c7e0e9f", "befores": [{"name": "case_url", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307385}
\ No newline at end of file
{"uuid": "c8233ca9-784a-47ac-ad53-9be35d32ee3c", "befores": [{"name": "level", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343734}
\ No newline at end of file
{"uuid": "9d8b71dd-356c-46ab-98fd-26931e0ae109", "befores": [{"name": "api_name", "status": "passed", "start": 1699241325081, "stop": 1699241325081}], "start": 1699241325081, "stop": 1699241325225}
\ No newline at end of file
{"uuid": "da2f8fc5-aaf2-4eb3-a38d-18a1cf5ecd4f", "befores": [{"name": "title", "status": "passed", "start": 1699241307590, "stop": 1699241307590}], "start": 1699241307590, "stop": 1699241307703}
\ No newline at end of file
{"uuid": "e3a9ef84-818d-4661-9985-f773eab3e545", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241318670, "stop": 1699241318670}], "start": 1699241318670, "stop": 1699241318775}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA9834C0>('state')\nE + where <built-in method get of dict object at 0x0000019CBA9834C0> = {'logId': '1721369143862640640', 'message': '', 'state': False}.get\nE + where {'logId': '1721369143862640640', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "d4400616-3245-4900-b662-c640cee22b4b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721369114598981632'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241359037, "stop": 1699241359174, "uuid": "05712add-90b7-4981-9f0c-5c42f0d0b338", "historyId": "f1e2918eac3ee61caf842d9bd5ce58ce", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "e07556ce-42ad-4139-ad02-3279e897be79", "children": ["3178f290-4de8-439f-a2c8-603c88fdb27d", "243fcaa7-175c-40fe-8eae-1329f12b184a", "5915819f-2ab8-418f-9be6-6905e9625464"], "befores": [{"name": "_xunit_setup_class_fixture_Test01", "status": "passed", "start": 1699241329596, "stop": 1699241329690}], "afters": [{"name": "_xunit_setup_class_fixture_Test01::0", "status": "passed", "start": 1699241329806, "stop": 1699241329806}], "start": 1699241329596, "stop": 1699241329806}
\ No newline at end of file
{"uuid": "fda416f8-e63a-4ba4-b93f-efba652ecaf2", "befores": [{"name": "title", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298339}
\ No newline at end of file
{"uuid": "f1316257-ce27-4064-9871-55f8a51dd050", "befores": [{"name": "update_key", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341214}
\ No newline at end of file
{"uuid": "adcc64c1-4b11-4d50-a6d7-aabcf50f746f", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316025}
\ No newline at end of file
{"uuid": "0b723fa2-e611-43ec-a218-0f27cf78ff40", "befores": [{"name": "level", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352267}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTYsImlhdCI6MTY5OTI0MTI5Nn0.Xn3s7eqjuBBGRSai3BCwNTsou6eNV4eLfhpJSuWHrh32X2AbghJ_4QsnGiXg7tKWPnhWqwt3SVzklCLByZ2vYg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "d4d65d9c-013f-475e-9c0e-09d175ff3329", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241340909, "stop": 1699241340909}], "start": 1699241340909, "stop": 1699241341001}
\ No newline at end of file
{"uuid": "9a872553-8223-441e-b5f2-8dac0ed88806", "befores": [{"name": "title", "status": "passed", "start": 1699241341330, "stop": 1699241341330}], "start": 1699241341330, "stop": 1699241341429}
\ No newline at end of file
{"uuid": "5cd502ee-2b4b-4095-9c9d-db9f622952f1", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318662}
\ No newline at end of file
{"uuid": "31125435-b311-45c6-8219-6f0e5f4a3a58", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309784}
\ No newline at end of file
{"uuid": "6f829df1-c5ab-4e70-9b94-70698f44f3d6", "befores": [{"name": "case_method", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332282}
\ No newline at end of file
{"uuid": "f36b1cc6-dbf7-4d63-b039-0370f77907f4", "befores": [{"name": "case_data", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343732}
\ No newline at end of file
{"uuid": "b9a29e77-96e8-4375-b5bc-6ae393c624fe", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361352}
\ No newline at end of file
{"uuid": "a4b12035-c160-4839-975d-f705d04b3017", "befores": [{"name": "case_url", "status": "passed", "start": 1699241341536, "stop": 1699241341536}], "start": 1699241341536, "stop": 1699241341657}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码获取维度信息'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/getDem'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'code': 'dem_test57_abc'}"}, {"name": "expect_data", "value": "{'demCode': 'dem_test57_abc', 'name': '测试57期的维度'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241352211, "stop": 1699241352262, "uuid": "e06dae3a-9cab-4689-9d2f-7c33481dc91e", "historyId": "b1013e4d23571bf5c3c5f6d68ec2dc71", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码获取维度信息"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "cbfc301a-037a-4925-94ac-944d94347bd4", "befores": [{"name": "case_method", "status": "passed", "start": 1699241341008, "stop": 1699241341008}], "start": 1699241341008, "stop": 1699241341111}
\ No newline at end of file
{"uuid": "cd4e5246-5608-4a03-ac1f-2756b40225e3", "befores": [{"name": "module_name", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307387}
\ No newline at end of file
{"uuid": "6286ca5b-d5c5-477e-ae71-d1f1b12c8127", "befores": [{"name": "module_name", "status": "passed", "start": 1699241306878, "stop": 1699241306878}], "start": 1699241306878, "stop": 1699241306978}
\ No newline at end of file
{"uuid": "96853fad-424b-4d24-989b-3c8bdb9a30b0", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306870}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368983254351872"}
\ No newline at end of file
{"uuid": "c0c3c0d3-1a2d-40f5-96d9-bb465063f39f", "befores": [{"name": "case_url", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307702}
\ No newline at end of file
{"uuid": "7abea012-5133-4d10-9fcf-88f9eb729cc3", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241327233, "stop": 1699241327233}], "start": 1699241327233, "stop": 1699241327418}
\ No newline at end of file
{"uuid": "5ccd7fa5-a691-4356-b894-ebc9f8f78042", "befores": [{"name": "title", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363519}
\ No newline at end of file
{"uuid": "32392bd2-1558-4ad4-a0df-1fc9da204e42", "befores": [{"name": "api_name", "status": "passed", "start": 1699241352607, "stop": 1699241352607}], "start": 1699241352607, "stop": 1699241352717}
\ No newline at end of file
{"uuid": "0a82764e-c5bb-4f41-9857-8a78387d9ae5", "befores": [{"name": "level", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318347}
\ No newline at end of file
{"uuid": "4b1ba1cf-5211-4866-b39f-6f76f547f0f2", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241341008, "stop": 1699241341008}], "start": 1699241341008, "stop": 1699241341111}
\ No newline at end of file
{"uuid": "4d9ac43f-97d4-4566-ac96-11a9cd121331", "befores": [{"name": "api_name", "status": "passed", "start": 1699241354723, "stop": 1699241354723}], "start": 1699241354723, "stop": 1699241354839}
\ No newline at end of file
{"uuid": "1eb351c9-f88f-4362-931b-834423b1821e", "befores": [{"name": "case_url", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307182}
\ No newline at end of file
{"uuid": "255bb767-cca5-41fd-9b7d-aff24c05d074", "befores": [{"name": "api_name", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359186}
\ No newline at end of file
{"uuid": "5fdcd430-0e6e-469d-9ca6-9f390c3ea6ba", "befores": [{"name": "module_name", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341327}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDIsImlhdCI6MTY5OTI0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDQsImlhdCI6MTY5OTI0MTM0NH0.IQvmGek4a7cF0D8CHTh927O6Ao1Pde5BQXxeX-7pUHechWiJhJFJZfP441j74Fg2qlp03MfiY39DtfT5F3R9EQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDYsImlhdCI6MTY5OTI0MTM0Nn0.DIRxCXllFPB1gNGOSW3EWBFiU3b1HLJR-0dLVXbBe8gCtNTfZnGA25Y5RNCJ-ODzJ3bSWNjnOFBjD3XmjgoY7g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDgsImlhdCI6MTY5OTI0MTM0OH0.0puy-AV928ylbB9JECIZzX1lOuroYBTDgdY9WADYfdaXssbxM1Zzjh4XFIdKYYOOgGtwxsxPaUsbw9wKnIcatg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "8ff83f98-c634-4927-9165-c69fb127f772", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338556}
\ No newline at end of file
{"uuid": "c0721b44-a10f-4cf9-9134-86b4b375154d", "befores": [{"name": "case_data", "status": "passed", "start": 1699241340568, "stop": 1699241340568}], "start": 1699241340568, "stop": 1699241340633}
\ No newline at end of file
{"uuid": "70413b96-37d0-4b84-b062-889afa3f8d0b", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318664}
\ No newline at end of file
{"uuid": "d9835d2e-fea3-4b38-9347-bcc9ddc3ec6b", "befores": [{"name": "title", "status": "passed", "start": 1699241315960, "stop": 1699241315960}], "start": 1699241315960, "stop": 1699241316030}
\ No newline at end of file
{"uuid": "a53d9d1f-7208-4e29-a983-b8db2807f066", "befores": [{"name": "title", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340805}
\ No newline at end of file
{"uuid": "5914a909-a128-4910-8f50-7fffa69fbd69", "befores": [{"name": "update_key", "status": "passed", "start": 1699241345754, "stop": 1699241345754}], "start": 1699241345754, "stop": 1699241345812}
\ No newline at end of file
{"name": "反向用例-username过长-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username过长-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'adminadminadminadminadminadmin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241340641, "stop": 1699241340694, "uuid": "9f20716b-104f-445f-b35c-cd148e2e1c5c", "historyId": "4ec6112c8a573cc2c25d60521e444946", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"name": "反向用例-password过短-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password过短-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'password': 'm', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241341120, "stop": 1699241341213, "uuid": "696e7260-fc9d-4c4f-8bcc-32aa6fcb5f3e", "historyId": "e6c16083f1d210d6fecfb8f35ab2a973", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "a9393aaf-deb7-4336-bf69-b2cfcbf9f6ff", "befores": [{"name": "update_key", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307695}
\ No newline at end of file
{"uuid": "36dfec37-7b53-49c3-a6f8-da8bdd420a6c", "befores": [{"name": "case_data", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318138}
\ No newline at end of file
{"uuid": "34aec050-54b5-48a0-b6cf-059023fcd2ec", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241327233, "stop": 1699241327233}], "start": 1699241327233, "stop": 1699241327419}
\ No newline at end of file
{"uuid": "a34ea130-3d0b-47ab-afe8-da2c11111af1", "befores": [{"name": "title", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306769}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDgsImlhdCI6MTY5OTI0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "53ed6d57-fa2a-4ad0-9b2b-348a3097c36d", "befores": [{"name": "level", "status": "passed", "start": 1699241329437, "stop": 1699241329437}], "start": 1699241329437, "stop": 1699241329590}
\ No newline at end of file
{"uuid": "4d9c2112-726a-456a-b86e-a134ad85ac06", "befores": [{"name": "api_name", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357018}
\ No newline at end of file
{"uuid": "044bf9f1-5d1c-4db6-974f-7ac758be2d1d", "befores": [{"name": "case_url", "status": "passed", "start": 1699241352607, "stop": 1699241352607}], "start": 1699241352607, "stop": 1699241352716}
\ No newline at end of file
{"uuid": "2e74c5e2-aebc-45c3-a434-80f3f312aa56", "befores": [{"name": "module_name", "status": "passed", "start": 1699241352270, "stop": 1699241352270}], "start": 1699241352270, "stop": 1699241352461}
\ No newline at end of file
{"uuid": "4804a47d-7a91-4c72-98a8-43e3fb3a294a", "befores": [{"name": "case_method", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307385}
\ No newline at end of file
{"uuid": "c79ffbb9-14bd-4ab5-8dcb-67642971a96d", "befores": [{"name": "level", "status": "passed", "start": 1699241318146, "stop": 1699241318146}], "start": 1699241318146, "stop": 1699241318287}
\ No newline at end of file
{"uuid": "6b7f874a-1dd4-4b14-bbdb-bdf3733718ee", "befores": [{"name": "api_name", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307588}
\ No newline at end of file
{"uuid": "aaa2ec0b-57f2-4a7b-a7b0-d8558f5c71d5", "befores": [{"name": "case_url", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306769}
\ No newline at end of file
{"uuid": "ba229ade-0037-46bc-9384-8c1435228341", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363517}
\ No newline at end of file
{"uuid": "c0bc8e20-8ebc-4e67-9ec2-75db36c94322", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241340568, "stop": 1699241340568}], "start": 1699241340568, "stop": 1699241340632}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDgsImlhdCI6MTY5OTI0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTAsImlhdCI6MTY5OTI0MTMxMH0.gbRbou24K4DowK5MFO-KuALkDCzcxCtyXMLFWpAgaKzMwt-JNDrBhOmrkRMKaEf7cxlZ4mZKxsrRckFDFuVeAA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTIsImlhdCI6MTY5OTI0MTMxMn0.SgpBpzWFUoXY67IcejMivM7-929nOofIdAawNmpg8IpRmaa0XS4ZwXCcumoYm7SZYhQ9HwgClpqiZMr5ypA6ug","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTQsImlhdCI6MTY5OTI0MTMxNH0.glQ2NxH0Cx7IaznqCdy6iCzR1CF23n9Kc4t_WioERwC2MgVoAv-4-Z7tjMQVkMdwSkwYCwRna_y69d83N3q63g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTYsImlhdCI6MTY5OTI0MTMxNn0.xfPbrROYSAqpJP-UNuhfrZ7_1fmY4vHXt_1BOesc10oimWGIO86xejGNYbre3sG12UGuDrJVseKKHmlwpcjVsA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTgsImlhdCI6MTY5OTI0MTMxOH0.LIwousKPqbvOt9_rkLIzVJZnisd7bqQUDL0qWwbgmZrV7lBTOB_bzwTNlLT0QATsNHLQPvu03AZ-FmQ4x-69YQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "32443d47-aa8c-443d-b137-2cceaac18357", "befores": [{"name": "update_key", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361342}
\ No newline at end of file
{"uuid": "93320b96-07cd-411d-9928-2f0205e5adb2", "befores": [{"name": "case_data", "status": "passed", "start": 1699241327233, "stop": 1699241327233}], "start": 1699241327233, "stop": 1699241327419}
\ No newline at end of file
{"uuid": "3e1d82c9-1375-4c83-a6ee-7105f1c7e92c", "befores": [{"name": "case_method", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336463}
\ No newline at end of file
{"uuid": "61847bd6-79b0-4b62-b4a0-588aece0074b", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318529}
\ No newline at end of file
{"uuid": "7e09e358-19b1-45ec-b388-6ca6137e8e73", "befores": [{"name": "title", "status": "passed", "start": 1699241318146, "stop": 1699241318146}], "start": 1699241318146, "stop": 1699241318288}
\ No newline at end of file
{"uuid": "ef7c4dd8-5144-4d28-85dc-f4d367aceb7a", "befores": [{"name": "module_name", "status": "passed", "start": 1699241330118, "stop": 1699241330118}], "start": 1699241330118, "stop": 1699241330199}
\ No newline at end of file
{"uuid": "da362e68-23b5-4024-93a5-822889524690", "befores": [{"name": "module_name", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318667}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "835dfe23-5d29-4f74-8851-fcbcbcb6cbe6-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241302456, "stop": 1699241302512, "uuid": "815e88fb-609a-4ed4-a30f-2345878b80e8", "historyId": "d1c388aad145f24b482d8ba19a07cc20", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "d548e0bc-d58d-4c9d-b7ea-34bfcf679d85", "befores": [{"name": "update_key", "status": "passed", "start": 1699241341435, "stop": 1699241341435}], "start": 1699241341435, "stop": 1699241341525}
\ No newline at end of file
{"uuid": "05a49003-45ad-4536-9548-7227e2bc7486", "befores": [{"name": "case_url", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311868}
\ No newline at end of file
{"uuid": "e8e02ef2-5df1-4162-a493-0a4e4c6a9f0c", "befores": [{"name": "level", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341325}
\ No newline at end of file
{"uuid": "0cb4a1ac-1404-4164-b683-59021a62396d", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241354724, "stop": 1699241354724}], "start": 1699241354724, "stop": 1699241354836}
\ No newline at end of file
{"uuid": "ec3269d7-39c8-44c7-86f1-fd037719a41d", "befores": [{"name": "level", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357016}
\ No newline at end of file
{"uuid": "4f51a255-8cac-4ab3-9378-5502debe480a", "befores": [{"name": "level", "status": "passed", "start": 1699241340908, "stop": 1699241340908}], "start": 1699241340908, "stop": 1699241341004}
\ No newline at end of file
{"uuid": "24240b4e-5021-4980-b2ce-6a219babd9af", "befores": [{"name": "case_url", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361356}
\ No newline at end of file
{"uuid": "94274bdb-da1a-4454-bb20-991adf382e66", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241300366, "stop": 1699241300366}], "start": 1699241300366, "stop": 1699241300431}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
\ No newline at end of file
{"uuid": "e642ed90-f8f1-4637-986e-4056eed713b4", "befores": [{"name": "case_method", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325223}
\ No newline at end of file
{"uuid": "d1b6937a-ce61-4c85-8daf-96fd850db71a", "befores": [{"name": "update_key", "status": "passed", "start": 1699241306879, "stop": 1699241306879}], "start": 1699241306879, "stop": 1699241306972}
\ No newline at end of file
{"uuid": "5626ed41-96a7-4fa7-9120-cf392164b8e2", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343732}
\ No newline at end of file
{"uuid": "5c18f930-e663-4ca5-ae2d-bfa92258f26a", "befores": [{"name": "case_url", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318347}
\ No newline at end of file
{"uuid": "f0254ad5-b68d-4ae0-8686-e9e1fd411d3b", "befores": [{"name": "title", "status": "passed", "start": 1699241318669, "stop": 1699241318669}], "start": 1699241318669, "stop": 1699241318778}
\ No newline at end of file
{"uuid": "6768beb2-328d-422b-96f1-b1b910d2f43b", "befores": [{"name": "case_method", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304616}
\ No newline at end of file
{"uuid": "b48ecf8c-3a43-4895-89a6-07cf2b1d7ca2", "befores": [{"name": "update_key", "status": "passed", "start": 1699241341537, "stop": 1699241341537}], "start": 1699241341537, "stop": 1699241341652}
\ No newline at end of file
{"uuid": "651e6e31-05ee-4ea0-ac36-b60fa0850da5", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306871}
\ No newline at end of file
{"uuid": "62307559-4218-4a0a-b724-2791422664a1", "befores": [{"name": "update_key", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325219}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA776910>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "1842ff82-2099-42da-af99-9d6cb9bb8557-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241332206, "stop": 1699241332263, "uuid": "a4ea8198-1d9f-418d-90d2-a2c5eb748fe4", "historyId": "43ae0f0fe3941795b4ca58a9e381a813", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "0ce581f7-9592-4675-8f98-c37941042ad3", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307281}
\ No newline at end of file
{"uuid": "ea49ca42-d8c5-49c8-a03a-3e84b7663b7f", "befores": [{"name": "level", "status": "passed", "start": 1699241352607, "stop": 1699241352607}], "start": 1699241352607, "stop": 1699241352716}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368983254351872"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368992360185856"}
\ No newline at end of file
{"uuid": "fa6c804c-b790-4d4c-915d-7f0f1e27b1c5", "befores": [{"name": "title", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307386}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '添加组织成功!'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "sql_data", "value": "{'select': 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_org_57\";'}"}, {"name": "update_key", "value": "'demId'"}], "start": 1699241318353, "stop": 1699241318527, "uuid": "f3e1e2f2-df9a-4823-bdbb-e20ac8bc3000", "historyId": "3344d68833c3fa670059a2fdcebefe67", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "bdbd3eb5-6bfd-49d4-b8c6-c41bdcc914dd", "befores": [{"name": "case_method", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318530}
\ No newline at end of file
{"uuid": "ac419613-4b3d-4123-bf34-b2fb3a88cc11", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306766}
\ No newline at end of file
{"uuid": "48f92f0e-63ab-432d-9802-2964891562c0", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306706}
\ No newline at end of file
{"uuid": "1c65fc39-a630-4de5-98e7-a573dce51533", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241341435, "stop": 1699241341435}], "start": 1699241341435, "stop": 1699241341527}
\ No newline at end of file
{"uuid": "769b17d8-88aa-4e66-abbf-0ff268244bd9", "befores": [{"name": "case_data", "status": "passed", "start": 1699241306879, "stop": 1699241306879}], "start": 1699241306879, "stop": 1699241306974}
\ No newline at end of file
{"uuid": "14b33f34-ab5d-4477-a817-50e57bafce58", "befores": [{"name": "level", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340805}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDIsImlhdCI6MTY5OTI0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "3f9df94c-d3c8-4675-be7f-29781c05d0f4", "befores": [{"name": "level", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330197}
\ No newline at end of file
{"uuid": "66be9b1e-1a16-454f-bb2c-8f9d9f7cf087", "befores": [{"name": "case_url", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304616}
\ No newline at end of file
{"uuid": "2296c124-53f1-4d04-a8b7-7f1027f83d0c", "befores": [{"name": "title", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357016}
\ No newline at end of file
{"uuid": "c8caa039-2a74-4ee3-89fb-8c4e5319b570", "befores": [{"name": "api_name", "status": "passed", "start": 1699241341330, "stop": 1699241341330}], "start": 1699241341330, "stop": 1699241341430}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "46859774-bed2-4f5a-ae01-b250b2968c10-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '不知道'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241352608, "stop": 1699241352705, "uuid": "f24c19fb-9eb8-4d7d-8f0c-8b36ea463aa3", "historyId": "f1e2918eac3ee61caf842d9bd5ce58ce", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "6c0aa10b-101b-4bdc-952f-a856098a9aa9", "befores": [{"name": "title", "status": "passed", "start": 1699241352210, "stop": 1699241352210}], "start": 1699241352210, "stop": 1699241352267}
\ No newline at end of file
{"uuid": "991062f7-4c75-4e7e-a8e9-fafc36f9a808", "befores": [{"name": "title", "status": "passed", "start": 1699241341008, "stop": 1699241341008}], "start": 1699241341008, "stop": 1699241341114}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8B1440>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8B1440> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxMH0.gbRbou24K4DowK5MFO-KuALkDCzcxCtyXMLFWpAgaKzMwt-JNDrBhOmrkRMKaEf7cxlZ4mZKxsrRckFDFuVeAA', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxMH0.gbRbou24K4DowK5MFO-KuALkDCzcxCtyXMLFWpAgaKzMwt-JNDrBhOmrkRMKaEf7cxlZ4mZKxsrRckFDFuVeAA', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "806c3775-b4e6-48ff-bd55-8671841efe65-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241309725, "stop": 1699241309778, "uuid": "001675f7-01cc-46c5-9bd9-e45e4a8ea090", "historyId": "94362f1a91e108df7dbfb54516c329ce", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "44328ab4-20b2-46fa-aa6d-25b3d57e132c", "befores": [{"name": "level", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340903}
\ No newline at end of file
{"uuid": "19fa98a7-f839-495b-b457-e1be784ab9d4", "befores": [{"name": "api_name", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306875}
\ No newline at end of file
{"uuid": "0802f8ec-dba5-48b6-808a-1e187534b9d8", "befores": [{"name": "case_data", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340803}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8EED40>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8EED40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0NH0.IQvmGek4a7cF0D8CHTh927O6Ao1Pde5BQXxeX-7pUHechWiJhJFJZfP441j74Fg2qlp03MfiY39DtfT5F3R9EQ', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0NH0.IQvmGek4a7cF0D8CHTh927O6Ao1Pde5BQXxeX-7pUHechWiJhJFJZfP441j74Fg2qlp03MfiY39DtfT5F3R9EQ', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "2a1ca2d8-56d6-4fdf-86d3-3746f5782fc5-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241343670, "stop": 1699241343722, "uuid": "514b0ca3-20fa-4340-8adb-d0ed616fb5ad", "historyId": "945533095d595f885656cb2169c82c49", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8F2500>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8F2500> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxNH0.glQ2NxH0Cx7IaznqCdy6iCzR1CF23n9Kc4t_WioERwC2MgVoAv-4-Z7tjMQVkMdwSkwYCwRna_y69d83N3q63g', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxNH0.glQ2NxH0Cx7IaznqCdy6iCzR1CF23n9Kc4t_WioERwC2MgVoAv-4-Z7tjMQVkMdwSkwYCwRna_y69d83N3q63g', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "7774cca6-5aa5-49f8-bde2-cce632c67207-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241313889, "stop": 1699241313941, "uuid": "79fd177b-8550-4d4b-a5a4-3ccca038d285", "historyId": "94362f1a91e108df7dbfb54516c329ce", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "afa3efaf-7274-4b08-b029-25f858fa07a2", "befores": [{"name": "case_url", "status": "passed", "start": 1699241306878, "stop": 1699241306878}], "start": 1699241306878, "stop": 1699241306975}
\ No newline at end of file
{"uuid": "c4da0951-4331-4cda-96ab-7cfaaa5e0d34", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241329438, "stop": 1699241329438}], "start": 1699241329438, "stop": 1699241329588}
\ No newline at end of file
{"uuid": "a637113d-3645-4e4c-bb35-7d561617e118", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341216}
\ No newline at end of file
{"uuid": "2a6f34cb-413a-4691-aa7e-e86671bc9da5", "befores": [{"name": "module_name", "status": "passed", "start": 1699241320790, "stop": 1699241320790}], "start": 1699241320790, "stop": 1699241320905}
\ No newline at end of file
{"uuid": "bd3ef05e-869b-42ad-93d4-9a27c33c56aa", "befores": [{"name": "update_key", "status": "passed", "start": 1699241349925, "stop": 1699241349925}], "start": 1699241349925, "stop": 1699241349983}
\ No newline at end of file
{"uuid": "068addbc-bdd8-446b-8fd9-2968bb18f712", "befores": [{"name": "update_key", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296218}
\ No newline at end of file
{"uuid": "e52c112e-2aa0-4123-8c4b-53fb4918408c", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343730}
\ No newline at end of file
{"uuid": "687981bb-8d22-4d78-ab39-b9a23a53c543", "befores": [{"name": "module_name", "status": "passed", "start": 1699241315960, "stop": 1699241315960}], "start": 1699241315960, "stop": 1699241316032}
\ No newline at end of file
{"uuid": "24d08bf5-5fcf-446b-896e-a947f8c8426b", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307382}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368983254351872"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368992360185856"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369001419882496"}
\ No newline at end of file
{"uuid": "9f8c35fd-cec2-415c-a236-1682e6259806", "befores": [{"name": "api_name", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306769}
\ No newline at end of file
{"uuid": "5470d1cc-1549-4c76-a965-01b1567a1acc", "befores": [{"name": "module_name", "status": "passed", "start": 1699241341434, "stop": 1699241341434}], "start": 1699241341434, "stop": 1699241341532}
\ No newline at end of file
{"uuid": "ee6cc370-1371-4613-90b9-6638975cd58a", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340902}
\ No newline at end of file
{"uuid": "c1f80ada-76a4-481d-b067-0d39982b2526", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357013}
\ No newline at end of file
{"uuid": "960504b3-077e-4541-9e66-a3197b92e7e6", "befores": [{"name": "case_method", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307702}
\ No newline at end of file
{"uuid": "71593133-982c-4ee2-bfd3-b6fd9c89ff9d", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307700}
\ No newline at end of file
{"uuid": "33a5495b-423c-4162-83d4-db14f8fcef6e", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340695}
\ No newline at end of file
{"uuid": "bf510b8d-daab-41e0-b1dd-8a0333b3a2e8", "befores": [{"name": "update_key", "status": "passed", "start": 1699241340909, "stop": 1699241340909}], "start": 1699241340909, "stop": 1699241341000}
\ No newline at end of file
{"name": "反向用例-username为空-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username为空-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': ''}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241306879, "stop": 1699241306971, "uuid": "0ff56673-40cb-4d14-83ba-70f27999501f", "historyId": "26d907b39007fe2ec26dc583cd1c446b", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "5dd7775f-764c-4c97-a256-595310568c99", "befores": [{"name": "level", "status": "passed", "start": 1699241302453, "stop": 1699241302453}], "start": 1699241302453, "stop": 1699241302530}
\ No newline at end of file
{"uuid": "4ddd3a64-1290-411b-b506-8ef003587c53", "befores": [{"name": "update_key", "status": "passed", "start": 1699241341224, "stop": 1699241341224}], "start": 1699241341224, "stop": 1699241341319}
\ No newline at end of file
{"uuid": "2fcf91d4-7193-4eb2-aff3-bfef2057b1cb", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307485}
\ No newline at end of file
{"uuid": "7f055c91-112a-44e1-b55c-e08edc736054", "befores": [{"name": "module_name", "status": "passed", "start": 1699241302452, "stop": 1699241302453}], "start": 1699241302452, "stop": 1699241302532}
\ No newline at end of file
{"uuid": "834e2389-ce0f-461d-891a-0d57215c878a", "befores": [{"name": "update_key", "status": "passed", "start": 1699241340568, "stop": 1699241340568}], "start": 1699241340568, "stop": 1699241340631}
\ No newline at end of file
{"uuid": "ed958660-3ef9-4bf6-8969-1b9ce8f290a3", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241341435, "stop": 1699241341435}], "start": 1699241341435, "stop": 1699241341528}
\ No newline at end of file
{"uuid": "ec2be07d-6064-4d3a-9163-28a61180f522", "befores": [{"name": "case_url", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352602}
\ No newline at end of file
{"uuid": "038e5feb-2a36-43f4-9b05-e879478d0e17", "befores": [{"name": "update_key", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352456}
\ No newline at end of file
{"uuid": "61439601-a3a2-49a4-88fe-b084d3c6f6ed", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307383}
\ No newline at end of file
{"uuid": "ab9b2419-abe7-4988-b5e6-4ace4ab7ec21", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241354724, "stop": 1699241354724}], "start": 1699241354724, "stop": 1699241354837}
\ No newline at end of file
{"uuid": "e4344edd-dca2-41e7-95af-93b5c610721f", "befores": [{"name": "module_name", "status": "passed", "start": 1699241300365, "stop": 1699241300365}], "start": 1699241300365, "stop": 1699241300435}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8DA5C0>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8DA5C0> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0OH0.0puy-AV928ylbB9JECIZzX1lOuroYBTDgdY9WADYfdaXssbxM1Zzjh4XFIdKYYOOgGtwxsxPaUsbw9wKnIcatg', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTM0OH0.0puy-AV928ylbB9JECIZzX1lOuroYBTDgdY9WADYfdaXssbxM1Zzjh4XFIdKYYOOgGtwxsxPaUsbw9wKnIcatg', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA78EF40>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "a24979f8-7cfa-456b-b437-5273078bb0f6-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241347844, "stop": 1699241347896, "uuid": "e9adba94-b96e-4e18-8dbc-4dc2fa28ceec", "historyId": "945533095d595f885656cb2169c82c49", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "c1072679-ac01-4016-bc75-cef110214ea8", "befores": [{"name": "api_name", "status": "passed", "start": 1699241313887, "stop": 1699241313888}], "start": 1699241313887, "stop": 1699241313952}
\ No newline at end of file
{"uuid": "80e1488a-65d3-4fa2-b4d9-d90bc8a30e70", "befores": [{"name": "case_data", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323063}
\ No newline at end of file
{"uuid": "bf32b6bf-0c52-4314-803f-3da3d48bb4b6", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318595}
\ No newline at end of file
{"uuid": "4ca10d48-1e0c-4f04-933c-e2b97af130d5", "befores": [{"name": "level", "status": "passed", "start": 1699241352464, "stop": 1699241352464}], "start": 1699241352464, "stop": 1699241352531}
\ No newline at end of file
{"uuid": "a8e7236a-b5c1-44a6-a891-2e7a61cf543e", "befores": [{"name": "case_url", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307586}
\ No newline at end of file
{"uuid": "64b30f74-c057-4a73-8e4f-a48075c61f8f", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352458}
\ No newline at end of file
{"uuid": "0f963098-686d-433f-b917-e05e8cbaf49a", "befores": [{"name": "case_url", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341428}
\ No newline at end of file
{"uuid": "f874e089-9412-48b2-85dd-37f9430e54a7", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241318147, "stop": 1699241318147}], "start": 1699241318147, "stop": 1699241318284}
\ No newline at end of file
{"uuid": "0f889469-824e-47a5-8f1f-4ba5897e1ae6", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309783}
\ No newline at end of file
{"uuid": "16819945-cb7b-4f93-8605-38bc55f5c2f4", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241352607, "stop": 1699241352608}], "start": 1699241352607, "stop": 1699241352714}
\ No newline at end of file
{"uuid": "8dddd8ae-a92e-4718-b4e0-59b2f08b93c2", "befores": [{"name": "level", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345816}
\ No newline at end of file
{"uuid": "b5cfedf5-c70e-4156-aa00-f12996baf6d7", "befores": [{"name": "case_method", "status": "passed", "start": 1699241318146, "stop": 1699241318146}], "start": 1699241318146, "stop": 1699241318286}
\ No newline at end of file
{"uuid": "bbeed2c3-83c4-417d-9eae-f75c144ff6fc", "befores": [{"name": "case_data", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325221}
\ No newline at end of file
{"uuid": "a96b2095-be9e-44a0-94f3-72f62175035a", "befores": [{"name": "api_name", "status": "passed", "start": 1699241320790, "stop": 1699241320790}], "start": 1699241320790, "stop": 1699241320904}
\ No newline at end of file
{"uuid": "3b435524-f352-4efb-a2be-8f8d0060aa5a", "befores": [{"name": "case_data", "status": "passed", "start": 1699241334298, "stop": 1699241334298}], "start": 1699241334298, "stop": 1699241334363}
\ No newline at end of file
{"uuid": "2e09479c-40b8-4557-a7d0-dcfc632ca92c", "befores": [{"name": "module_name", "status": "passed", "start": 1699241325081, "stop": 1699241325081}], "start": 1699241325081, "stop": 1699241325225}
\ No newline at end of file
{"uuid": "adcd33b9-4710-41a4-bbc6-c980796c3dc8", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241352211, "stop": 1699241352211}], "start": 1699241352211, "stop": 1699241352263}
\ No newline at end of file
{"uuid": "0ab97016-bfb4-4247-a56a-3f17485853a7", "befores": [{"name": "api_name", "status": "passed", "start": 1699241329437, "stop": 1699241329437}], "start": 1699241329437, "stop": 1699241329591}
\ No newline at end of file
{"uuid": "aa6ef3b2-5931-48d3-9fcb-77ac5212da96", "befores": [{"name": "module_name", "status": "passed", "start": 1699241318351, "stop": 1699241318352}], "start": 1699241318351, "stop": 1699241318534}
\ No newline at end of file
{"uuid": "92483f64-d113-4421-a096-ca140cca489c", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336459}
\ No newline at end of file
{"uuid": "f7bbbe27-ae85-473a-ac84-e4059d38741e", "befores": [{"name": "case_data", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311867}
\ No newline at end of file
{"uuid": "836f993b-25da-4a9f-b56b-4926baebc9a4", "befores": [{"name": "api_name", "status": "passed", "start": 1699241340567, "stop": 1699241340567}], "start": 1699241340567, "stop": 1699241340637}
\ No newline at end of file
{"uuid": "5cbd48cd-0d17-4916-9bd2-363df9762304", "befores": [{"name": "api_name", "status": "passed", "start": 1699241315960, "stop": 1699241315960}], "start": 1699241315960, "stop": 1699241316031}
\ No newline at end of file
{"uuid": "938a4ce6-75a4-49f3-a65c-1c5b4af16e35", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298326}
\ No newline at end of file
{"uuid": "6e256e6f-55a8-4aa4-8462-f6525113ffd2", "befores": [{"name": "case_data", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296231}
\ No newline at end of file
{"uuid": "1ae635d1-062f-4bff-b016-a79355b47704", "befores": [{"name": "api_name", "status": "passed", "start": 1699241300365, "stop": 1699241300365}], "start": 1699241300365, "stop": 1699241300434}
\ No newline at end of file
{"uuid": "80c0c625-325e-4ef0-adb3-2022fcf79774", "befores": [{"name": "case_url", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340699}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDgsImlhdCI6MTY5OTI0MTMwOH0.ezGLR_w5Fp6Gq6Q9mrEAim12WeKeAtKq_HJoyCMZXle_rCC5le3f873GLfRC6jNtZOcLldBH05CfExJ4RwmnyQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTAsImlhdCI6MTY5OTI0MTMxMH0.gbRbou24K4DowK5MFO-KuALkDCzcxCtyXMLFWpAgaKzMwt-JNDrBhOmrkRMKaEf7cxlZ4mZKxsrRckFDFuVeAA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTIsImlhdCI6MTY5OTI0MTMxMn0.SgpBpzWFUoXY67IcejMivM7-929nOofIdAawNmpg8IpRmaa0XS4ZwXCcumoYm7SZYhQ9HwgClpqiZMr5ypA6ug","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTQsImlhdCI6MTY5OTI0MTMxNH0.glQ2NxH0Cx7IaznqCdy6iCzR1CF23n9Kc4t_WioERwC2MgVoAv-4-Z7tjMQVkMdwSkwYCwRna_y69d83N3q63g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MTYsImlhdCI6MTY5OTI0MTMxNn0.xfPbrROYSAqpJP-UNuhfrZ7_1fmY4vHXt_1BOesc10oimWGIO86xejGNYbre3sG12UGuDrJVseKKHmlwpcjVsA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "22b5265e-39f3-4738-beee-6e4eebd060c0", "befores": [{"name": "case_data", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332281}
\ No newline at end of file
{"uuid": "afbbfb13-66e1-4dd6-b2c3-651a146f26b0", "befores": [{"name": "level", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352206}
\ No newline at end of file
{"uuid": "829404f6-ccb1-4e79-ace0-5f1db6c75f17", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241318147, "stop": 1699241318147}], "start": 1699241318147, "stop": 1699241318284}
\ No newline at end of file
{"uuid": "21de3946-bab7-487a-ab8d-2361fedbe029", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352203}
\ No newline at end of file
{"uuid": "a430d357-b4fa-4e9e-846f-fb9c57dbb5f1", "befores": [{"name": "case_url", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343733}
\ No newline at end of file
{"name": "反向用例-password错误-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password错误-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU222', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241307494, "stop": 1699241307582, "uuid": "e7096d1f-ede2-44ba-8ad8-e2cc9597f754", "historyId": "e14a5edf20e8b080db8951c0f6937363", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "4a022bd8-1703-4630-859b-86e2f825c9ba", "befores": [{"name": "update_key", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332268}
\ No newline at end of file
{"uuid": "f06e447e-4bdf-48b1-aff4-c1295400a2c9", "befores": [{"name": "case_data", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306871}
\ No newline at end of file
{"uuid": "85ea0397-5467-48bc-8149-06b06adeef4d", "befores": [{"name": "level", "status": "passed", "start": 1699241354723, "stop": 1699241354723}], "start": 1699241354723, "stop": 1699241354839}
\ No newline at end of file
{"uuid": "8685040f-ea1f-47d8-b541-a499239adc89", "befores": [{"name": "update_key", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306869}
\ No newline at end of file
{"uuid": "ca89b5e7-86cc-4277-8ba3-292dd462e52b", "befores": [{"name": "case_url", "status": "passed", "start": 1699241352464, "stop": 1699241352465}], "start": 1699241352464, "stop": 1699241352530}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368983254351872"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721368992360185856"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369001419882496"}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'ids': '1721368972332384256'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369010613796864"}
\ No newline at end of file
{"uuid": "5530f9a7-a2b6-4bec-954b-9f22bff965d9", "befores": [{"name": "case_data", "status": "passed", "start": 1699241318670, "stop": 1699241318670}], "start": 1699241318670, "stop": 1699241318776}
\ No newline at end of file
{"uuid": "2d06a4da-6cf7-4460-a233-68fe672ba824", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318137}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'删除组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'x-www-form-urlencoded'"}, {"name": "case_data", "value": "'test_org_57'"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除组织成功!'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241318604, "stop": 1699241318661, "uuid": "1fde91f3-09a3-4cce-900a-7541026dc30c", "historyId": "a89ea0086d549574d8f2eaffc18de92b", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "删除组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "5dcb7284-fbb6-4f78-8ebf-8ede5df18736", "befores": [{"name": "level", "status": "passed", "start": 1699241341434, "stop": 1699241341434}], "start": 1699241341434, "stop": 1699241341529}
\ No newline at end of file
{"uuid": "2c0f03d0-35b1-47c8-aadc-767de13feb65", "befores": [{"name": "title", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307284}
\ No newline at end of file
{"uuid": "69323319-ae30-47c4-9602-a0c29c9e0e2e", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241352465, "stop": 1699241352465}], "start": 1699241352465, "stop": 1699241352528}
\ No newline at end of file
{"uuid": "1d35f809-8e54-4443-a39c-0bf2c215d006", "befores": [{"name": "title", "status": "passed", "start": 1699241354723, "stop": 1699241354723}], "start": 1699241354723, "stop": 1699241354839}
\ No newline at end of file
{"uuid": "36cd8db0-4ef0-4285-b1e6-015c76cdc03d", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241298259, "stop": 1699241298260}], "start": 1699241298259, "stop": 1699241298324}
\ No newline at end of file
{"uuid": "45a76ea2-55f8-466a-b00c-0baa6798c728", "befores": [{"name": "api_name", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296237}
\ No newline at end of file
{"uuid": "28e108ed-408c-4093-80c9-fef9acedb6fb", "befores": [{"name": "update_key", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359181}
\ No newline at end of file
{"uuid": "f25def15-6288-46f9-a7c1-83dcb5b3cfc4", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241341537, "stop": 1699241341537}], "start": 1699241341537, "stop": 1699241341655}
\ No newline at end of file
{"uuid": "4eeebe1d-56fd-415f-9874-2ad17f593f1f", "befores": [{"name": "level", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296235}
\ No newline at end of file
{"uuid": "e1939bd5-f9b9-4f49-a616-0540b313295f", "befores": [{"name": "title", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361356}
\ No newline at end of file
{"uuid": "e4b6a62d-2da7-41ca-819a-6cea3007d879", "befores": [{"name": "level", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313951}
\ No newline at end of file
{"uuid": "cd96824f-d22e-4f05-9464-2045f9b6d244", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241302455, "stop": 1699241302455}], "start": 1699241302455, "stop": 1699241302524}
\ No newline at end of file
{"uuid": "675a5877-5909-4811-9791-7a55d7ac9e46", "befores": [{"name": "module_name", "status": "passed", "start": 1699241349924, "stop": 1699241349924}], "start": 1699241349924, "stop": 1699241349989}
\ No newline at end of file
{"uuid": "b84ba5c0-551c-4b1e-b249-9a357873658c", "befores": [{"name": "case_method", "status": "passed", "start": 1699241306642, "stop": 1699241306642}], "start": 1699241306642, "stop": 1699241306707}
\ No newline at end of file
{"uuid": "218d38d5-bef9-4423-8c08-01565ae7d848", "befores": [{"name": "api_name", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309788}
\ No newline at end of file
{"uuid": "3a1a5fbe-53f8-4a9a-9e0c-78c2b68aa352", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241340909, "stop": 1699241340909}], "start": 1699241340908, "stop": 1699241341003}
\ No newline at end of file
{"uuid": "2583efd7-8242-4079-ac10-1f0315f9e98b", "befores": [{"name": "level", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311793, "stop": 1699241311869}
\ No newline at end of file
{"uuid": "aaffb735-d1c5-4715-a3bd-084e900bcd6a", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318346}
\ No newline at end of file
{"uuid": "d93a478b-5954-4d1b-96cd-4f561c66d33f", "befores": [{"name": "case_method", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338557}
\ No newline at end of file
{"uuid": "f13d00f6-c6be-4187-899a-59b48ade49ed", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352204}
\ No newline at end of file
{"uuid": "731bf2fc-2aa1-412b-be34-536f204a4758", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330185}
\ No newline at end of file
{"uuid": "3309f744-4966-4ec1-8ed1-b742d4f66208", "befores": [{"name": "module_name", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347908}
\ No newline at end of file
{"uuid": "f4f3614b-c3be-4ec9-be2e-e960eb501816", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241334298, "stop": 1699241334298}], "start": 1699241334298, "stop": 1699241334364}
\ No newline at end of file
{"uuid": "94a24811-5fb6-4f03-8615-a7eeb896797a", "befores": [{"name": "title", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306873}
\ No newline at end of file
{"uuid": "381040be-dc04-4c87-9fad-664d31ae90b0", "befores": [{"name": "level", "status": "passed", "start": 1699241340567, "stop": 1699241340567}], "start": 1699241340567, "stop": 1699241340635}
\ No newline at end of file
{"uuid": "8de787b7-549f-4dd3-8e43-15af40f1266f", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241318670, "stop": 1699241318670}], "start": 1699241318670, "stop": 1699241318775}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDIsImlhdCI6MTY5OTI0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDQsImlhdCI6MTY5OTI0MTM0NH0.IQvmGek4a7cF0D8CHTh927O6Ao1Pde5BQXxeX-7pUHechWiJhJFJZfP441j74Fg2qlp03MfiY39DtfT5F3R9EQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDYsImlhdCI6MTY5OTI0MTM0Nn0.DIRxCXllFPB1gNGOSW3EWBFiU3b1HLJR-0dLVXbBe8gCtNTfZnGA25Y5RNCJ-ODzJ3bSWNjnOFBjD3XmjgoY7g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "c0d9f657-1e2f-4df9-b1ee-b84b482457c3", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304615}
\ No newline at end of file
{"uuid": "21380a9f-4907-4aaf-aa72-a3beaec2b029", "befores": [{"name": "api_name", "status": "passed", "start": 1699241304550, "stop": 1699241304551}], "start": 1699241304550, "stop": 1699241304618}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369125588058112"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369134714863616"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369143862640640"}
\ No newline at end of file
{"uuid": "552b52cd-b1f0-44b9-a525-425f683598ef", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318595}
\ No newline at end of file
{"uuid": "0efc8cd3-8e3d-4d11-b4ac-6b41260eefdc", "befores": [{"name": "level", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359186}
\ No newline at end of file
{"uuid": "dadf886b-0171-433b-8256-55ec78d5e264", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241340568, "stop": 1699241340568}], "start": 1699241340568, "stop": 1699241340632}
\ No newline at end of file
{"uuid": "a5fe810a-9ce9-45cb-ab73-9b1259664254", "befores": [{"name": "api_name", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347908}
\ No newline at end of file
{"uuid": "6a30a96c-14df-4fc2-981c-92a343643f9b", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320889}
\ No newline at end of file
{"uuid": "d871de7f-1825-400d-a041-89e58d7bfc84", "befores": [{"name": "case_data", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307584}
\ No newline at end of file
{"uuid": "e19535c3-e5a9-4de2-a3b5-855e51dbf584", "befores": [{"name": "update_key", "status": "passed", "start": 1699241340809, "stop": 1699241340810}], "start": 1699241340809, "stop": 1699241340898}
\ No newline at end of file
{"uuid": "0d16b11e-37ad-4139-a165-079d304f3787", "befores": [{"name": "title", "status": "passed", "start": 1699241341223, "stop": 1699241341223}], "start": 1699241341223, "stop": 1699241341326}
\ No newline at end of file
{"uuid": "a1e73b2e-07da-4fbf-b409-f7d2df72bac3", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241304551, "stop": 1699241304551}], "start": 1699241304551, "stop": 1699241304615}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzEsImlhdCI6MTY5OTI0MTMzMX0.GU7fcCf68Y2wWyzCPbuIrx_eut3nZvuUxE-xqfC7ETDw8HhMhnpsjnY4P4LOtkxp9LgLcEd9hjt_q1a2I4c4GQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzMsImlhdCI6MTY5OTI0MTMzM30.Yuj9-BKCSwKe9o6WmGCCUNZqVqsJukgxXGDfF8LOg3YKJaAU0_wQEnItCvTHtksWHTUm42gZ9YWVyC5w2WGkYQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzUsImlhdCI6MTY5OTI0MTMzNX0.1Ubnafj-7G3rCENRJUQNRxxzlVN_NU_cLTdh6w5LHywUaHtM2021AYLp6uLnbc0o-tEZimClpRp4C8XngP4vmA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "a7c89221-1e36-4604-bae1-6117d68724f7", "befores": [{"name": "case_method", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330196}
\ No newline at end of file
{"uuid": "b3338abf-fccf-4fe1-bdf8-1e34874e738a", "befores": [{"name": "case_url", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359185}
\ No newline at end of file
{"uuid": "b6606866-089d-456f-bcdf-007fd10c2fb4", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363518}
\ No newline at end of file
{"uuid": "708ed327-da6f-4d51-99dc-0c5bb35f448f", "befores": [{"name": "module_name", "status": "passed", "start": 1699241356855, "stop": 1699241356855}], "start": 1699241356855, "stop": 1699241357018}
\ No newline at end of file
{"uuid": "7ca2cf12-c182-4731-b0e0-c9e7c9eb1da2", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307586}
\ No newline at end of file
{"uuid": "0c8391a7-80e3-4865-a2bc-80037ea60813", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241306643, "stop": 1699241306643}], "start": 1699241306643, "stop": 1699241306706}
\ No newline at end of file
{"uuid": "784f45ea-0fd8-4db9-b195-eaabd334536e", "befores": [{"name": "level", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336465}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA90D300>('state')\nE + where <built-in method get of dict object at 0x0000019CBA90D300> = {'logId': '1721369010613796864', 'message': '', 'state': False}.get\nE + where {'logId': '1721369010613796864', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB9195A30>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721368972332384256'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "cb57aef9-0f26-4235-abfc-b96bf5de7df4-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721368972332384256'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241327233, "stop": 1699241327402, "uuid": "0b62aacf-f11f-4c50-914c-50bc079b0827", "historyId": "72ebd6565d93c63b2a53a8d8b1508dc6", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "8bf77c76-37d1-4d9d-9352-318dc235b1d5", "befores": [{"name": "title", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313951}
\ No newline at end of file
{"uuid": "3fedebb6-0b73-4997-a64c-abf0c5eec3b7", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241306982, "stop": 1699241306982}], "start": 1699241306982, "stop": 1699241307078}
\ No newline at end of file
{"uuid": "fb3e7113-5f68-4d97-b02d-ad205681d21e", "befores": [{"name": "level", "status": "passed", "start": 1699241309725, "stop": 1699241309725}], "start": 1699241309725, "stop": 1699241309786}
\ No newline at end of file
{"uuid": "399f2175-fe62-46c1-9344-2dc3e6565abf", "befores": [{"name": "case_data", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341426}
\ No newline at end of file
{"uuid": "129e0d93-14f3-47ac-a48f-4b31984292e6", "befores": [{"name": "level", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338557}
\ No newline at end of file
{"uuid": "62e0acb2-615d-40c4-a647-cae2051ae9c7", "befores": [{"name": "case_data", "status": "passed", "start": 1699241352061, "stop": 1699241352061}], "start": 1699241352061, "stop": 1699241352203}
\ No newline at end of file
{"uuid": "24741125-c5bf-43cb-a017-eb7ce501c087", "befores": [{"name": "update_key", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320888}
\ No newline at end of file
{"uuid": "afb3ec2f-5be9-41bf-9110-8bf612c539ef", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325223}
\ No newline at end of file
{"uuid": "016895d1-193b-4e01-939a-acd259d677c2", "befores": [{"name": "case_data", "status": "passed", "start": 1699241341119, "stop": 1699241341119}], "start": 1699241341119, "stop": 1699241341216}
\ No newline at end of file
{"uuid": "c0229c61-e774-4a66-a77e-4473b25c4ecc", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241340909, "stop": 1699241340909}], "start": 1699241340909, "stop": 1699241341001}
\ No newline at end of file
{"uuid": "ed5dc111-b461-403e-920a-777912945811", "befores": [{"name": "level", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361356}
\ No newline at end of file
{"uuid": "e6b4ac65-78b6-4598-8119-50c0513e46a2", "befores": [{"name": "update_key", "status": "passed", "start": 1699241329438, "stop": 1699241329438}], "start": 1699241329438, "stop": 1699241329575}
\ No newline at end of file
{"uuid": "eb857e0c-93c0-40b0-8a21-390ee0f33c5e", "befores": [{"name": "case_data", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336461}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA83BE40>('message')\nE + where <built-in method get of dict object at 0x0000019CBA83BE40> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxMn0.SgpBpzWFUoXY67IcejMivM7-929nOofIdAawNmpg8IpRmaa0XS4ZwXCcumoYm7SZYhQ9HwgClpqiZMr5ypA6ug', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxMn0.SgpBpzWFUoXY67IcejMivM7-929nOofIdAawNmpg8IpRmaa0XS4ZwXCcumoYm7SZYhQ9HwgClpqiZMr5ypA6ug', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "375a0b83-5237-463f-a8dc-57f8657966b2-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241311795, "stop": 1699241311848, "uuid": "3c03e8ec-c6b5-4e9d-90c5-616dbfce2651", "historyId": "94362f1a91e108df7dbfb54516c329ce", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "3bf2b774-c88b-479e-b3db-8f79b31ee41a", "befores": [{"name": "case_url", "status": "passed", "start": 1699241322918, "stop": 1699241322918}], "start": 1699241322918, "stop": 1699241323064}
\ No newline at end of file
{"uuid": "9f04cd75-cee8-4c7a-881c-af062b12606e", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330195}
\ No newline at end of file
{"uuid": "7fb2bce1-e289-4678-be1f-f0ae37a92a18", "befores": [{"name": "level", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307284}
\ No newline at end of file
{"uuid": "9bf98724-b3ee-4f7b-8ccb-a03ddbe38ca6", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341427}
\ No newline at end of file
{"uuid": "7ca43592-7ba9-4873-8548-06283f9edfd2", "befores": [{"name": "case_data", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340697}
\ No newline at end of file
{"uuid": "0d3ead12-7eb6-4448-9f24-2edc30aa5ab2", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241311794, "stop": 1699241311794}], "start": 1699241311794, "stop": 1699241311867}
\ No newline at end of file
{"name": "正向用例-username和password正确", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '超级管理' == '超级管理员'\nE - 超级管理员\nE ? -\nE + 超级管理\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB919AFA0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '登录系统', title = '正向用例-username和password正确', level = '高', case_url = 'http://120.46.172.186:8080/auth'\ncase_method = 'POST', case_mime = 'json', case_data = {'password': 'MTIzNDU2', 'username': 'admin'}\nexpect_data = {'account': 'admin', 'loginStatus': True, 'username': '超级管理'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "5dea8d41-e729-419d-8b53-69d12eec445b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-username和password正确'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'username': '超级管理', 'account': 'admin', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241300367, "stop": 1699241300422, "uuid": "be266617-ee62-4c1e-92cc-451e7f5347cf", "historyId": "d1c388aad145f24b482d8ba19a07cc20", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "7637f21d-3f45-45b8-bf3f-e06aaf990394", "befores": [{"name": "case_data", "status": "passed", "start": 1699241307188, "stop": 1699241307188}], "start": 1699241307188, "stop": 1699241307282}
\ No newline at end of file
{"uuid": "6c85a1b2-b372-4ac7-b678-b37ae8ee90f6", "befores": [{"name": "api_name", "status": "passed", "start": 1699241311793, "stop": 1699241311793}], "start": 1699241311793, "stop": 1699241311869}
\ No newline at end of file
{"uuid": "a29dde8a-3a05-4af9-af60-f68a88b75573", "befores": [{"name": "update_key", "status": "passed", "start": 1699241341331, "stop": 1699241341331}], "start": 1699241341331, "stop": 1699241341422}
\ No newline at end of file
{"uuid": "d7070862-d570-4d7f-8a0d-7d968743e462", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241341435, "stop": 1699241341435}], "start": 1699241341435, "stop": 1699241341526}
\ No newline at end of file
{"uuid": "7e2837b4-5270-40a9-8a56-8dae5129ef78", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241332205, "stop": 1699241332205}], "start": 1699241332205, "stop": 1699241332281}
\ No newline at end of file
添加维度用例
{"state":true,"message":"添加维度成功!","value":""}
{"uuid": "681758bc-9e09-4a19-a998-a1cd0a2a82b4", "befores": [{"name": "update_key", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336448}
\ No newline at end of file
{"uuid": "f0d25bf0-43b2-4649-8076-2fd0646b804c", "befores": [{"name": "update_key", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307483}
\ No newline at end of file
{"uuid": "afc80167-6293-42ab-9f52-09071e95de4b", "befores": [{"name": "update_key", "status": "passed", "start": 1699241306712, "stop": 1699241306712}], "start": 1699241306712, "stop": 1699241306765}
\ No newline at end of file
{"uuid": "e09c9529-be4b-4ffc-ba61-c969bc6cfb63", "befores": [{"name": "module_name", "status": "passed", "start": 1699241336383, "stop": 1699241336384}], "start": 1699241336383, "stop": 1699241336469}
\ No newline at end of file
{"uuid": "9e758121-c69d-48f7-933d-419ef0a97ca0", "befores": [{"name": "level", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298337}
\ No newline at end of file
{"uuid": "afc95175-220f-4937-b46c-97f9d3cb87c8", "befores": [{"name": "level", "status": "passed", "start": 1699241318538, "stop": 1699241318538}], "start": 1699241318538, "stop": 1699241318598}
\ No newline at end of file
{"uuid": "1a66f087-f119-40cb-b426-4806e1834dea", "befores": [{"name": "module_name", "status": "passed", "start": 1699241359035, "stop": 1699241359035}], "start": 1699241359035, "stop": 1699241359188}
\ No newline at end of file
{"uuid": "29081e26-4ab2-41bf-9691-6b3471f7ddf9", "befores": [{"name": "case_url", "status": "passed", "start": 1699241306981, "stop": 1699241306981}], "start": 1699241306981, "stop": 1699241307081}
\ No newline at end of file
{"uuid": "da22d170-bb73-4e3f-b866-9a6712985330", "befores": [{"name": "case_url", "status": "passed", "start": 1699241354723, "stop": 1699241354723}], "start": 1699241354723, "stop": 1699241354838}
\ No newline at end of file
{"uuid": "39a7c6a7-43bb-4fa2-a198-e35606252939", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241340909, "stop": 1699241340909}], "start": 1699241340909, "stop": 1699241341001}
\ No newline at end of file
{"uuid": "1ed18d0d-9b39-454c-8099-4029a2791dfa", "befores": [{"name": "case_url", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296235}
\ No newline at end of file
{"uuid": "139e6537-321c-48f3-8932-840eae638c48", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241345753, "stop": 1699241345753}], "start": 1699241345753, "stop": 1699241345813}
\ No newline at end of file
{"uuid": "f69afb88-eb12-4b92-adf6-6dbde9822c17", "befores": [{"name": "title", "status": "passed", "start": 1699241352607, "stop": 1699241352607}], "start": 1699241352607, "stop": 1699241352716}
\ No newline at end of file
{"uuid": "036f60d3-be72-4fe6-9c29-0a484402b7e1", "befores": [{"name": "case_url", "status": "passed", "start": 1699241349924, "stop": 1699241349924}], "start": 1699241349924, "stop": 1699241349987}
\ No newline at end of file
{"uuid": "954d8805-d23e-4177-83f8-15daf09d0050", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359182}
\ No newline at end of file
{"uuid": "d8b25f04-763d-49bb-8cde-7229b69f105e", "befores": [{"name": "title", "status": "passed", "start": 1699241340567, "stop": 1699241340567}], "start": 1699241340567, "stop": 1699241340637}
\ No newline at end of file
{"uuid": "11a46634-9992-4dff-9bfc-808c06bcfa8c", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241341224, "stop": 1699241341224}], "start": 1699241341224, "stop": 1699241341320}
\ No newline at end of file
{"uuid": "a64460a5-44e4-44d6-94a7-5d7664e96503", "befores": [{"name": "title", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352057}
\ No newline at end of file
{"uuid": "e69ce26a-308d-4ae9-a27c-4d33329a94b0", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241318147, "stop": 1699241318147}], "start": 1699241318147, "stop": 1699241318282}
\ No newline at end of file
{"uuid": "bf3c31ec-66f0-45e3-aae7-e793538dff6d", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318528}
\ No newline at end of file
{"uuid": "6013f5ee-1e40-4619-b153-321eef424542", "befores": [{"name": "update_key", "status": "passed", "start": 1699241340641, "stop": 1699241340641}], "start": 1699241340641, "stop": 1699241340695}
\ No newline at end of file
{"uuid": "88c73924-9abe-4cc4-8c17-9e13daa8eb32", "befores": [{"name": "update_key", "status": "passed", "start": 1699241356856, "stop": 1699241356856}], "start": 1699241356856, "stop": 1699241357001}
\ No newline at end of file
{"uuid": "2f64ed76-7d0a-4376-b16c-0c33c83a1858", "befores": [{"name": "api_name", "status": "passed", "start": 1699241334297, "stop": 1699241334297}], "start": 1699241334297, "stop": 1699241334366}
\ No newline at end of file
{"uuid": "de705b0e-61de-4dcb-b6d3-a14841fbb1e2", "befores": [{"name": "level", "status": "passed", "start": 1699241325082, "stop": 1699241325082}], "start": 1699241325082, "stop": 1699241325224}
\ No newline at end of file
{"uuid": "d512321b-3c03-46b8-ad38-90e7a9ea58eb", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306870}
\ No newline at end of file
{"uuid": "be39b3a8-dc27-4dba-80dd-43a4e8bbacda", "befores": [{"name": "level", "status": "passed", "start": 1699241300365, "stop": 1699241300365}], "start": 1699241300365, "stop": 1699241300433}
\ No newline at end of file
{"uuid": "67c2fd89-701f-4843-938d-aa6dd1efb769", "befores": [{"name": "case_method", "status": "passed", "start": 1699241340567, "stop": 1699241340568}], "start": 1699241340567, "stop": 1699241340634}
\ No newline at end of file
{"uuid": "93ad7f6c-f681-4291-a3a4-79b46e7098e1", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241363376, "stop": 1699241363376}], "start": 1699241363376, "stop": 1699241363515}
\ No newline at end of file
{"uuid": "739509ce-0d73-4afa-a942-1412cfb33d83", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241318670, "stop": 1699241318670}], "start": 1699241318670, "stop": 1699241318774}
\ No newline at end of file
{"uuid": "fe4069e2-d4f3-4679-b8b2-e5697e53811c", "befores": [{"name": "module_name", "status": "passed", "start": 1699241307187, "stop": 1699241307187}], "start": 1699241307187, "stop": 1699241307285}
\ No newline at end of file
{"uuid": "95a16256-39ca-4242-bc70-d3e9ed610c6b", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352458}
\ No newline at end of file
{"uuid": "108f7976-8355-4c6a-adc3-fa4daf2c2316", "befores": [{"name": "level", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320904}
\ No newline at end of file
{"uuid": "ed5a30de-c92c-43c6-9bb2-39302263fbd1", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313947}
\ No newline at end of file
{"uuid": "47c27c82-5cc8-40f2-a7f2-e16d7124ff29", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241318053, "stop": 1699241318053}], "start": 1699241318053, "stop": 1699241318137}
\ No newline at end of file
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTYsImlhdCI6MTY5OTI0MTI5Nn0.Xn3s7eqjuBBGRSai3BCwNTsou6eNV4eLfhpJSuWHrh32X2AbghJ_4QsnGiXg7tKWPnhWqwt3SVzklCLByZ2vYg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc2OTksImlhdCI6MTY5OTI0MTI5OX0.vlFuJ9jl2d_0k74dae_QQ4CH0qy_3hl1EbylwL7RnokYU0DjbeV9De_KE6k8Bz3i6a3zqCSgkj6-APjxO57Q7w","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDEsImlhdCI6MTY5OTI0MTMwMX0.-rBNLVLLkh-FYtTyF07nWpev9OgwpGi8BI6qcdvJmZWSuXM4Kf2dEKb6MvOrJzhdkynWhUoXNHK2HiiPOkTB5Q","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDMsImlhdCI6MTY5OTI0MTMwM30.najrgfkyREASF7s-L3iewvKRdx9Uisw1vAQaGaiqMR-xSo4-kqkiORymDmAN_RkNn8WmnPheN_Wn16bsp5cbXA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDUsImlhdCI6MTY5OTI0MTMwNX0._wZM3DPeDm6rP3ZB4WxTQe0GfuetaGPyTCfbcsUsKDTxE9ov3EbJ6mcK__HyLvWl72IvREhrawD3QYCQaNm6aQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
ERROR  黄总:test_bpm_laohuang.py:61 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MDcsImlhdCI6MTY5OTI0MTMwN30.Uf_I-51XxOBHebUk1JADsqxPWHo_azhspVbOC2x71LgjCwclk4_qtfDGko-_VKJOXXzdEVGgcJYDCRg7XA2CpA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "f8d97999-02a4-418a-b1ef-3252a63fdb1c", "befores": [{"name": "case_method", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340804}
\ No newline at end of file
{"uuid": "2f5ebf60-bcb1-4441-bd15-a0013cf4350b", "befores": [{"name": "case_method", "status": "passed", "start": 1699241318293, "stop": 1699241318293}], "start": 1699241318293, "stop": 1699241318346}
\ No newline at end of file
{"uuid": "41a6e77b-2b00-4df6-94ff-9866bdd48d21", "children": ["b68d4a4f-dfa4-40fd-b5b4-02f3a3eb6c35", "84c4836b-e5f7-4b6c-af40-4642c2fd7065", "be266617-ee62-4c1e-92cc-451e7f5347cf", "815e88fb-609a-4ed4-a30f-2345878b80e8", "13e0e6f6-d218-4815-9f9f-2bfff9dd404e", "7b8c0b3a-30d0-47e4-afe2-910e16fd2f89", "40df5b34-cd06-4355-b921-8aff10160340", "b4378aff-ecfe-4240-9415-8a9e60aff97d", "0ff56673-40cb-4d14-83ba-70f27999501f", "a8b827fe-1773-4b55-b1d6-59c826617e4e", "3211427b-366d-41ed-aa6e-d2212600fc23", "d17e5508-87d1-4614-89b7-3b67aeb53ab8", "712650f8-50ff-4280-b136-e2237b517bcf", "fa6f1ba9-657b-4b13-9fa1-c5648f068a67", "e7096d1f-ede2-44ba-8ad8-e2cc9597f754", "8025c0e6-56b7-4727-a25a-c8f209a4f864", "001675f7-01cc-46c5-9bd9-e45e4a8ea090", "3c03e8ec-c6b5-4e9d-90c5-616dbfce2651", "79fd177b-8550-4d4b-a5a4-3ccca038d285", "8be90697-3331-489f-803e-7242f013b9aa", "9484c13a-859e-4314-9fc8-7c9fa173ed1b", "a8baf1de-ff85-4d77-babd-0cc2f458fb42", "ec931994-3e1d-4e80-b6cb-1b0defada837", "f3e1e2f2-df9a-4823-bdbb-e20ac8bc3000", "aaa3575a-89d5-45d5-800f-b297d0490f6e", "1fde91f3-09a3-4cce-900a-7541026dc30c", "8c0c20bc-b780-47cc-ad93-3af580e6ee7e", "72c6469a-44ee-4cf5-8e9f-969230b3b77e", "5fd3a125-f8ea-45a7-9b7a-6da26ce8fd97", "3e8d59d4-c964-41d9-995c-3320a9e337a8", "0b62aacf-f11f-4c50-914c-50bc079b0827", "1bceb9f5-2984-4941-aae7-1b913098cb41", "3178f290-4de8-439f-a2c8-603c88fdb27d", "243fcaa7-175c-40fe-8eae-1329f12b184a", "5915819f-2ab8-418f-9be6-6905e9625464", "25c2929a-2172-419b-b112-95c62e34117f", "a4ea8198-1d9f-418d-90d2-a2c5eb748fe4", "cc023b3b-1d33-4c40-b16c-5dc1a2e2be1d", "5d57c113-b7af-4f36-af11-2356b37d1d5b", "a283168f-46b3-45bb-9956-d3970ff72f45", "9c5bd2d7-2ced-46c6-b1b0-a362eb66ce6f", "9f20716b-104f-445f-b35c-cd148e2e1c5c", "fb19acb3-c4b6-478c-9bd5-926de375ee06", "9fdd418e-fb37-4adf-9143-2e2ecdf30502", "b883ba8d-ff7f-487a-8433-31e26e62801f", "41bf060d-bc0f-43a3-be98-843fccfb31f8", "696e7260-fc9d-4c4f-8bcc-32aa6fcb5f3e", "816ff72a-ac72-4d00-8673-f082c6159bbf", "855fa3f7-dbbd-46e2-b759-ca11beaf5059", "98f1495c-9916-4fb9-8bc4-93d25353ed1b", "8966aed8-398e-4341-a8da-9f5e2508c817", "514b0ca3-20fa-4340-8adb-d0ed616fb5ad", "c5a23263-31e7-4e8b-afc0-18eba9aeecee", "e9adba94-b96e-4e18-8dbc-4dc2fa28ceec", "08654395-af37-4c2c-95dd-66216902c5a4", "caea2a88-40f8-463c-93c4-54620fce9d88", "90537e68-d513-4944-8a77-02625747e916", "e06dae3a-9cab-4689-9d2f-7c33481dc91e", "4ed2ccae-7308-4ccf-926a-06fba7e5c903", "9723fb0a-b541-4de2-9737-2b8a2e144af5", "24fb17f3-4fdc-4025-bd8a-6e4270fa28aa", "f24c19fb-9eb8-4d7d-8f0c-8b36ea463aa3", "9d3e321b-b049-4aa7-a1b8-38a5b3359add", "b3fe2939-67d7-4088-95ee-4875f3b11de5", "05712add-90b7-4981-9f0c-5c42f0d0b338", "df13d057-ba93-4982-b993-66cc1a7f4e50", "1c3c5413-4e5b-4c73-aac3-c651b84d4f0f"], "befores": [{"name": "_session_faker", "status": "passed", "start": 1699241295478, "stop": 1699241295623}], "start": 1699241295478, "stop": 1699241363522}
\ No newline at end of file
{"uuid": "21c013f8-5796-46c3-80ff-409582b74eaa", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307180}
\ No newline at end of file
{"uuid": "6842c1c3-35c6-4cb1-b47e-07a92633f9c6", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241361202, "stop": 1699241361202}], "start": 1699241361202, "stop": 1699241361354}
\ No newline at end of file
{"uuid": "3d4a38bf-eeeb-4cbb-a5a2-f7e1b48d9e3c", "befores": [{"name": "api_name", "status": "passed", "start": 1699241318352, "stop": 1699241318352}], "start": 1699241318352, "stop": 1699241318534}
\ No newline at end of file
{"uuid": "a96c7d22-df91-490f-85d6-679de73441ac", "befores": [{"name": "level", "status": "passed", "start": 1699241341536, "stop": 1699241341536}], "start": 1699241341536, "stop": 1699241341658}
\ No newline at end of file
{"uuid": "f62dadcf-caa7-48ca-8410-1acb00c0900a", "befores": [{"name": "title", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320904}
\ No newline at end of file
{"uuid": "a66f3d37-914e-49c9-8249-e41bcd8ed886", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298325}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'删除组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'x-www-form-urlencoded'"}, {"name": "case_data", "value": "'test_org_57'"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除组织成功!'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241352539, "stop": 1699241352596, "uuid": "24fb17f3-4fdc-4025-bd8a-6e4270fa28aa", "historyId": "d5b9b42875912cb18c22ae11e22380f2", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "删除组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDIsImlhdCI6MTY5OTI0MTM0Mn0.k3G_x51J0uUfLIhsK75_p7kQJ4oRERdnEKmvjPSO8u54EgDLRS1ausCDa4IGa3ZWYQDqe17XXcK0_ZFxIaoxbA","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDQsImlhdCI6MTY5OTI0MTM0NH0.IQvmGek4a7cF0D8CHTh927O6Ao1Pde5BQXxeX-7pUHechWiJhJFJZfP441j74Fg2qlp03MfiY39DtfT5F3R9EQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDYsImlhdCI6MTY5OTI0MTM0Nn0.DIRxCXllFPB1gNGOSW3EWBFiU3b1HLJR-0dLVXbBe8gCtNTfZnGA25Y5RNCJ-ODzJ3bSWNjnOFBjD3XmjgoY7g","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NDgsImlhdCI6MTY5OTI0MTM0OH0.0puy-AV928ylbB9JECIZzX1lOuroYBTDgdY9WADYfdaXssbxM1Zzjh4XFIdKYYOOgGtwxsxPaUsbw9wKnIcatg","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:None,期望数据为:{'message': '刷新成功'},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3NTAsImlhdCI6MTY5OTI0MTM1MH0.Yfrret163NiqN_tC0-vXuiv_3FLZTHIfw6-lQOKVZd61qtRge6H4pdryCUBe4t6yEAX49CeVlBtf6VCltySpkQ","username":"","account":"","userId":"","loginStatus":true,"userAttrs":{}}
\ No newline at end of file
{"uuid": "6f8025c9-3484-467b-b9fb-1860435c1d8b", "befores": [{"name": "case_method", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352459}
\ No newline at end of file
{"uuid": "fbf16a93-551b-48ca-83f3-423b48fdacb1", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241307289, "stop": 1699241307289}], "start": 1699241307289, "stop": 1699241307382}
\ No newline at end of file
{"uuid": "431da084-f038-4994-8eb3-297abcbe5fe3", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241315962, "stop": 1699241315962}], "start": 1699241315962, "stop": 1699241316025}
\ No newline at end of file
{"uuid": "a21cfb6a-6180-4bb8-b4cb-0dbecbc375fc", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241341009, "stop": 1699241341009}], "start": 1699241341009, "stop": 1699241341107}
\ No newline at end of file
{"uuid": "bc8b1aa5-530b-405d-bf20-dba60fa84b5a", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241313888, "stop": 1699241313888}], "start": 1699241313888, "stop": 1699241313948}
\ No newline at end of file
{"uuid": "89a2e80d-77de-43e7-b33d-7bfbc50192eb", "befores": [{"name": "module_name", "status": "passed", "start": 1699241307493, "stop": 1699241307493}], "start": 1699241307493, "stop": 1699241307588}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert True == False\nE + where False = <built-in method get of dict object at 0x0000019CBA9BCC80>('state')\nE + where <built-in method get of dict object at 0x0000019CBA9BCC80> = {'logId': '1721369152922337280', 'message': '', 'state': False}.get\nE + where {'logId': '1721369152922337280', 'message': '', 'state': False} = <bound method Response.json of <Response [500]>>()\nE + where <bound method Response.json of <Response [500]>> = <Response [500]>.json\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019CBA7B8400>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CB9189B80>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA951B20>, module_name = '维度管理'\napi_name = '根据维度编码删除维度', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721369114598981632'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', update_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "3af0975f-de0c-47d8-bfdc-6dbdebf9af3f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '1721369114598981632'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699241361202, "stop": 1699241361333, "uuid": "df13d057-ba93-4982-b993-66cc1a7f4e50", "historyId": "f1e2918eac3ee61caf842d9bd5ce58ce", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "f5dcc1bf-6ce5-4d0f-9945-fa2d9aea2d42", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241352608, "stop": 1699241352608}], "start": 1699241352608, "stop": 1699241352712}
\ No newline at end of file
{"uuid": "70f04320-e844-4435-9bcc-d3984e3a2162", "befores": [{"name": "case_url", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298327}
\ No newline at end of file
{"uuid": "6952847b-7894-4077-a2d6-fb09526106ce", "befores": [{"name": "case_method", "status": "passed", "start": 1699241306774, "stop": 1699241306774}], "start": 1699241306774, "stop": 1699241306873}
\ No newline at end of file
{"uuid": "c17fdc85-98c2-4e28-a938-e34d1f7f2bfe", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241329438, "stop": 1699241329438}], "start": 1699241329438, "stop": 1699241329576}
\ No newline at end of file
{"uuid": "6e5e8a2a-395e-4835-ba1e-5de74226d26d", "befores": [{"name": "case_method", "status": "passed", "start": 1699241340809, "stop": 1699241340809}], "start": 1699241340809, "stop": 1699241340902}
\ No newline at end of file
{"uuid": "4b73bb31-2455-4101-8ff2-a5207cc59784", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241338482, "stop": 1699241338482}], "start": 1699241338482, "stop": 1699241338555}
\ No newline at end of file
{"uuid": "b781a8ef-0df5-41ca-8827-3a14e75bf117", "befores": [{"name": "title", "status": "passed", "start": 1699241336384, "stop": 1699241336384}], "start": 1699241336384, "stop": 1699241336466}
\ No newline at end of file
{"uuid": "c71d82d4-ae0f-45fa-9547-ed359879e493", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241352608, "stop": 1699241352608}], "start": 1699241352608, "stop": 1699241352713}
\ No newline at end of file
{"uuid": "c3d062b8-0cda-43d7-b64e-900f59beb4d9", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241295926, "stop": 1699241295926}], "start": 1699241295926, "stop": 1699241296232}
\ No newline at end of file
{"uuid": "2396dd21-e43f-4e72-9d2a-ea93a696df9e", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241320791, "stop": 1699241320791}], "start": 1699241320791, "stop": 1699241320900}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjc3MzEsImlhdCI6MTY5OTI0MTMzMX0.GU7fcCf68Y2wWyzCPbuIrx_eut3nZvuUxE-xqfC7ETDw8HhMhnpsjnY4P4LOtkxp9LgLcEd9hjt_q1a2I4c4GQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019CBA8F8440>('message')\nE + where <built-in method get of dict object at 0x0000019CBA8F8440> = {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxOH0.LIwousKPqbvOt9_rkLIzVJZnisd7bqQUDL0qWwbgmZrV7lBTOB_bzwTNlLT0QATsNHLQPvu03AZ-FmQ4x-69YQ', 'userAttrs': {}, ...}.get\nE + where {'account': '', 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOj...0MTMxOH0.LIwousKPqbvOt9_rkLIzVJZnisd7bqQUDL0qWwbgmZrV7lBTOB_bzwTNlLT0QATsNHLQPvu03AZ-FmQ4x-69YQ', 'userAttrs': {}, ...} = <bound method Response.json of <Response [200]>>()\nE + where <bound method Response.json of <Response [200]>> = <Response [200]>.json\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_laohuang.test_bpm_laohuang.TestBPM object at 0x0000019CB91AB3D0>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x0000019CBA7B87C0>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x0000019CBA7AF850>, module_name = '认证接口'\napi_name = '刷新token', title = '正向用例', level = '中', case_url = 'http://120.46.172.186:8080/refresh', case_method = 'GET'\ncase_mime = None, case_data = None, expect_data = {'message': '刷新成功'}, sql_type = None, sql_data = None, update_key = None\n\n @allure.epic(\"BPM项目-老黄\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例等级\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM-laohuang\").get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n # 影响allure报告的数据,不影响代码流程\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_laohuang\\test_bpm_laohuang.py:62: AssertionError"}, "attachments": [{"name": "log", "source": "a8ff5513-883c-42c9-a262-99252e55a68e-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/refresh'"}, {"name": "case_method", "value": "'GET'"}, {"name": "case_mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699241318053, "stop": 1699241318129, "uuid": "9484c13a-859e-4314-9fc8-7c9fa173ed1b", "historyId": "94362f1a91e108df7dbfb54516c329ce", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "00b085dd-1130-493b-a920-36d3428b327c", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241322918, "stop": 1699241322919}], "start": 1699241322918, "stop": 1699241323062}
\ No newline at end of file
{"uuid": "8100337a-37b7-4c65-8624-4755d4d79e47", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241352465, "stop": 1699241352465}], "start": 1699241352465, "stop": 1699241352529}
\ No newline at end of file
{"uuid": "87e4dd57-8742-4ec5-9f6e-ef511bb6f22f", "befores": [{"name": "level", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307489}
\ No newline at end of file
{"uuid": "b230c15a-304e-4f58-a3a7-5336485af7e8", "befores": [{"name": "update_key", "status": "passed", "start": 1699241340703, "stop": 1699241340703}], "start": 1699241340703, "stop": 1699241340800}
\ No newline at end of file
{"uuid": "6907fb68-ee2b-45c6-9c25-92eb8e0379a7", "befores": [{"name": "update_key", "status": "passed", "start": 1699241307289, "stop": 1699241307289}], "start": 1699241307289, "stop": 1699241307380}
\ No newline at end of file
{"uuid": "7a6f5935-894c-4e31-8128-8c5bbfbf260f", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318663}
\ No newline at end of file
{"uuid": "2fca1f55-96da-4a4e-946c-dd1650b5a7db", "befores": [{"name": "api_name", "status": "passed", "start": 1699241307288, "stop": 1699241307288}], "start": 1699241307288, "stop": 1699241307387}
\ No newline at end of file
{"uuid": "6622daa7-33c9-40b2-9567-83fecc2ba941", "befores": [{"name": "title", "status": "passed", "start": 1699241340908, "stop": 1699241340908}], "start": 1699241340908, "stop": 1699241341005}
\ No newline at end of file
{"uuid": "99242f74-fea7-497f-90ff-3a5dcf7fc26d", "befores": [{"name": "case_method", "status": "passed", "start": 1699241354723, "stop": 1699241354724}], "start": 1699241354723, "stop": 1699241354837}
\ No newline at end of file
{"uuid": "503aeafa-e7a4-4a7d-9d52-710619a333ac", "befores": [{"name": "update_key", "status": "passed", "start": 1699241302455, "stop": 1699241302455}], "start": 1699241302455, "stop": 1699241302523}
\ No newline at end of file
{"uuid": "7c13a45b-0770-458a-893e-05adc18f1087", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241341537, "stop": 1699241341537}], "start": 1699241341537, "stop": 1699241341656}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "parameters": [{"name": "module_name", "value": "'组织管理'"}, {"name": "api_name", "value": "'添加组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/org/v1/org/addOrg'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'code': 'test_org_57', 'demId': '不知道', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '添加组织成功!'}"}, {"name": "sql_type", "value": "'select|delete'"}, {"name": "sql_data", "value": "{'select': 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";', 'delete': 'DELETE FROM uc_org WHERE `CODE_`=\"test_org_57\";'}"}, {"name": "update_key", "value": "'demId'"}], "start": 1699241352272, "stop": 1699241352455, "uuid": "4ed2ccae-7308-4ccf-926a-06fba7e5c903", "historyId": "c6f5aec087c808ac2561fe5868e3a2a6", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "LAPTOP-31V3JBFR"}, {"name": "thread", "value": "22076-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "1ac82b0c-5de1-4f2a-84c6-e8b09f20e1b7", "befores": [{"name": "api_name", "status": "passed", "start": 1699241352537, "stop": 1699241352538}], "start": 1699241352537, "stop": 1699241352604}
\ No newline at end of file
{"uuid": "cc4d5382-03cf-4927-a0d3-39d390318380", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241352272, "stop": 1699241352272}], "start": 1699241352272, "stop": 1699241352457}
\ No newline at end of file
{"uuid": "501b06b8-9aeb-499a-89a4-78135c7f3a0e", "befores": [{"name": "case_data", "status": "passed", "start": 1699241302454, "stop": 1699241302454}], "start": 1699241302454, "stop": 1699241302527}
\ No newline at end of file
{"uuid": "55af1f5a-4e3c-40d2-a5fb-27da2359cfd8", "children": ["25c2929a-2172-419b-b112-95c62e34117f", "a4ea8198-1d9f-418d-90d2-a2c5eb748fe4", "cc023b3b-1d33-4c40-b16c-5dc1a2e2be1d", "5d57c113-b7af-4f36-af11-2356b37d1d5b", "a283168f-46b3-45bb-9956-d3970ff72f45", "9c5bd2d7-2ced-46c6-b1b0-a362eb66ce6f", "9f20716b-104f-445f-b35c-cd148e2e1c5c", "fb19acb3-c4b6-478c-9bd5-926de375ee06", "9fdd418e-fb37-4adf-9143-2e2ecdf30502", "b883ba8d-ff7f-487a-8433-31e26e62801f", "41bf060d-bc0f-43a3-be98-843fccfb31f8", "696e7260-fc9d-4c4f-8bcc-32aa6fcb5f3e", "816ff72a-ac72-4d00-8673-f082c6159bbf", "855fa3f7-dbbd-46e2-b759-ca11beaf5059", "98f1495c-9916-4fb9-8bc4-93d25353ed1b", "8966aed8-398e-4341-a8da-9f5e2508c817", "514b0ca3-20fa-4340-8adb-d0ed616fb5ad", "c5a23263-31e7-4e8b-afc0-18eba9aeecee", "e9adba94-b96e-4e18-8dbc-4dc2fa28ceec", "08654395-af37-4c2c-95dd-66216902c5a4", "caea2a88-40f8-463c-93c4-54620fce9d88", "90537e68-d513-4944-8a77-02625747e916", "e06dae3a-9cab-4689-9d2f-7c33481dc91e", "4ed2ccae-7308-4ccf-926a-06fba7e5c903", "9723fb0a-b541-4de2-9737-2b8a2e144af5", "24fb17f3-4fdc-4025-bd8a-6e4270fa28aa", "f24c19fb-9eb8-4d7d-8f0c-8b36ea463aa3", "9d3e321b-b049-4aa7-a1b8-38a5b3359add", "b3fe2939-67d7-4088-95ee-4875f3b11de5", "05712add-90b7-4981-9f0c-5c42f0d0b338", "df13d057-ba93-4982-b993-66cc1a7f4e50", "1c3c5413-4e5b-4c73-aac3-c651b84d4f0f"], "befores": [{"name": "req_fix", "status": "passed", "start": 1699241330020, "stop": 1699241330118}], "afters": [{"name": "req_fix::0", "status": "passed", "start": 1699241363521, "stop": 1699241363521}], "start": 1699241330020, "stop": 1699241363521}
\ No newline at end of file
{"uuid": "786e3176-583d-4d83-afb8-b9301d71a9c1", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307181}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369125588058112"}
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721369114598981632'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":false,"message":"","logId":"1721369134714863616"}
\ No newline at end of file
{"uuid": "00e5f578-dedc-49cd-bc8f-147b0648e021", "befores": [{"name": "level", "status": "passed", "start": 1699241334297, "stop": 1699241334297}], "start": 1699241334297, "stop": 1699241334365}
\ No newline at end of file
{"uuid": "d5b24b71-d9d0-4ff1-82b7-2a862ab4dd3f", "befores": [{"name": "sql_type", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330185}
\ No newline at end of file
{"uuid": "5f02bb06-933b-4ac2-9dba-f5b0923deca5", "befores": [{"name": "case_data", "status": "passed", "start": 1699241307591, "stop": 1699241307591}], "start": 1699241307591, "stop": 1699241307701}
\ No newline at end of file
{"uuid": "b2026482-653b-44ba-8319-fcaaf91cc5c1", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241330119, "stop": 1699241330119}], "start": 1699241330119, "stop": 1699241330196}
\ No newline at end of file
{"uuid": "a9a4e482-d2b6-4d76-9710-fce3918c7dd3", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241359036, "stop": 1699241359036}], "start": 1699241359036, "stop": 1699241359183}
\ No newline at end of file
{"uuid": "b0d1227a-6f5a-4099-958e-4b8764d36b1d", "befores": [{"name": "api_name", "status": "passed", "start": 1699241318603, "stop": 1699241318603}], "start": 1699241318603, "stop": 1699241318667}
\ No newline at end of file
{"uuid": "1a6a99b1-7c68-4278-9110-813bba7f3ec1", "befores": [{"name": "sql_data", "status": "passed", "start": 1699241352538, "stop": 1699241352538}], "start": 1699241352538, "stop": 1699241352598}
\ No newline at end of file
{"uuid": "215ca750-0735-4cf8-801c-f2396a014601", "befores": [{"name": "case_method", "status": "passed", "start": 1699241347842, "stop": 1699241347842}], "start": 1699241347842, "stop": 1699241347906}
\ No newline at end of file
{"uuid": "308d8c36-eaf2-423a-bd7a-759291ff0022", "befores": [{"name": "case_method", "status": "passed", "start": 1699241341435, "stop": 1699241341435}], "start": 1699241341435, "stop": 1699241341528}
\ No newline at end of file
{"uuid": "17de6cdd-6fbb-4607-8ab5-c4034fbfe4c0", "befores": [{"name": "case_mime", "status": "passed", "start": 1699241307390, "stop": 1699241307390}], "start": 1699241307390, "stop": 1699241307486}
\ No newline at end of file
{"uuid": "114dec6a-1c94-4c85-a618-1546e4983ee7", "befores": [{"name": "case_data", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307180}
\ No newline at end of file
{"uuid": "728d65a9-613a-419f-9e02-fc7eed92376d", "befores": [{"name": "api_name", "status": "passed", "start": 1699241298259, "stop": 1699241298259}], "start": 1699241298259, "stop": 1699241298340}
\ No newline at end of file
{"uuid": "14646a89-ab36-4ca1-b9b5-2f49268c3cea", "befores": [{"name": "expect_data", "status": "passed", "start": 1699241329438, "stop": 1699241329438}], "start": 1699241329438, "stop": 1699241329587}
\ No newline at end of file
{"uuid": "9f55df36-7d75-4ee2-9bb6-0ce4bc898308", "befores": [{"name": "module_name", "status": "passed", "start": 1699241318537, "stop": 1699241318538}], "start": 1699241318537, "stop": 1699241318601}
\ No newline at end of file
{"uuid": "589bf300-c9e4-4c58-ad08-dd73a10ea7a5", "befores": [{"name": "api_name", "status": "passed", "start": 1699241318051, "stop": 1699241318051}], "start": 1699241318051, "stop": 1699241318142}
\ No newline at end of file
{"uuid": "f2b3a9ec-9484-4bbe-bcc4-a1cf5ffc7e3a", "befores": [{"name": "api_name", "status": "passed", "start": 1699241343669, "stop": 1699241343669}], "start": 1699241343669, "stop": 1699241343735}
\ No newline at end of file
{"uuid": "1c3a76d0-3002-49ff-bdfc-efe7057ee2ea", "befores": [{"name": "case_method", "status": "passed", "start": 1699241307085, "stop": 1699241307085}], "start": 1699241307085, "stop": 1699241307181}
\ No newline at end of file
{"uuid": "f54104cf-7ccf-4714-94e9-30116831c649", "befores": [{"name": "level", "status": "passed", "start": 1699241351992, "stop": 1699241351992}], "start": 1699241351992, "stop": 1699241352056}
\ No newline at end of file
{"uuid": "2c735a8d-dc09-43af-a264-fc998fcee936", "befores": [{"name": "module_name", "status": "passed", "start": 1699242075149, "stop": 1699242075149}], "start": 1699242075149, "stop": 1699242075213}
\ No newline at end of file
{"uuid": "07efc27d-ae5f-450b-9f1e-f161b9a1bd99", "befores": [{"name": "case_url", "status": "passed", "start": 1699242072934, "stop": 1699242072934}], "start": 1699242072934, "stop": 1699242073100}
\ No newline at end of file
{"uuid": "3365e48b-229f-4370-a0ac-b0ed7c01893b", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242072934, "stop": 1699242072934}], "start": 1699242072934, "stop": 1699242073099}
\ No newline at end of file
{"uuid": "895778d7-81f3-4aff-9694-b25a61532229", "befores": [{"name": "title", "status": "passed", "start": 1699242075961, "stop": 1699242075961}], "start": 1699242075961, "stop": 1699242076049}
\ No newline at end of file
{"uuid": "31a0f637-e10c-4168-9409-0dedccbfdc90", "befores": [{"name": "module_name", "status": "passed", "start": 1699242076297, "stop": 1699242076297}], "start": 1699242076297, "stop": 1699242076349}
\ No newline at end of file
{"uuid": "48f34d4b-f584-44c3-87fb-95fd36d2c4c8", "befores": [{"name": "title", "status": "passed", "start": 1699242073552, "stop": 1699242073552}], "start": 1699242073552, "stop": 1699242073651}
\ No newline at end of file
{"uuid": "bc4edf9d-2c1a-4238-81f1-8002d3b3b67f", "befores": [{"name": "title", "status": "passed", "start": 1699242073748, "stop": 1699242073748}], "start": 1699242073748, "stop": 1699242073842}
\ No newline at end of file
{"uuid": "a1799be4-50a3-409a-9072-4ded0ced59e7", "befores": [{"name": "update_key", "status": "passed", "start": 1699242073269, "stop": 1699242073269}], "start": 1699242073269, "stop": 1699242073361}
\ No newline at end of file
{"uuid": "700482c5-f564-488c-8602-98952c95d135", "befores": [{"name": "case_data", "status": "passed", "start": 1699242073162, "stop": 1699242073162}], "start": 1699242073162, "stop": 1699242073265}
\ No newline at end of file
{"uuid": "71e95599-56c5-4bc0-8829-cc7dde7e5824", "befores": [{"name": "case_data", "status": "passed", "start": 1699242075962, "stop": 1699242075962}], "start": 1699242075962, "stop": 1699242076048}
\ No newline at end of file
{"uuid": "bc4fd2c6-f09f-4a31-af29-444400d20ccd", "befores": [{"name": "title", "status": "passed", "start": 1699242074046, "stop": 1699242074046}], "start": 1699242074046, "stop": 1699242074187}
\ No newline at end of file
{"uuid": "b21d0611-499e-44d1-8ed8-04442aa8885b", "befores": [{"name": "sql_data", "status": "passed", "start": 1699242076298, "stop": 1699242076298}], "start": 1699242076298, "stop": 1699242076346}
\ No newline at end of file
{"uuid": "dbd6c652-014f-4d3d-bb58-a798959c3fc3", "befores": [{"name": "level", "status": "passed", "start": 1699242073269, "stop": 1699242073269}], "start": 1699242073269, "stop": 1699242073364}
\ No newline at end of file
{"uuid": "0740e689-02ae-4b76-936c-29db38d5dc39", "befores": [{"name": "case_url", "status": "passed", "start": 1699242076159, "stop": 1699242076159}], "start": 1699242076159, "stop": 1699242076295}
\ No newline at end of file
{"uuid": "d9b7b149-4d02-43ab-b357-663f3c2dcb05", "befores": [{"name": "update_key", "status": "passed", "start": 1699242072934, "stop": 1699242072934}], "start": 1699242072934, "stop": 1699242073098}
\ No newline at end of file
{"uuid": "49c1088e-1582-4d69-808d-6ca14797eb0b", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242074541, "stop": 1699242074541}], "start": 1699242074541, "stop": 1699242074643}
\ No newline at end of file
{"uuid": "ae404a91-6fed-4bde-9c11-1eed955eed2f", "befores": [{"name": "sql_type", "status": "passed", "start": 1699242074242, "stop": 1699242074242}], "start": 1699242074242, "stop": 1699242074415}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x000001FEBD3DCC90>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x000001FEBD4C6890>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x000001FEBD4C7090>\nmodule_name = '维度管理', api_name = '根据维度编码删除维度', title = '正向用例', level = '中'\ncase_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721372146283855872'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'\nupdate_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:57: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <InterfaceAutoTest.test_case.test_zhangsan.test_bpm.TestBPM object at 0x000001FEBD3DCC90>\ndb_fix = <InterfaceAutoTest.common.db.DB object at 0x000001FEBD4C6890>\nreq_fix = <InterfaceAutoTest.requests_method.requests_method.RequestsMethod object at 0x000001FEBD4C7090>\nmodule_name = '维度管理', api_name = '根据维度编码删除维度', title = '正向用例', level = '中'\ncase_url = 'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'\ncase_method = 'DELETE', case_mime = 'query', case_data = {'ids': '1721372146283855872'}\nexpect_data = {'message': '删除维度成功', 'state': True}, sql_type = 'select'\nsql_data = 'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'\nupdate_key = 'ids'\n\n @allure.epic(\"BPM_张三\")\n @pytest.mark.parametrize(\"module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key\", ReadExcel(\"BPM\", excel_path=excel_path).get_data())\n def test_bpm(self, db_fix, req_fix, module_name, api_name, title, level, case_url, case_method, case_mime, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(module_name)\n allure.dynamic.story(api_name)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data)\n # 使用RequestsMethod类对象发送请求--pass\n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data)\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n # 使用RequestsMethod类对象发送请求--pass\n \n # 判断sql语句的类型是否为select|delete或者为delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象执行删除的sql语句\n db_fix.delete(sql_data.get(\"delete\"))\n # 使用DB类对象执行查询的sql语句,并接收查询的结果\n select_result = db_fix.select(sql_data.get(\"select\"))\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestsMethod类对象发送请求\n res = req_fix.request_all(req_method=case_method, req_url=case_url, req_mime=case_mime, case_data=case_data)\n \n \n # 断言\n try:\n for key in expect_data:\n assert expect_data[key] == res.json().get(key)\n except:\n log.error(\"断言失败\"+\",用例数据为:\"+str(case_data)+\",期望数据为:\"+str(expect_data)+\",服务器返回的数据为:\"+res.text)\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_zhangsan\\test_bpm.py:60: AssertionError"}, "attachments": [{"name": "log", "source": "1e4bdaac-4602-4b5c-9527-2f493bb6bccd-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module_name", "value": "'维度管理'"}, {"name": "api_name", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/api/demension/v1/dem/deleteDemByIds'"}, {"name": "case_method", "value": "'DELETE'"}, {"name": "case_mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '不知道'}"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'SELECT ID_ from uc_demension WHERE `CODE_`=\"dem_test57_abc\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1699242076648, "stop": 1699242076739, "uuid": "33852d8a-0bde-45be-850a-28a3b99b6237", "historyId": "1358c41ae6531cfe5fb505c167d9e6b3", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-9SK381O"}, {"name": "thread", "value": "10308-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "e9384c96-4ab3-4b9c-8902-08b2f598fa37", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242076585, "stop": 1699242076585}], "start": 1699242076585, "stop": 1699242076643}
\ No newline at end of file
{"uuid": "f03631d3-a855-4bc0-9d3d-2ddaeb294976", "befores": [{"name": "case_data", "status": "passed", "start": 1699242074541, "stop": 1699242074541}], "start": 1699242074541, "stop": 1699242074643}
\ No newline at end of file
{"uuid": "f431e589-1de3-4da8-b000-8824b0fb9bbb", "befores": [{"name": "title", "status": "passed", "start": 1699242076647, "stop": 1699242076647}], "start": 1699242076647, "stop": 1699242076747}
\ No newline at end of file
{"uuid": "d737da57-971b-4db4-8856-08921a616c8f", "befores": [{"name": "level", "status": "passed", "start": 1699242075766, "stop": 1699242075766}], "start": 1699242075766, "stop": 1699242075866}
\ No newline at end of file
{"uuid": "34eda35c-156a-48f2-9f99-7c1d0143e566", "befores": [{"name": "case_data", "status": "passed", "start": 1699242075575, "stop": 1699242075575}], "start": 1699242075575, "stop": 1699242075668}
\ No newline at end of file
{"uuid": "29ae9d59-99ba-439b-85ad-aacc594c9797", "befores": [{"name": "sql_type", "status": "passed", "start": 1699242075270, "stop": 1699242075270}], "start": 1699242075270, "stop": 1699242075368}
\ No newline at end of file
{"name": "test2", "status": "passed", "attachments": [{"name": "stdout", "source": "4af715cb-697c-4a01-b077-e6df39dc764f-attachment.txt", "type": "text/plain"}], "start": 1699242074804, "stop": 1699242074854, "uuid": "6a273046-56f4-4b6d-9677-79ff735265c6", "historyId": "326d853d0df8edbfaa32cbad64ddfb30", "testCaseId": "326d853d0df8edbfaa32cbad64ddfb30", "fullName": "test_order.test_pytest_func.Test01#test2", "labels": [{"name": "story", "value": "添加维度"}, {"name": "epic", "value": "BPM_流程测试"}, {"name": "feature", "value": "认证接口和维度管理流程"}, {"name": "tag", "value": "dependency(depends=['Test01::test1'])"}, {"name": "parentSuite", "value": "test_order"}, {"name": "suite", "value": "test_pytest_func"}, {"name": "subSuite", "value": "Test01"}, {"name": "host", "value": "DESKTOP-9SK381O"}, {"name": "thread", "value": "10308-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_order.test_pytest_func"}]}
\ No newline at end of file
{"uuid": "5f3dacc6-ced8-42d6-b8ee-2270779557a0", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242075215, "stop": 1699242075215}], "start": 1699242075215, "stop": 1699242075266}
\ No newline at end of file
{"uuid": "4e6e1820-7d00-481c-8e8f-caaceed067b9", "befores": [{"name": "case_url", "status": "passed", "start": 1699242075575, "stop": 1699242075575}], "start": 1699242075575, "stop": 1699242075669}
\ No newline at end of file
{"uuid": "c899a06e-0989-425c-98d0-d6afa74122fb", "befores": [{"name": "case_data", "status": "passed", "start": 1699242076647, "stop": 1699242076647}], "start": 1699242076647, "stop": 1699242076746}
\ No newline at end of file
{"uuid": "f75e0aeb-ae5c-4781-a54e-d758c6367160", "befores": [{"name": "title", "status": "passed", "start": 1699242075474, "stop": 1699242075474}], "start": 1699242075474, "stop": 1699242075572}
\ No newline at end of file
{"uuid": "b9232484-e816-4c8d-9f5b-6cce45bf6a3b", "befores": [{"name": "module_name", "status": "passed", "start": 1699242073552, "stop": 1699242073552}], "start": 1699242073552, "stop": 1699242073651}
\ No newline at end of file
{"name": "反向用例-password特殊字符-username正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-password特殊字符-username正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'password': '@#!@#!@', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699242075869, "stop": 1699242075955, "uuid": "889005bd-bb66-4b6b-a1bb-989c5f3d44ef", "historyId": "2982cd1ef72019862bfb8c33908896fc", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-9SK381O"}, {"name": "thread", "value": "10308-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "01dfb163-4ec9-4539-8d62-5e3607b18e2a", "befores": [{"name": "sql_data", "status": "passed", "start": 1699242072934, "stop": 1699242072934}], "start": 1699242072934, "stop": 1699242073098}
\ No newline at end of file
{"name": "反向用例-username过长-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username过长-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'adminadminadminadminadminadmin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699242075216, "stop": 1699242075264, "uuid": "7563b89a-1d0f-41db-9982-981da98879d9", "historyId": "4ec6112c8a573cc2c25d60521e444946", "testCaseId": "2d826f9779cfe5666a21cc91e511c236", "fullName": "test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM_张三"}, {"name": "parentSuite", "value": "test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-9SK381O"}, {"name": "thread", "value": "10308-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "cb8cebba-df18-402b-932c-fa0b617c63e3", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242072934, "stop": 1699242072934}], "start": 1699242072934, "stop": 1699242073099}
\ No newline at end of file
{"uuid": "96da856f-0cba-49e8-8243-740c5df4d990", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242076051, "stop": 1699242076052}], "start": 1699242076051, "stop": 1699242076153}
\ No newline at end of file
{"uuid": "62834b68-9b02-40a0-95b7-4a86452c72e3", "befores": [{"name": "api_name", "status": "passed", "start": 1699242074419, "stop": 1699242074419}], "start": 1699242074419, "stop": 1699242074476}
\ No newline at end of file
{"uuid": "9b163357-dbb4-4ec4-84b3-59987ca85e45", "befores": [{"name": "module_name", "status": "passed", "start": 1699242075373, "stop": 1699242075373}], "start": 1699242075373, "stop": 1699242075472}
\ No newline at end of file
{"uuid": "acee5e62-4337-449d-a4f1-a57b6c213c5e", "befores": [{"name": "module_name", "status": "passed", "start": 1699242073103, "stop": 1699242073103}], "start": 1699242073103, "stop": 1699242073160}
\ No newline at end of file
{"uuid": "d306523f-0b4f-4790-9c9c-2947a4f6473b", "befores": [{"name": "sql_data", "status": "passed", "start": 1699242073460, "stop": 1699242073460}], "start": 1699242073460, "stop": 1699242073548}
\ No newline at end of file
{"uuid": "18b50e2b-d08a-47cf-add2-4e885f0b3d57", "befores": [{"name": "case_data", "status": "passed", "start": 1699242074478, "stop": 1699242074478}], "start": 1699242074478, "stop": 1699242074537}
\ No newline at end of file
{"uuid": "7e4a88d4-71f9-4aa0-80a3-3aca7820628f", "befores": [{"name": "sql_type", "status": "passed", "start": 1699242076052, "stop": 1699242076052}], "start": 1699242076052, "stop": 1699242076153}
\ No newline at end of file
{"uuid": "3f3d6472-86ca-4d44-ba29-e2b51d0f0e5b", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242076298, "stop": 1699242076298}], "start": 1699242076298, "stop": 1699242076347}
\ No newline at end of file
{"uuid": "a97e8f25-70e9-4ade-8884-29f3976ea84c", "befores": [{"name": "case_method", "status": "passed", "start": 1699242073269, "stop": 1699242073269}], "start": 1699242073269, "stop": 1699242073364}
\ No newline at end of file
{"uuid": "f052755f-cf09-444f-b83c-ef798d255783", "befores": [{"name": "api_name", "status": "passed", "start": 1699242076351, "stop": 1699242076351}], "start": 1699242076351, "stop": 1699242076525}
\ No newline at end of file
{"uuid": "041b6169-9142-48d1-872f-bdf236e64b94", "befores": [{"name": "case_url", "status": "passed", "start": 1699242075215, "stop": 1699242075215}], "start": 1699242075215, "stop": 1699242075267}
\ No newline at end of file
{"uuid": "9da2d08c-89e9-44dd-bd29-11e99378ae43", "befores": [{"name": "case_method", "status": "passed", "start": 1699242073367, "stop": 1699242073367}], "start": 1699242073367, "stop": 1699242073455}
\ No newline at end of file
{"uuid": "a9eed89e-ec8a-4571-b386-c6bbc9c68725", "befores": [{"name": "api_name", "status": "passed", "start": 1699242072934, "stop": 1699242072934}], "start": 1699242072934, "stop": 1699242073101}
\ No newline at end of file
{"uuid": "9d0ec01b-d7ca-4dc0-bce1-13dcbfad5f8d", "befores": [{"name": "sql_data", "status": "passed", "start": 1699242074479, "stop": 1699242074479}], "start": 1699242074479, "stop": 1699242074536}
\ No newline at end of file
{"uuid": "3c94caee-e6ad-44ba-92a6-4859f09643bc", "befores": [{"name": "sql_data", "status": "passed", "start": 1699242076527, "stop": 1699242076527}], "start": 1699242076527, "stop": 1699242076581}
\ No newline at end of file
{"uuid": "abba9735-5c4c-4b9c-9141-e5c86eff2767", "befores": [{"name": "case_method", "status": "passed", "start": 1699242074478, "stop": 1699242074478}], "start": 1699242074478, "stop": 1699242074538}
\ No newline at end of file
{"uuid": "c1b9f811-be1b-4a45-bc0c-a4ad8558317d", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242075767, "stop": 1699242075767}], "start": 1699242075767, "stop": 1699242075865}
\ No newline at end of file
{"uuid": "82047a38-15b6-4dd1-982f-a2a17adb0508", "befores": [{"name": "module_name", "status": "passed", "start": 1699242076051, "stop": 1699242076051}], "start": 1699242076051, "stop": 1699242076156}
\ No newline at end of file
{"uuid": "c4e29b21-ae84-4201-83c4-538f8e44cb19", "befores": [{"name": "level", "status": "passed", "start": 1699242072934, "stop": 1699242072934}], "start": 1699242072934, "stop": 1699242073100}
\ No newline at end of file
{"uuid": "80f2766c-0391-4715-a533-5a0961083fdb", "befores": [{"name": "api_name", "status": "passed", "start": 1699242073459, "stop": 1699242073459}], "start": 1699242073459, "stop": 1699242073550}
\ No newline at end of file
{"uuid": "73c55f25-09d7-4dae-8533-84b210f0783b", "befores": [{"name": "api_name", "status": "passed", "start": 1699242076585, "stop": 1699242076585}], "start": 1699242076585, "stop": 1699242076645}
\ No newline at end of file
{"uuid": "ccb3a571-8ff3-4855-9356-baf0a859b97e", "befores": [{"name": "sql_data", "status": "passed", "start": 1699242073845, "stop": 1699242073845}], "start": 1699242073845, "stop": 1699242073933}
\ No newline at end of file
{"uuid": "8e9a059d-4bda-4fe7-b029-93ba501ffcc3", "befores": [{"name": "level", "status": "passed", "start": 1699242076297, "stop": 1699242076298}], "start": 1699242076297, "stop": 1699242076348}
\ No newline at end of file
{"uuid": "7151808d-657e-4626-9e13-ac0c059ede24", "befores": [{"name": "level", "status": "passed", "start": 1699242076647, "stop": 1699242076647}], "start": 1699242076647, "stop": 1699242076747}
\ No newline at end of file
{"uuid": "e8bd2bd7-3ce9-485c-b5c4-93df81125937", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242076351, "stop": 1699242076351}], "start": 1699242076351, "stop": 1699242076523}
\ No newline at end of file
{"uuid": "1d1b77ae-b819-4a23-9a38-cf1edefb66f5", "befores": [{"name": "case_url", "status": "passed", "start": 1699242073162, "stop": 1699242073162}], "start": 1699242073162, "stop": 1699242073266}
\ No newline at end of file
{"uuid": "bed90e8e-9393-46f4-86f2-568d93d05351", "befores": [{"name": "title", "status": "passed", "start": 1699242073844, "stop": 1699242073844}], "start": 1699242073844, "stop": 1699242073935}
\ No newline at end of file
{"uuid": "a5f11a19-7b71-4f4f-b6e2-4bd1b842fc2b", "befores": [{"name": "update_key", "status": "passed", "start": 1699242073162, "stop": 1699242073162}], "start": 1699242073162, "stop": 1699242073264}
\ No newline at end of file
{"uuid": "886aa9fc-4f25-4e8c-9da1-d96b4e451c33", "befores": [{"name": "sql_type", "status": "passed", "start": 1699242075869, "stop": 1699242075869}], "start": 1699242075869, "stop": 1699242075956}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'ids': '1721372146283855872'},期望数据为:{'state': True, 'message': '删除维度成功'},服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":""}
\ No newline at end of file
{"uuid": "e367fdcb-b536-4d34-97a8-6e031b04adc6", "befores": [{"name": "sql_type", "status": "passed", "start": 1699242076159, "stop": 1699242076159}], "start": 1699242076159, "stop": 1699242076293}
\ No newline at end of file
{"uuid": "d95ac95b-d375-4cad-91de-464b8be48d1b", "befores": [{"name": "case_url", "status": "passed", "start": 1699242075373, "stop": 1699242075373}], "start": 1699242075373, "stop": 1699242075471}
\ No newline at end of file
{"uuid": "82720a4d-a333-4bd7-97da-0a366d080ad0", "befores": [{"name": "sql_data", "status": "passed", "start": 1699242074420, "stop": 1699242074420}], "start": 1699242074420, "stop": 1699242074473}
\ No newline at end of file
{"uuid": "d6e6ebed-610f-43a9-a610-6d4d5c10f992", "befores": [{"name": "api_name", "status": "passed", "start": 1699242073367, "stop": 1699242073367}], "start": 1699242073367, "stop": 1699242073457}
\ No newline at end of file
{"uuid": "1b655a9f-3f91-4d4f-b8a1-ccbc49f349ef", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242076527, "stop": 1699242076527}], "start": 1699242076527, "stop": 1699242076581}
\ No newline at end of file
{"uuid": "4c464086-873b-49a6-9395-6508a9e30816", "befores": [{"name": "sql_type", "status": "passed", "start": 1699242075672, "stop": 1699242075672}], "start": 1699242075672, "stop": 1699242075762}
\ No newline at end of file
{"uuid": "e9da5de1-5c1b-456c-815c-d9e6e798a1cb", "befores": [{"name": "case_data", "status": "passed", "start": 1699242075672, "stop": 1699242075672}], "start": 1699242075672, "stop": 1699242075763}
\ No newline at end of file
{"uuid": "bcc53fad-ddfe-488a-9c5c-23df5412f93d", "befores": [{"name": "case_data", "status": "passed", "start": 1699242073748, "stop": 1699242073748}], "start": 1699242073748, "stop": 1699242073841}
\ No newline at end of file
{"uuid": "61bc1bf0-67bb-45dd-97f9-aad50b562bdf", "befores": [{"name": "api_name", "status": "passed", "start": 1699242073844, "stop": 1699242073844}], "start": 1699242073844, "stop": 1699242073936}
\ No newline at end of file
{"uuid": "d5680a91-8398-48ea-935c-cc617a2f4e00", "befores": [{"name": "case_url", "status": "passed", "start": 1699242073367, "stop": 1699242073367}], "start": 1699242073367, "stop": 1699242073456}
\ No newline at end of file
{"uuid": "606b031c-20b8-4670-8f9a-65577543c0e2", "befores": [{"name": "title", "status": "passed", "start": 1699242073459, "stop": 1699242073459}], "start": 1699242073459, "stop": 1699242073550}
\ No newline at end of file
{"uuid": "d791a43f-fa7d-47a1-890f-b54598c42e6f", "befores": [{"name": "case_url", "status": "passed", "start": 1699242073269, "stop": 1699242073269}], "start": 1699242073269, "stop": 1699242073364}
\ No newline at end of file
{"uuid": "2497a549-a706-4443-8f4c-5c9b46efc114", "befores": [{"name": "level", "status": "passed", "start": 1699242074478, "stop": 1699242074478}], "start": 1699242074478, "stop": 1699242074538}
\ No newline at end of file
{"uuid": "86bd5a97-ce14-4491-98a5-19e3049dd7b2", "befores": [{"name": "level", "status": "passed", "start": 1699242075270, "stop": 1699242075270}], "start": 1699242075270, "stop": 1699242075370}
\ No newline at end of file
{"uuid": "5cee13ac-b9ca-4c9b-bcd0-aca6a7874ad2", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242073748, "stop": 1699242073748}], "start": 1699242073748, "stop": 1699242073841}
\ No newline at end of file
{"uuid": "9176ff6d-11f0-416a-8e2e-13bceb177166", "befores": [{"name": "api_name", "status": "passed", "start": 1699242075474, "stop": 1699242075474}], "start": 1699242075474, "stop": 1699242075573}
\ No newline at end of file
{"uuid": "e32e5187-9b19-41b7-91b2-9c6f266b5a3d", "befores": [{"name": "case_method", "status": "passed", "start": 1699242075869, "stop": 1699242075869}], "start": 1699242075869, "stop": 1699242075958}
\ No newline at end of file
{"uuid": "f337a330-f2bf-4f96-84f1-8c7eb0f039c9", "befores": [{"name": "title", "status": "passed", "start": 1699242073103, "stop": 1699242073103}], "start": 1699242073103, "stop": 1699242073160}
\ No newline at end of file
{"uuid": "52801fe1-5110-4d28-81a3-ade078539928", "befores": [{"name": "case_method", "status": "passed", "start": 1699242076051, "stop": 1699242076051}], "start": 1699242076051, "stop": 1699242076154}
\ No newline at end of file
{"uuid": "c37664a9-d909-4589-8789-44712b1fd0b3", "befores": [{"name": "case_method", "status": "passed", "start": 1699242075373, "stop": 1699242075373}], "start": 1699242075373, "stop": 1699242075471}
\ No newline at end of file
{"uuid": "42187b66-8082-472c-b358-02a8381ff6db", "befores": [{"name": "module_name", "status": "passed", "start": 1699242073653, "stop": 1699242073653}], "start": 1699242073653, "stop": 1699242073746}
\ No newline at end of file
{"uuid": "e81ce155-568b-4ad9-80c2-7140b91e38dc", "befores": [{"name": "case_method", "status": "passed", "start": 1699242074046, "stop": 1699242074046}], "start": 1699242074046, "stop": 1699242074187}
\ No newline at end of file
{"uuid": "63efb764-f251-4eab-b92d-b1a5758e91fd", "befores": [{"name": "level", "status": "passed", "start": 1699242074046, "stop": 1699242074046}], "start": 1699242074046, "stop": 1699242074187}
\ No newline at end of file
{"uuid": "213b8f70-ab0d-4a1f-ba87-cc37b7725617", "befores": [{"name": "level", "status": "passed", "start": 1699242075672, "stop": 1699242075672}], "start": 1699242075672, "stop": 1699242075764}
\ No newline at end of file
{"uuid": "61328167-1283-4caf-8792-5e4bd10d8033", "children": ["af65e6ca-21d4-4d6a-b3ca-3eb0e775fc37", "7563b89a-1d0f-41db-9982-981da98879d9", "12818085-13bd-4eea-a264-a2dfa0764f1c", "45c9e0b6-a0ce-4f45-81b9-b235f5fff093", "6313f28a-6c21-4985-978b-4b53c86d2c2b", "765b1552-13da-4800-8dae-d5a0cd121fa9", "7f4979ce-a20e-4184-9d85-e58b37f7102c", "ea2d5aed-af7d-49fa-b065-033ff383d17e", "889005bd-bb66-4b6b-a1bb-989c5f3d44ef", "11345afc-ff44-4c08-a718-167325ee8482", "c4d14238-375a-405a-9a1e-5bc6be127032", "1a356a73-d425-4632-849e-373f018111c5", "6c00df0b-68f1-4f0e-9589-f658baf0bda8", "85053bf9-20a6-402c-8597-a525019b3ecf", "147865d7-9169-4ebf-8450-2bd9a9f1fe49", "2ba98953-debc-4592-ae45-33747455aa0f", "33852d8a-0bde-45be-850a-28a3b99b6237"], "befores": [{"name": "db_fix", "status": "passed", "start": 1699242074860, "stop": 1699242075053}], "afters": [{"name": "db_fix::0", "status": "passed", "start": 1699242076749, "stop": 1699242076749}], "start": 1699242074860, "stop": 1699242076749}
\ No newline at end of file
{"uuid": "55671f85-7317-48e1-9971-56b2901cc3e0", "befores": [{"name": "expect_data", "status": "passed", "start": 1699242073653, "stop": 1699242073653}], "start": 1699242073653, "stop": 1699242073744}
\ No newline at end of file
{"uuid": "8b4372ef-9e4f-4fd4-8758-96fb2f364df4", "befores": [{"name": "update_key", "status": "passed", "start": 1699242073104, "stop": 1699242073104}], "start": 1699242073104, "stop": 1699242073156}
\ No newline at end of file
{"uuid": "6f12f559-33eb-46f2-8ffe-9d572f6ae69c", "befores": [{"name": "case_data", "status": "passed", "start": 1699242076159, "stop": 1699242076159}], "start": 1699242076159, "stop": 1699242076294}
\ No newline at end of file
{"uuid": "4d64e121-8a74-4e97-a6c6-955533744502", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242076159, "stop": 1699242076159}], "start": 1699242076159, "stop": 1699242076294}
\ No newline at end of file
{"name": "反向用例-username为空-password正确", "status": "passed", "parameters": [{"name": "module_name", "value": "'认证接口'"}, {"name": "api_name", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-username为空-password正确'"}, {"name": "level", "value": "'中'"}, {"name": "case_url", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_method", "value": "'POST'"}, {"name": "case_mime", "value": "'json'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': ''}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1699242073270, "stop": 1699242073361, "uuid": "ba74f653-8a85-4ffe-907f-adac04292043", "historyId": "26d907b39007fe2ec26dc583cd1c446b", "testCaseId": "0e591f8f09af834168b9c846e4239070", "fullName": "test_laohuang.test_bpm_laohuang.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-老黄"}, {"name": "parentSuite", "value": "test_laohuang"}, {"name": "suite", "value": "test_bpm_laohuang"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-9SK381O"}, {"name": "thread", "value": "10308-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_laohuang.test_bpm_laohuang"}]}
\ No newline at end of file
{"uuid": "d9f48d3a-141f-4d78-a99c-e039a69379f2", "befores": [{"name": "api_name", "status": "passed", "start": 1699242074478, "stop": 1699242074478}], "start": 1699242074478, "stop": 1699242074539}
\ No newline at end of file
{"uuid": "99a3c680-225b-40a4-9443-9c8e9648d57b", "befores": [{"name": "update_key", "status": "passed", "start": 1699242074479, "stop": 1699242074479}], "start": 1699242074479, "stop": 1699242074535}
\ No newline at end of file
{"uuid": "437845ae-d44e-488d-b042-6c26ec43e2aa", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242073162, "stop": 1699242073162}], "start": 1699242073162, "stop": 1699242073266}
\ No newline at end of file
{"uuid": "768ef34f-c920-4d18-8fb0-53b43d125739", "befores": [{"name": "update_key", "status": "passed", "start": 1699242073553, "stop": 1699242073553}], "start": 1699242073553, "stop": 1699242073648}
\ No newline at end of file
{"uuid": "802fe1e6-a915-45a9-850c-de9dadca6f09", "befores": [{"name": "module_name", "status": "passed", "start": 1699242076585, "stop": 1699242076585}], "start": 1699242076585, "stop": 1699242076645}
\ No newline at end of file
ERROR  黄总:test_bpm.py:59 断言失败,用例数据为:{'password': 'MTIzNDU2', 'username': 'admin'},期望数据为:{'username': '超级管理', 'account': 'admin', 'loginStatus': True},服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE2OTkzMjg0NzQsImlhdCI6MTY5OTI0MjA3NH0.c9FSbaPG521wkBJIh7kKL6RBBnSoKY3P6YMBRhw4sLJlHN-YBqw_d4xa4CPKEfeViv2x5Zgqyuryj_I9e4_RbQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "db14961a-2e6e-4792-95a7-13fe81fa96df", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242073103, "stop": 1699242073103}], "start": 1699242073103, "stop": 1699242073158}
\ No newline at end of file
{"uuid": "3490134c-0a27-4263-ae53-c7efca5e0240", "befores": [{"name": "case_mime", "status": "passed", "start": 1699242075149, "stop": 1699242075149}], "start": 1699242075149, "stop": 1699242075211}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment