Commit 4fcd2575 by cxx

v_1.0

parent be6fae14
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:01
# Description:
#
# ---------------------------------------------------------------------------
import logging
import os
import time
def log(name="张三"):
# 创建Logger对象
logger = logging.getLogger(name)
# 设置日志的级别
logger.level = logging.INFO
# 2024-09-04-14-09-10.log
log_name = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())+".log"
log_dir = os.path.join(os.path.join(os.path.dirname(__file__), "report"), "log")
log_path = os.path.join(log_dir, log_name)
# 设置写入日志的文件
handle = logging.FileHandler(log_path, mode="a", encoding="utf-8")
# 设置日志的显示格式
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s -- %(name)s')
# 设置日志文件中的日志格式
handle.setFormatter(formatter)
# 给Logger对象添加文件
logger.addHandler(handle)
# 将Logger对象返回
return logger
# 先执行函数,获取函数的返回值,以后之间使用函数的返回值写入日志
log = log()
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:01
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: read_ini.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:17
# Description:
#
# ---------------------------------------------------------------------------
import configparser
import os
from apiAutoTest_v3 import log
class ReadIni:
def __init__(self):
"""获取ini文件的路径,并读取ini"""
self.data_config = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data_config")
ini_path = os.path.join(self.data_config, "basic_config.ini")
self.conf = configparser.ConfigParser()
self.conf.read(ini_path, encoding="utf-8")
def get_host(self, key):
"""根据key获取host节点下key对应被测系统的域名"""
try:
return self.conf.get("host", key)
except Exception as e:
log.error(f"方法get_host执行失败,形参key传参为:{key},错误为:{e}")
raise e
def get_sql_connect_msg(self, key):
"""根据key获取sql节点下key对应的数据库链接信息"""
try:
return self.conf.get("sql", key)
except Exception as e:
log.error(f"方法get_sql_connect_msg执行失败,形参key传参为:{key},错误为:{e}")
raise e
if __name__ == '__main__':
ini = ReadIni()
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: db.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:35
# Description:
#
# ---------------------------------------------------------------------------
import pymysql
from apiAutoTest_v3 import log
from apiAutoTest_v3.common.basic_read_ini import ReadIni
class DB:
def __init__(self):
"""链接数据库,获取链接对象和游标对象"""
ini = ReadIni()
self.conn = pymysql.connect(
host=ini.get_sql_connect_msg("host"),
port=int(ini.get_sql_connect_msg("port")),
user=ini.get_sql_connect_msg("user"),
password=ini.get_sql_connect_msg("password"),
database=ini.get_sql_connect_msg("database"),
charset="utf8"
)
self.cursor = self.conn.cursor()
def close(self):
self.cursor.close()
self.conn.close()
def select(self, sql, n=0):
"""执行查询的sql语句,并返回查询的结果"""
if isinstance(sql, str):
if sql.strip().lower().startswith("select"):
try:
self.cursor.execute(sql)
except Exception as e:
log.error(f"执行select方法时,产生错误,错误为:{e},sql语句为:{sql}")
raise e
else:
select_result = self.cursor.fetchall()
if isinstance(n, int) and select_result:
try:
return select_result[n][0]
except Exception as e:
log.error(f"执行select方法时,获取查询结果失败,传入的n为:{n}")
raise e
else:
log.error(f"执行select方法时,sql语句不是查询的sql语句,sql语句为:{sql}")
raise ValueError("sql语句错误")
else:
log.error(f"执行select方法时,sql语句错误,sql语句为:{sql}")
raise ValueError("sql语句错误")
def delete(self, sql):
"""执行删除的SQL语句"""
if isinstance(sql, str):
if sql.strip().lower().startswith("delete"):
try:
self.cursor.execute(sql)
self.conn.commit()
except Exception as e:
log.error(f"执行delete方法时,产生错误,sql语句为:{sql}, 错误为:{e}")
raise e
else:
log.error(f"执行delete方法时,sql语句错误,sql语句为:{sql}")
raise ValueError("sql语句错误")
else:
log.error(f"执行delete方法时,sql语句错误,sql语句为:{sql}")
raise ValueError("sql语句错误")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: read_excel.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:53
# Description:
#
# ---------------------------------------------------------------------------
import openpyxl
from apiAutoTest_v3 import log
from apiAutoTest_v3.common.read_json import read_json
from apiAutoTest_v3.common.user_read_ini import ReadIni
from apiAutoTest_v3.common.basic_read_ini import ReadIni as BasicIni
from apiAutoTest_v3.data_config.settings import *
class ReadExcel:
def __init__(self, username):
"""获取所有json文件的路径,并读取json文件,再获取excel文件的路径,加载excel的工作簿,并获取工作表的名称,再获取工作表"""
self.ini = ReadIni(username)
case_data_path = self.ini.get_file_path(FILE_CASE)
expect_data_path = self.ini.get_file_path(FILE_EXPECT)
sql_data_path = self.ini.get_file_path(FILE_SQL)
excel_path = self.ini.get_file_path(FILE_EXCEL)
table_name = self.ini.get_table_name(TABLE_kEY)
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)
try:
wb = openpyxl.load_workbook(excel_path)
self.ws = wb[table_name]
except Exception as e:
log.error(f"加载excel的工作簿或获取excel的工作表时产生错误,错误为:{e}, excel的路径为:{excel_path}, 工作表的名称为:{table_name}")
raise e
def __get_cell_value(self, column, row):
"""根据列号和行号获取指定单元格数据"""
try:
cell_value = self.ws[column+str(row)].value
except Exception as e:
log.error(f"获取指定单元格数据,出错,错误为:{e}, 传入的列号:{column}和行号:{row}")
raise e
else:
if cell_value is None:
return None
elif cell_value.strip():
return cell_value.strip()
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_url(self, row):
"""根据行号,获取用例的url"""
path = self.__get_cell_value(URL, row)
if path:
return BasicIni().get_host(HOST_KEY) + path
def case_req_method(self, row):
"""根据行号,获取用例的请求方法"""
return self.__get_cell_value(REQ_METHOD, row)
def case_mime(self, row):
"""根据行号,获取用例请求的媒体类型"""
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)
return self.case_data_dict[module_name][api_name][case_data_key]
def expect_data(self, row):
"""根据行号,获取期望数据"""
expect_data_key = self.__get_cell_value(EXPECT_DATA, row)
if expect_data_key:
module_name = self.module_name(row)
api_name = self.api_name(row)
return self.expect_data_dict[module_name][api_name][expect_data_key]
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)
return self.sql_data_dict[module_name][api_name][sql_data_key]
def sql_type(self, row):
"""根据行号,获取sql语句的类型"""
value = self.__get_cell_value(SQL_TYPE, row)
if value:
return value.lower()
def update_key(self, row):
"""根号行号,获取更新的key"""
return self.__get_cell_value(UPDATE_KEY, row)
def get_data(self):
"""获取所有的测试数据,并存放在一个二维列表中"""
list_data = []
for row in range(2, self.ws.max_row+1):
url = self.case_url(row)
method = self.case_req_method(row)
mime = self.case_mime(row)
case_data = self.case_data(row)
expect_data = self.expect_data(row)
sql_type = self.sql_type(row)
sql_data = self.sql_data(row)
update_key = self.update_key(row)
if url is not None and method is not None and expect_data is not None:
list_data.append([url, method, mime, case_data, expect_data, sql_type, sql_data, update_key])
else:
return list_data
if __name__ == '__main__':
excel = ReadExcel("lao_zhang")
print(excel.get_data())
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: read_json.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:31
# Description:
#
# ---------------------------------------------------------------------------
import json
from apiAutoTest_v3 import log
def read_json(file_path):
"""读取json文件,将json文件的数据序列化为python对象再返回"""
if isinstance(file_path, str):
try:
with open(file_path, mode="r", encoding="utf-8") as f:
return json.load(f)
except Exception as e:
log.error(f"读取json文件失败,传入的文件路径:{file_path}-可能文件路径不存在,也有可能文件的数据格式有错误,错误为:{e}")
raise e
else:
log.error(f"执行read_json失败,传入的文件路径:{file_path}-不为字符串")
raise ValueError("传入的文件路径必须为字符串")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: read_ini.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:17
# Description:
#
# ---------------------------------------------------------------------------
import configparser
import os
from apiAutoTest_v3 import log
class ReadIni:
def __init__(self, username):
"""获取ini文件的路径,并读取ini"""
data_config = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data_config")
self.user_dir = os.path.join(data_config, username)
ini_path = os.path.join(self.user_dir, "config.ini")
self.conf = configparser.ConfigParser()
self.conf.read(ini_path, encoding="utf-8")
def get_file_path(self, key):
"""根据key获取file节点下key对应文件的路径"""
try:
log.info(f"执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为{key},")
file_name = self.conf.get("file", key)
except Exception as e:
log.error(f"方法get_file_path执行失败,形参key传参为:{key},错误为:{e}")
raise e
else:
return os.path.join(self.user_dir, file_name)
def get_table_name(self, key):
"""根据key获取table节点下key对应的工作表名"""
try:
return self.conf.get("table", key)
except Exception as e:
log.error(f"方法get_table_name执行失败,形参key传参为:{key},错误为:{e}")
raise e
if __name__ == '__main__':
ini = ReadIni()
print(ini.get_file_path("excel"))
\ No newline at end of file
[host]
# 配置被测系统的域名
bpm_host=http://36.139.193.99:8088
[sql]
host=36.139.193.99
port=3306
user=root
password=Rhrc@2024
database=eip8
[report]
log=log
\ No newline at end of file
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsNone": {"username": "","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsSpecialChar": {"username": "#!$!@#!@#","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsLong": {"username": "adminadminadminadminadminadminadminadminadmin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsShort": {"username": "a","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsError": {"username": "adminxyz","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorPasswordIsNone": {"username": "admin","password": ""},
"LoginErrorPasswordIsSpecialChar": {"username": "admin","password": "#!$!@#!@#"},
"LoginErrorPasswordIsLong": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn"},
"LoginErrorPasswordIsShort": {"username": "admin","password": "123456"},
"LoginErrorPasswordIsError": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"code": "requestsAddDem","description": "requestsAddDem","isDefault": 1,"name": "requests添加的维度"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"code": "requestsAddDem"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"ids": "需要更新"}
},
"更新维度": {
"UpdateDemSuccess": {
"code": "requestsAddDem",
"description": "requestsAddDem",
"isDefault": 0,
"name": "requestsAddDem"
}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"code": "testAddOrg",
"demId": "需要更新",
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": "测试添加的组织",
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
},
"用户加入组织": {
"OrgAddUserSuccess": {"orgCode": "testAddOrg", "accounts": "admin,guest"}
},
"保存组织参数": {
"SaveOrgparamsSuccess": {
"query": {"orgCode": "testAddOrg"},
"body": [{"alias": "hxxmts", "value": "项目中没有关系户"}]
}
},
"删除组织": {
"DeleteOrgSuccess": "testAddOrg"
}
}
}
[file]
# 配置数据配置层中文件的名称
excel=apiAutoTest.xlsx
case=case_data.json
expect=expect_data.json
sql=sql_data.json
[table]
# 配置工作表名称
table_name=BPM
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true},
"LoginErrorUsernameIsNone": {"message":"账号或密码错误"},
"LoginErrorUsernameIsSpecialChar": {"message":"账号或密码错误"},
"LoginErrorUsernameIsLong": {"message":"账号或密码错误"},
"LoginErrorUsernameIsShort": {"message":"账号或密码错误"},
"LoginErrorUsernameIsError": {"message":"账号或密码错误"},
"LoginErrorPasswordIsNone":{"message":"账号或密码错误"},
"LoginErrorPasswordIsSpecialChar": {"message":"账号或密码错误"},
"LoginErrorPasswordIsLong": {"message":"账号或密码错误"},
"LoginErrorPasswordIsShort": {"message":"账号或密码错误"},
"LoginErrorPasswordIsError":{"message":"账号或密码错误"}
},
"刷新token": {
"RefreshSuccess": {"message": "刷新token成功"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"message": "添加维度成功"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"isDelete": "0"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"message": "删除维度成功!"}
},
"更新维度": {
"UpdateDemSuccess": {"message": "更新维度成功"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"message": "添加组织成功"}
},
"用户加入组织": {
"OrgAddUserSuccess": {"message":"加入成功"}
},
"保存组织参数": {
"SaveOrgparamsSuccess": {"message":"保存组织参数成功!"}
},
"删除组织": {
"DeleteOrgSuccess": {"message":"删除组织成功!"}
}
}
}
{
"维度管理": {
"添加维度": {
"AddDemSuccess": {"delete": "dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"select": "select ID_ from uc_demension where CODE_=\"requestsAddDem\";"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ",
"delete": "delete from uc_org where CODE_=\"testAddOrg\";"
}
}
}
}
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsNone": {"username": "","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsSpecialChar": {"username": "#!$!@#!@#","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsLong": {"username": "adminadminadminadminadminadminadminadminadmin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsShort": {"username": "a","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsError": {"username": "adminxyz","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorPasswordIsNone": {"username": "admin","password": ""},
"LoginErrorPasswordIsSpecialChar": {"username": "admin","password": "#!$!@#!@#"},
"LoginErrorPasswordIsLong": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn"},
"LoginErrorPasswordIsShort": {"username": "admin","password": "123456"},
"LoginErrorPasswordIsError": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"code": "requestsAddDem","description": "requestsAddDem","isDefault": 1,"name": "requests添加的维度"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"code": "requestsAddDem"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"ids": "需要更新"}
},
"更新维度": {
"UpdateDemSuccess": {
"code": "requestsAddDem",
"description": "requestsAddDem",
"isDefault": 0,
"name": "requestsAddDem"
}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"code": "testAddOrg",
"demId": "需要更新",
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": "测试添加的组织",
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
},
"用户加入组织": {
"OrgAddUserSuccess": {"orgCode": "testAddOrg", "accounts": "admin,guest"}
},
"保存组织参数": {
"SaveOrgparamsSuccess": {
"query": {"orgCode": "testAddOrg"},
"body": [{"alias": "hxxmts", "value": "项目中没有关系户"}]
}
},
"删除组织": {
"DeleteOrgSuccess": "testAddOrg"
}
}
}
[file]
# 配置数据配置层中文件的名称
excel=apiAutoTest.xlsx
case=case_data.json
expect=expect_data.json
sql=sql_data.json
[table]
# 配置工作表名称
table_name=BPM
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true},
"LoginErrorUsernameIsNone": {"message":"账号或密码错误"},
"LoginErrorUsernameIsSpecialChar": {"message":"账号或密码错误"},
"LoginErrorUsernameIsLong": {"message":"账号或密码错误"},
"LoginErrorUsernameIsShort": {"message":"账号或密码错误"},
"LoginErrorUsernameIsError": {"message":"账号或密码错误"},
"LoginErrorPasswordIsNone":{"message":"账号或密码错误"},
"LoginErrorPasswordIsSpecialChar": {"message":"账号或密码错误"},
"LoginErrorPasswordIsLong": {"message":"账号或密码错误"},
"LoginErrorPasswordIsShort": {"message":"账号或密码错误"},
"LoginErrorPasswordIsError":{"message":"账号或密码错误"}
},
"刷新token": {
"RefreshSuccess": {"message": "刷新token成功"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"message": "添加维度成功"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"isDelete": "0"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"message": "删除维度成功!"}
},
"更新维度": {
"UpdateDemSuccess": {"message": "更新维度成功"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"message": "添加组织成功"}
},
"用户加入组织": {
"OrgAddUserSuccess": {"message":"加入成功"}
},
"保存组织参数": {
"SaveOrgparamsSuccess": {"message":"保存组织参数成功!"}
},
"删除组织": {
"DeleteOrgSuccess": {"message":"删除组织成功!"}
}
}
}
{
"维度管理": {
"添加维度": {
"AddDemSuccess": {"delete": "dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"select": "select ID_ from uc_demension where CODE_=\"requestsAddDem\";"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ",
"delete": "delete from uc_org where CODE_=\"testAddOrg\";"
}
}
}
}
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsNone": {"username": "","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsSpecialChar": {"username": "#!$!@#!@#","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsLong": {"username": "adminadminadminadminadminadminadminadminadmin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsShort": {"username": "a","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorUsernameIsError": {"username": "adminxyz","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="},
"LoginErrorPasswordIsNone": {"username": "admin","password": ""},
"LoginErrorPasswordIsSpecialChar": {"username": "admin","password": "#!$!@#!@#"},
"LoginErrorPasswordIsLong": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn"},
"LoginErrorPasswordIsShort": {"username": "admin","password": "123456"},
"LoginErrorPasswordIsError": {"username": "admin","password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"code": "requestsAddDem","description": "requestsAddDem","isDefault": 1,"name": "requests添加的维度"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"code": "requestsAddDem"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"ids": "需要更新"}
},
"更新维度": {
"UpdateDemSuccess": {
"code": "requestsAddDem",
"description": "requestsAddDem",
"isDefault": 0,
"name": "requestsAddDem"
}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"code": "testAddOrg",
"demId": "需要更新",
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": "测试添加的组织",
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
},
"用户加入组织": {
"OrgAddUserSuccess": {"orgCode": "testAddOrg", "accounts": "admin,guest"}
},
"保存组织参数": {
"SaveOrgparamsSuccess": {
"query": {"orgCode": "testAddOrg"},
"body": [{"alias": "hxxmts", "value": "项目中没有关系户"}]
}
},
"删除组织": {
"DeleteOrgSuccess": "testAddOrg"
}
}
}
[file]
# 配置数据配置层中文件的名称
excel=apiAutoTest.xlsx
case=case_data.json
expect=expect_data.json
sql=sql_data.json
[table]
# 配置工作表名称
table_name=BPM
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true},
"LoginErrorUsernameIsNone": {"message":"账号或密码错误"},
"LoginErrorUsernameIsSpecialChar": {"message":"账号或密码错误"},
"LoginErrorUsernameIsLong": {"message":"账号或密码错误"},
"LoginErrorUsernameIsShort": {"message":"账号或密码错误"},
"LoginErrorUsernameIsError": {"message":"账号或密码错误"},
"LoginErrorPasswordIsNone":{"message":"账号或密码错误"},
"LoginErrorPasswordIsSpecialChar": {"message":"账号或密码错误"},
"LoginErrorPasswordIsLong": {"message":"账号或密码错误"},
"LoginErrorPasswordIsShort": {"message":"账号或密码错误"},
"LoginErrorPasswordIsError":{"message":"账号或密码错误"}
},
"刷新token": {
"RefreshSuccess": {"message": "刷新token成功"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"message": "添加维度成功"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"isDelete": "0"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"message": "删除维度成功!"}
},
"更新维度": {
"UpdateDemSuccess": {"message": "更新维度成功"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"message": "添加组织成功"}
},
"用户加入组织": {
"OrgAddUserSuccess": {"message":"加入成功"}
},
"保存组织参数": {
"SaveOrgparamsSuccess": {"message":"保存组织参数成功!"}
},
"删除组织": {
"DeleteOrgSuccess": {"message":"删除组织成功!"}
}
}
}
{
"维度管理": {
"添加维度": {
"AddDemSuccess": {"delete": "dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"select": "select ID_ from uc_demension where CODE_=\"requestsAddDem\";"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ",
"delete": "delete from uc_org where CODE_=\"testAddOrg\";"
}
}
}
}
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: settings.py
# Author: lao_zhao
# Datetime: 2024/9/4 16:03
# Description:
#
# ---------------------------------------------------------------------------
# excel的列号---------------------------------------------------------------------------
NUMBER = "A"
MODULE = "B"
API = "C"
TITLE = "D"
LEVEL = "E"
URL = "F"
REQ_METHOD = "G"
MIME = "H"
CASE_DATA = "I"
EXPECT_DATA = "J"
SQL_TYPE = "K"
SQL_DATA = "L"
UPDATE_KEY = "M"
# ini文件中file节点的key---------------------------------------------------------------------------
FILE_EXCEL = "excel"
FILE_CASE = "case"
FILE_EXPECT = "expect"
FILE_SQL = "sql"
# ini文件中host节点的key---------------------------------------------------------------------------
HOST_KEY = "bpm_host"
# ini文件中table节点的key---------------------------------------------------------------------------
TABLE_kEY = "table_name"
\ No newline at end of file
{"uuid": "ac50e2b9-7347-4cfb-b707-0205d1da0654", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874282}
\ No newline at end of file
{"uuid": "5d258f92-e8a5-4d67-afc6-0a7d284f0f90", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875130, "stop": 1725509875169}
\ No newline at end of file
{"uuid": "88f97c78-33d1-4015-aa93-4b34a9f2321d", "befores": [{"name": "url", "status": "passed", "start": 1725509873919, "stop": 1725509873919}], "start": 1725509873919, "stop": 1725509873971}
\ No newline at end of file
{"uuid": "d53ae35e-1dab-4f1e-a823-46c6fad5a354", "befores": [{"name": "mime", "status": "passed", "start": 1725509874705, "stop": 1725509874705}], "start": 1725509874705, "stop": 1725509874766}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546818736529408"}
\ No newline at end of file
{"uuid": "013247b8-59ed-4f6c-88fa-716e21d966d1", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875221, "stop": 1725509875221}], "start": 1725509875221, "stop": 1725509875251}
\ No newline at end of file
{"uuid": "684b98a1-bd71-42ec-aa88-7181b04d3be6", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874936, "stop": 1725509874936}], "start": 1725509874936, "stop": 1725509874972}
\ No newline at end of file
{"uuid": "01098f29-7317-472d-9cc7-652736ba234a", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874199, "stop": 1725509874199}], "start": 1725509874199, "stop": 1725509874231}
\ No newline at end of file
{"uuid": "c5084175-c242-4d39-8a26-40da1707522f", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509873792, "stop": 1725509873793}], "start": 1725509873792, "stop": 1725509873831}
\ No newline at end of file
{"uuid": "7bb7e85a-5058-49e2-ba42-875d65f2d8cf", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874609, "stop": 1725509874609}], "start": 1725509874609, "stop": 1725509874641}
\ No newline at end of file
{"uuid": "8aaeb824-ae32-4d67-a49c-08cae882d2ea", "befores": [{"name": "mime", "status": "passed", "start": 1725509873975, "stop": 1725509873975}], "start": 1725509873975, "stop": 1725509874025}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x000002087641A720>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>, url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'\nmethod = 'POST', mime = 'json', case_data = {'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x000002087641A720>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>, url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'\nmethod = 'POST', mime = 'json', case_data = {'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "e99f3d6b-2c99-40eb-ab52-cc644da410a4-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/org/addOrg'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect_data", "value": "{'message': '添加组织成功'}"}, {"name": "sql_type", "value": "'delete|select'"}, {"name": "sql_data", "value": "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}"}, {"name": "update_key", "value": "'demId'"}], "start": 1725509873838, "stop": 1725509873888, "uuid": "7950588d-e0b7-41c6-9663-ddc40885337f", "historyId": "8601057ef64fcd13fa3bee37103323a1", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "e0295b30-e3eb-49a1-94f1-8cdb60932ad9", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874399, "stop": 1725509874399}], "start": 1725509874399, "stop": 1725509874451}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876313BF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete', mime = 'query', case_data = {'ids': '1831546815687270400'}\nexpect_data = {'message': '删除维度成功!'}, sql_type = 'select', sql_data = {'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}\nupdate_key = 'ids'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功!' == '【requestsAdd...度下存在组织,不允许删除 '\nE \nE - 【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 \nE + 删除维度成功!\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876313BF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete', mime = 'query', case_data = {'ids': '1831546815687270400'}\nexpect_data = {'message': '删除维度成功!'}, sql_type = 'select', sql_data = {'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}\nupdate_key = 'ids'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "6d70e449-7a32-44d4-bbfc-284b72b87c0f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'"}, {"name": "method", "value": "'delete'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'ids': '需要更新'}"}, {"name": "expect_data", "value": "{'message': '删除维度成功!'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}"}, {"name": "update_key", "value": "'ids'"}], "start": 1725509874074, "stop": 1725509874102, "uuid": "70b06e8b-1bd4-41b5-89dc-2365914c62e6", "historyId": "e2d18f98d0b8345269ccaac9d47e0009", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "781f1d5a-b2d9-48e2-8a95-08ace356df2a", "befores": [{"name": "method", "status": "passed", "start": 1725509874072, "stop": 1725509874072}], "start": 1725509874072, "stop": 1725509874122}
\ No newline at end of file
{"uuid": "308b3805-546b-470c-8411-be56dbc3ce57", "befores": [{"name": "update_key", "status": "passed", "start": 1725509873502, "stop": 1725509873503}], "start": 1725509873502, "stop": 1725509873781}
\ No newline at end of file
{"uuid": "1e132749-7092-40d0-b10b-fb07702e40f5", "children": ["b0ffe29c-5a47-4fc2-9f4c-6348d61a1311", "4f140660-245b-4efb-9908-5bb18fd29495", "d3ad5bb8-3fe1-4e13-a5a3-abcf825786f6", "4bd1a1e9-7b16-45c4-adde-46f218d2a0d9", "c1c9a166-4e8a-4034-af12-642b781f9305", "7b394fb4-02f8-4a3b-910c-cc6907718049", "64c7256a-ca2a-4a5b-83e0-a1a050be1707", "a56e2b22-da2a-4f36-8f48-a0d62e7c9c34", "bfe5ffb6-d54a-4d3a-a70a-a189648896a3", "704580fe-1700-42d0-bdda-536a423482a9", "42e84d51-19dc-4202-ba2b-1c50730ca2c6", "45b57e43-21fc-4409-a400-e5bba2a5a2c0"], "befores": [{"name": "fix_db", "status": "passed", "start": 1725509874827, "stop": 1725509874861}], "afters": [{"name": "fix_db::0", "status": "passed", "start": 1725509875448, "stop": 1725509875448}], "start": 1725509874827, "stop": 1725509875448}
\ No newline at end of file
{"uuid": "8f7324da-5521-4d03-aa6b-b6a2b54e111b", "befores": [{"name": "update_key", "status": "passed", "start": 1725509873793, "stop": 1725509873793}], "start": 1725509873793, "stop": 1725509873829}
\ No newline at end of file
{"uuid": "ca6b98c0-564c-473c-b756-206eb93ab04b", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874073, "stop": 1725509874073}], "start": 1725509874073, "stop": 1725509874120}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200}
\ No newline at end of file
{"uuid": "ad8b23f6-a647-43c6-852b-bde1e9ed9198", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875182, "stop": 1725509875182}], "start": 1725509875182, "stop": 1725509875211}
\ No newline at end of file
{"uuid": "486b4e21-5ef4-49a0-a245-57912380fa00", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509873920, "stop": 1725509873920}], "start": 1725509873920, "stop": 1725509873968}
\ No newline at end of file
{"uuid": "7831467d-50fb-4ec2-b76f-e25e439a4484", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875342, "stop": 1725509875342}], "start": 1725509875342, "stop": 1725509875399}
\ No newline at end of file
{"uuid": "0d94321d-b756-41e5-b5ed-6c61b11acc72", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874896, "stop": 1725509874896}], "start": 1725509874896, "stop": 1725509874929}
\ No newline at end of file
{"uuid": "335d9e9f-a61b-4d54-aa0e-4daa729daa1b", "befores": [{"name": "method", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875130, "stop": 1725509875173}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822473654272"}
\ No newline at end of file
{"uuid": "3429e083-8986-4d39-9b12-4c786765dfb7", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875408, "stop": 1725509875408}], "start": 1725509875408, "stop": 1725509875442}
\ No newline at end of file
{"uuid": "0b2a02be-45c2-45d5-89f5-8b342ecaf205", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874032, "stop": 1725509874032}], "start": 1725509874032, "stop": 1725509874064}
\ No newline at end of file
{"uuid": "60a9c65d-51af-40e8-899d-583a589a3add", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874073, "stop": 1725509874073}], "start": 1725509874073, "stop": 1725509874116}
\ No newline at end of file
{"uuid": "c8925578-96bb-43ff-a5aa-d5f0d7b74207", "children": ["b0ffe29c-5a47-4fc2-9f4c-6348d61a1311", "4f140660-245b-4efb-9908-5bb18fd29495", "d3ad5bb8-3fe1-4e13-a5a3-abcf825786f6", "4bd1a1e9-7b16-45c4-adde-46f218d2a0d9", "c1c9a166-4e8a-4034-af12-642b781f9305", "7b394fb4-02f8-4a3b-910c-cc6907718049", "64c7256a-ca2a-4a5b-83e0-a1a050be1707", "a56e2b22-da2a-4f36-8f48-a0d62e7c9c34", "bfe5ffb6-d54a-4d3a-a70a-a189648896a3", "704580fe-1700-42d0-bdda-536a423482a9", "42e84d51-19dc-4202-ba2b-1c50730ca2c6", "45b57e43-21fc-4409-a400-e5bba2a5a2c0"], "befores": [{"name": "fix_req", "status": "passed", "start": 1725509874861, "stop": 1725509874895}], "afters": [{"name": "fix_req::0", "status": "passed", "start": 1725509875446, "stop": 1725509875447}], "start": 1725509874861, "stop": 1725509875447}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546820259061760"}
\ No newline at end of file
{"uuid": "f251932f-1324-470a-a5c8-18b92c4bf95f", "befores": [{"name": "method", "status": "passed", "start": 1725509874524, "stop": 1725509874524}], "start": 1725509874524, "stop": 1725509874563}
\ No newline at end of file
{"uuid": "e6a9a259-e4ba-4e67-b5d3-a5f861433cfe", "befores": [{"name": "url", "status": "passed", "start": 1725509873792, "stop": 1725509873792}], "start": 1725509873792, "stop": 1725509873833}
\ No newline at end of file
{"uuid": "ed989a8c-9aeb-4ae8-b70f-0069ce2ed0f4", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874287, "stop": 1725509874287}], "start": 1725509874287, "stop": 1725509874329}
\ No newline at end of file
{"uuid": "757057b4-9f6d-4044-9ebd-f679819f8681", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874032, "stop": 1725509874032}], "start": 1725509874032, "stop": 1725509874066}
\ No newline at end of file
{"uuid": "afa2d1de-0135-4429-9a43-f2a5660c3930", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874706, "stop": 1725509874706}], "start": 1725509874706, "stop": 1725509874764}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876335910>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000020876A69800>('message')\nE + where <built-in method get of dict object at 0x0000020876A69800> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876335910>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "49ef8e66-cebc-43fd-b7df-3fefd834211c-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874707, "stop": 1725509874750, "uuid": "7f819331-6a84-4060-b123-7df9e83d3906", "historyId": "4365a6de5e8b42ab1bd856faf33b87f7", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "ec97ba4a-86d5-47c1-bbd5-ef20717df0b6", "befores": [{"name": "mime", "status": "passed", "start": 1725509875030, "stop": 1725509875030}], "start": 1725509875030, "stop": 1725509875074}
\ No newline at end of file
{"uuid": "7dc6f0ca-e73c-4aef-90bf-26157fe2f46d", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509873502, "stop": 1725509873502}], "start": 1725509873502, "stop": 1725509873782}
\ No newline at end of file
{"uuid": "f55e1af2-af3d-4ab0-a541-d023737f8146", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874609, "stop": 1725509874609}], "start": 1725509874609, "stop": 1725509874641}
\ No newline at end of file
{"uuid": "e8610eae-320b-430a-9150-847810580cc4", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874287, "stop": 1725509874287}], "start": 1725509874287, "stop": 1725509874341}
\ No newline at end of file
{"uuid": "9a85ce74-b793-4bba-a922-4bd4cbc297c9", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874073, "stop": 1725509874073}], "start": 1725509874073, "stop": 1725509874119}
\ No newline at end of file
{"uuid": "1b9b52b5-5093-4d3d-bead-b817407bbe99", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509873793, "stop": 1725509873793}], "start": 1725509873793, "stop": 1725509873830}
\ No newline at end of file
{"uuid": "0125eb5a-57c8-4d98-82c3-4fa1f02e4319", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875031, "stop": 1725509875031}], "start": 1725509875031, "stop": 1725509875071}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546823161520128"}
\ No newline at end of file
{"uuid": "b678f046-92f7-4df1-a4f4-ae6ea99896d3", "befores": [{"name": "url", "status": "passed", "start": 1725509875030, "stop": 1725509875030}], "start": 1725509875030, "stop": 1725509875075}
\ No newline at end of file
{"uuid": "d81eb0b5-59ea-4f9b-a344-d4e1795d9d58", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875343, "stop": 1725509875343}], "start": 1725509875343, "stop": 1725509875396}
\ No newline at end of file
{"uuid": "5ed221d5-21e3-40e5-8360-efba4528bc98", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874462, "stop": 1725509874462}], "start": 1725509874461, "stop": 1725509874517}
\ No newline at end of file
{"uuid": "7b537e50-cef4-47e6-a869-273431b898ae", "befores": [{"name": "method", "status": "passed", "start": 1725509874567, "stop": 1725509874567}], "start": 1725509874567, "stop": 1725509874603}
\ No newline at end of file
{"uuid": "7451fee2-0311-4994-8a73-63f527c7b016", "befores": [{"name": "case_data", "status": "passed", "start": 1725509873920, "stop": 1725509873920}], "start": 1725509873920, "stop": 1725509873969}
\ No newline at end of file
{"uuid": "74e88e80-2a61-48a0-9eb1-a9ce12c06006", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874280}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546820485554176"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819416006656"}
\ No newline at end of file
{"uuid": "9ec4e386-7538-4316-a564-e05258f84253", "befores": [{"name": "url", "status": "passed", "start": 1725509874524, "stop": 1725509874524}], "start": 1725509874524, "stop": 1725509874563}
\ No newline at end of file
{"uuid": "4f583377-e88b-4d03-b6a3-67c4ea155742", "befores": [{"name": "case_data", "status": "passed", "start": 1725509873837, "stop": 1725509873837}], "start": 1725509873837, "stop": 1725509873913}
\ No newline at end of file
{"uuid": "97c3b021-5695-468d-8c64-3657a0ab9cdc", "befores": [{"name": "mime", "status": "passed", "start": 1725509874981, "stop": 1725509874981}], "start": 1725509874981, "stop": 1725509875024}
\ No newline at end of file
{"uuid": "4521c350-f19e-4ded-ae57-4d04771002b4", "befores": [{"name": "method", "status": "passed", "start": 1725509874461, "stop": 1725509874461}], "start": 1725509874461, "stop": 1725509874520}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546818946244608"}
\ No newline at end of file
{"uuid": "2533f222-fa58-4d48-b733-e49bd1011c73", "befores": [{"name": "url", "status": "passed", "start": 1725509875301, "stop": 1725509875301}], "start": 1725509875301, "stop": 1725509875338}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876866AB0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', method = 'post', mime = 'application/json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, expect_data = {'message': '添加维度成功'}\nsql_type = 'delete', sql_data = {'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876866AB0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', method = 'post', mime = 'application/json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, expect_data = {'message': '添加维度成功'}\nsql_type = 'delete', sql_data = {'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "11313d8e-3fad-4629-b330-b6abc255f899-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'"}, {"name": "method", "value": "'post'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}"}, {"name": "expect_data", "value": "{'message': '添加维度成功'}"}, {"name": "sql_type", "value": "'delete'"}, {"name": "sql_data", "value": "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}"}, {"name": "update_key", "value": "None"}], "start": 1725509873503, "stop": 1725509873548, "uuid": "1a799582-7155-40c7-ba3a-f5b10a0c9aa6", "historyId": "a6f6de20f1d47502e15e1b34c901fc80", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "c3db5906-19d2-4ee5-9a65-c38bcafb6dac", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874659, "stop": 1725509874660}], "start": 1725509874659, "stop": 1725509874698}
\ No newline at end of file
{"uuid": "f0d00745-fcfb-49e2-b755-ae72720f27c3", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875182, "stop": 1725509875182}], "start": 1725509875182, "stop": 1725509875212}
\ No newline at end of file
{"uuid": "278eead8-9fc4-4e2d-994d-4d2a59132f0b", "befores": [{"name": "method", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874283}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3E60>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000020876A9B1C0>('message')\nE + where <built-in method get of dict object at 0x0000020876A9B1C0> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3E60>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "a60bcc10-a810-4473-a27b-abaa7d7bcc7b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875344, "stop": 1725509875383, "uuid": "42e84d51-19dc-4202-ba2b-1c50730ca2c6", "historyId": "4f9df20ffdc1503910911ac0849dd913", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "a637c904-5d71-4f98-b025-72ec98725409", "befores": [{"name": "mime", "status": "passed", "start": 1725509873837, "stop": 1725509873837}], "start": 1725509873837, "stop": 1725509873914}
\ No newline at end of file
{"uuid": "4de4b3c9-2764-4586-9582-17a366de7947", "children": ["1a799582-7155-40c7-ba3a-f5b10a0c9aa6", "7a167ea0-eccf-408f-a457-a138e60915e9", "7950588d-e0b7-41c6-9663-ddc40885337f", "6faf640c-23d7-4715-b6fb-2d1886b69d22", "7b936699-4a04-46a7-8509-c4fef6ad3408", "ab67c70b-faef-4a84-8a6d-27b5d5f80d74", "70b06e8b-1bd4-41b5-89dc-2365914c62e6"], "befores": [{"name": "fix_req", "status": "passed", "start": 1725509873455, "stop": 1725509873501}], "afters": [{"name": "fix_req::0", "status": "passed", "start": 1725509875451, "stop": 1725509875451}], "start": 1725509873455, "stop": 1725509875452}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "3fcc6baf-5900-41c5-937a-c8591ac7b1fa-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874200, "stop": 1725509874231, "uuid": "77afe7f3-d5c8-46c3-8756-bb7ac6315f45", "historyId": "65755708ce0e8df98768842417beddc8", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "e8cf0af2-337d-457d-8eeb-be2bce85fad0", "befores": [{"name": "mime", "status": "passed", "start": 1725509874567, "stop": 1725509874567}], "start": 1725509874567, "stop": 1725509874603}
\ No newline at end of file
{"uuid": "78391939-1835-4a27-9241-292f0f03d478", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874706, "stop": 1725509874706}], "start": 1725509874706, "stop": 1725509874763}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020873919280>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/updateDem', method = 'put', mime = 'json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, expect_data = {'message': '更新维度成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '更新维度成功' == '更新维度成功!'\nE \nE - 更新维度成功!\nE ? -\nE + 更新维度成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020873919280>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/updateDem', method = 'put', mime = 'json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, expect_data = {'message': '更新维度成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "a32345eb-8af2-46f9-9f3a-3c5092e1a826-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'"}, {"name": "method", "value": "'put'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}"}, {"name": "expect_data", "value": "{'message': '更新维度成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509873794, "stop": 1725509873815, "uuid": "7a167ea0-eccf-408f-a457-a138e60915e9", "historyId": "15d2daeb579bb5b1c6274efce6552f25", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "405fb057-9875-4b5c-b099-0aa38113b77c", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874568, "stop": 1725509874568}], "start": 1725509874568, "stop": 1725509874600}
\ No newline at end of file
{"uuid": "429ad8b8-6be7-4bc7-97eb-950c70c4cef8", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874567, "stop": 1725509874568}], "start": 1725509874567, "stop": 1725509874602}
\ No newline at end of file
{"uuid": "fb59a290-156c-45ea-918e-e45505e2b8ce", "befores": [{"name": "method", "status": "passed", "start": 1725509875220, "stop": 1725509875220}], "start": 1725509875220, "stop": 1725509875255}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DE20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DE20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "2c556904-8f36-4597-ae84-263bf790df05-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': '123456'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874661, "stop": 1725509874683, "uuid": "85149439-b10f-4f11-a5ef-9467a911b031", "historyId": "0cdf44136da9a3115d7402669edf9e44", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjQsImlhdCI6MTcyNTUwOTc2NH0.J_HOuG3fdAoTTnfa4mILK97aLZhTY0B32tacncdLvsupfuEbvQz61Xpv8MTiSorLhkjerDTNengw-rbASx7SNA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "027deafb-fe37-4c83-9548-4e6332d46ad4", "befores": [{"name": "mime", "status": "passed", "start": 1725509874524, "stop": 1725509874524}], "start": 1725509874524, "stop": 1725509874562}
\ No newline at end of file
{"uuid": "6cff49c8-fbd0-49fc-8edb-478d53734a1c", "befores": [{"name": "method", "status": "passed", "start": 1725509874032, "stop": 1725509874032}], "start": 1725509874032, "stop": 1725509874068}
\ No newline at end of file
{"uuid": "6bcbf91e-e7ee-40ac-b004-9b5c64f0eb4e", "befores": [{"name": "mime", "status": "passed", "start": 1725509875220, "stop": 1725509875220}], "start": 1725509875220, "stop": 1725509875255}
\ No newline at end of file
{"uuid": "d0e34e12-fcb4-4709-a61f-7abac14bcd8e", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875130, "stop": 1725509875170}
\ No newline at end of file
{"uuid": "97e0d4ad-6021-4359-ac46-80cdf55c7f5a", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874398, "stop": 1725509874398}], "start": 1725509874398, "stop": 1725509874453}
\ No newline at end of file
{"uuid": "77ba6048-0fdb-44bd-9358-2745cb2a039d", "befores": [{"name": "url", "status": "passed", "start": 1725509875220, "stop": 1725509875220}], "start": 1725509875220, "stop": 1725509875256}
\ No newline at end of file
{"uuid": "a95751b8-4297-4b39-ab5a-a47bc0e3ef93", "befores": [{"name": "url", "status": "passed", "start": 1725509874980, "stop": 1725509874980}], "start": 1725509874980, "stop": 1725509875026}
\ No newline at end of file
{"uuid": "fedae53a-aed2-460e-91e3-648681c1af67", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874981, "stop": 1725509874981}], "start": 1725509874981, "stop": 1725509875021}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546820129038336"}
\ No newline at end of file
{"uuid": "76667488-c665-42dc-bbda-8b3581cac9d7", "befores": [{"name": "method", "status": "passed", "start": 1725509874286, "stop": 1725509874287}], "start": 1725509874286, "stop": 1725509874343}
\ No newline at end of file
{"uuid": "77e83579-2d12-4483-b220-6762bffa62dc", "befores": [{"name": "mime", "status": "passed", "start": 1725509875181, "stop": 1725509875181}], "start": 1725509875181, "stop": 1725509875215}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "d5f511d2-b9de-4a90-89ea-bb6a410861e2", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874525, "stop": 1725509874525}], "start": 1725509874525, "stop": 1725509874561}
\ No newline at end of file
{"uuid": "8b7042e4-7a56-4283-a071-0cfd678c20a8", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874568, "stop": 1725509874568}], "start": 1725509874568, "stop": 1725509874599}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C27E0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C27E0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "bc40b529-f911-42c1-bbfd-5b1530e1fd51-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875082, "stop": 1725509875109, "uuid": "c1c9a166-4e8a-4034-af12-642b781f9305", "historyId": "4479ea4b1d75c6673685eb0a9d802580", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "443c8a73-f1b1-4b26-9783-8e24fa6bde4b", "befores": [{"name": "mime", "status": "passed", "start": 1725509875301, "stop": 1725509875301}], "start": 1725509875301, "stop": 1725509875337}
\ No newline at end of file
{"uuid": "018fe065-3950-43be-8ecd-c129453c57d9", "befores": [{"name": "url", "status": "passed", "start": 1725509875180, "stop": 1725509875180}], "start": 1725509875180, "stop": 1725509875216}
\ No newline at end of file
{"uuid": "eb22d21b-a4a7-405e-8043-8c3e643a0088", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874073, "stop": 1725509874073}], "start": 1725509874073, "stop": 1725509874118}
\ No newline at end of file
{"uuid": "c065c6fa-ab77-48b8-a355-48607f33db37", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875181, "stop": 1725509875181}], "start": 1725509875181, "stop": 1725509875214}
\ No newline at end of file
{"uuid": "a2616f72-f8d5-4d71-8566-0b17259e4769", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875342, "stop": 1725509875343}], "start": 1725509875342, "stop": 1725509875397}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D4C0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D4C0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "a05e1ab1-2b75-4478-bfca-4f7d7b790dbe-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874463, "stop": 1725509874504, "uuid": "2b4e8825-68ef-4a66-8d82-9b8e29ad56b5", "historyId": "8eb7301a32c31c1993acb65490cebb5d", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "3e7c86fa-1688-484b-9cef-91d592fb3937", "befores": [{"name": "url", "status": "passed", "start": 1725509873837, "stop": 1725509873837}], "start": 1725509873837, "stop": 1725509873915}
\ No newline at end of file
{"uuid": "c24e37e8-c24d-4c82-89d6-f3971c1e2f53", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874198, "stop": 1725509874198}], "start": 1725509874198, "stop": 1725509874233}
\ No newline at end of file
{"uuid": "59a86059-7512-4e8c-88ad-a3512d818e5a", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875221, "stop": 1725509875221}], "start": 1725509875221, "stop": 1725509875252}
\ No newline at end of file
{"uuid": "67c0f1fc-b4dc-4281-ad30-a4c229ba5438", "befores": [{"name": "mime", "status": "passed", "start": 1725509874032, "stop": 1725509874032}], "start": 1725509874032, "stop": 1725509874067}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768668A0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000020876AA1A80>('message')\nE + where <built-in method get of dict object at 0x0000020876AA1A80> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768668A0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "6ecf5ff3-8ba4-42d8-93a9-45d8c98d2eb2-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/refresh'"}, {"name": "method", "value": "'GET'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875409, "stop": 1725509875429, "uuid": "45b57e43-21fc-4409-a400-e5bba2a5a2c0", "historyId": "128729b1e005cfdd6f14c1aa881b6157", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "aeafab95-e5d8-443b-a1cf-3804387c6b1e", "befores": [{"name": "url", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875129, "stop": 1725509875174}
\ No newline at end of file
{"uuid": "69cd8fa2-5ae2-4485-bbfb-e8744c963143", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874981, "stop": 1725509874981}], "start": 1725509874981, "stop": 1725509875021}
\ No newline at end of file
{"uuid": "939b7277-8059-4e56-b3ec-dfacfa967c8d", "befores": [{"name": "method", "status": "passed", "start": 1725509873837, "stop": 1725509873837}], "start": 1725509873837, "stop": 1725509873914}
\ No newline at end of file
{"uuid": "7730a2a3-eb0c-4ab8-9a93-fcff1f26d2bb", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875130, "stop": 1725509875171}
\ No newline at end of file
{"uuid": "d507af72-fa50-4725-9731-d86ae2e8b5a4", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874198, "stop": 1725509874198}], "start": 1725509874198, "stop": 1725509874234}
\ No newline at end of file
{"uuid": "9bbcf509-121f-414e-8e6e-d46c80be7578", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874032, "stop": 1725509874032}], "start": 1725509874032, "stop": 1725509874062}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "e218acec-8cf6-4ba3-9b87-ee4104712266-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'post'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875262, "stop": 1725509875279, "uuid": "bfe5ffb6-d54a-4d3a-a70a-a189648896a3", "historyId": "66b67242a399356d7f6f4ce06fbff864", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "459ada9f-bc9f-4b21-b3fd-ba0109b56711", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874896, "stop": 1725509874896}], "start": 1725509874896, "stop": 1725509874928}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546822700146688"}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688C500>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688C500>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "0435d593-d5fb-4bbc-b1b0-bcf107b93836-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874244, "stop": 1725509874267, "uuid": "4731908c-5fc8-4895-9354-3bebc0a0482f", "historyId": "48abe8c46402ff324a761b2b5e506cc9", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "742ca4a8-32e1-4daa-9c83-e3e8041bf4cf", "befores": [{"name": "method", "status": "passed", "start": 1725509875301, "stop": 1725509875301}], "start": 1725509875301, "stop": 1725509875337}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876427290>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/org/v1/org/deleteOrg', method = 'POST', mime = 'json', case_data = 'testAddOrg', expect_data = {'message': '删除组织成功!'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE assert '删除组织成功!' == '部分删除成功,其中编码为...dOrg\"】的组织不存在;'\nE \nE - 部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;\nE + 删除组织成功!\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876427290>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/org/v1/org/deleteOrg', method = 'POST', mime = 'json', case_data = 'testAddOrg', expect_data = {'message': '删除组织成功!'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "6645e6e6-6c2e-4f68-a378-b4a70fe8e25b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "'testAddOrg'"}, {"name": "expect_data", "value": "{'message': '删除组织成功!'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874033, "stop": 1725509874049, "uuid": "ab67c70b-faef-4a84-8a6d-27b5d5f80d74", "historyId": "5b9cec47ee0edd555ba6e1220ea0e625", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "4005dbf0-50d2-424f-913a-9a28ad0c1c96", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875261, "stop": 1725509875261}], "start": 1725509875261, "stop": 1725509875295}
\ No newline at end of file
{"uuid": "64a93d6a-9a89-4274-bee4-01152f590872", "befores": [{"name": "mime", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875130, "stop": 1725509875173}
\ No newline at end of file
{"uuid": "a2194e38-c803-486e-be96-7aafe05e3e2d", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875030, "stop": 1725509875030}], "start": 1725509875030, "stop": 1725509875072}
\ No newline at end of file
{"uuid": "a0f3ce70-1a0b-43b9-b48e-e3d3339eceee", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509873975, "stop": 1725509873976}], "start": 1725509873975, "stop": 1725509874014}
\ No newline at end of file
{"uuid": "be69428f-e46d-425d-ad39-db12129f360f", "befores": [{"name": "url", "status": "passed", "start": 1725509874398, "stop": 1725509874398}], "start": 1725509874398, "stop": 1725509874455}
\ No newline at end of file
{"uuid": "8eb31393-eab3-46fb-ac21-58837b3936fc", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874609, "stop": 1725509874609}], "start": 1725509874609, "stop": 1725509874643}
\ No newline at end of file
{"uuid": "3d17656e-0b78-4db1-baee-751881ecc852", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875081, "stop": 1725509875081}], "start": 1725509875081, "stop": 1725509875122}
\ No newline at end of file
{"uuid": "370cca93-f549-4200-802b-7165cc84c4a4", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874389}
\ No newline at end of file
{"uuid": "bdc95c4b-24c8-4b57-9983-b6a5751f84e5", "befores": [{"name": "method", "status": "passed", "start": 1725509874782, "stop": 1725509874782}], "start": 1725509874782, "stop": 1725509874821}
\ No newline at end of file
{"uuid": "72895c23-47aa-49a2-a0c6-d667cad4036b", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874525, "stop": 1725509874525}], "start": 1725509874525, "stop": 1725509874559}
\ No newline at end of file
{"uuid": "8ab66c86-4ff3-40a5-adb0-a9cea4905e24", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874073, "stop": 1725509874073}], "start": 1725509874073, "stop": 1725509874119}
\ No newline at end of file
{"uuid": "0efd38de-1dcd-4cba-b2f5-53d212779acf", "befores": [{"name": "url", "status": "passed", "start": 1725509874072, "stop": 1725509874072}], "start": 1725509874072, "stop": 1725509874122}
\ No newline at end of file
{"uuid": "6943db72-3d9b-44eb-85f2-a588ac6e21e1", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875302, "stop": 1725509875302}], "start": 1725509875302, "stop": 1725509875334}
\ No newline at end of file
{"uuid": "42f6978d-bb53-4451-bdba-967aff2ccbb6", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874660, "stop": 1725509874660}], "start": 1725509874660, "stop": 1725509874696}
\ No newline at end of file
{"uuid": "757a3100-8a95-4dbb-addb-36398787c84c", "befores": [{"name": "mime", "status": "passed", "start": 1725509873502, "stop": 1725509873502}], "start": 1725509873502, "stop": 1725509873787}
\ No newline at end of file
{"uuid": "d4384691-7fde-41d5-96fd-b9d7da9dee3e", "befores": [{"name": "update_key", "status": "passed", "start": 1725509873976, "stop": 1725509873976}], "start": 1725509873976, "stop": 1725509874013}
\ No newline at end of file
{"uuid": "70137a0a-5181-477d-b60b-d2878a8120ac", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874609, "stop": 1725509874609}], "start": 1725509874609, "stop": 1725509874653}
\ No newline at end of file
{"uuid": "88e8496f-ed1b-446f-8414-3122f00c5d55", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874032, "stop": 1725509874032}], "start": 1725509874032, "stop": 1725509874063}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200}
\ No newline at end of file
{"uuid": "55efd0d8-e8f5-430b-b7e2-9644e6fc0a8b", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874287, "stop": 1725509874287}], "start": 1725509874287, "stop": 1725509874341}
\ No newline at end of file
{"uuid": "b1b98f73-813d-4c85-85ca-5fd6c32d685a", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874783, "stop": 1725509874783}], "start": 1725509874782, "stop": 1725509874817}
\ No newline at end of file
{"uuid": "4277627e-2ad9-4553-8fb6-512b69576560", "befores": [{"name": "mime", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874282}
\ No newline at end of file
{"uuid": "ff62f07e-6e3b-4f19-a345-c73840472f01", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875181, "stop": 1725509875181}], "start": 1725509875181, "stop": 1725509875213}
\ No newline at end of file
{"uuid": "9d2a8a2e-10ce-4694-bfd7-4c0092e1fdfe", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874280}
\ No newline at end of file
{"uuid": "e0dda430-f208-4977-aecf-f64235b9a619", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509873975, "stop": 1725509873975}], "start": 1725509873975, "stop": 1725509874014}
\ No newline at end of file
{"uuid": "624d2028-5eab-41d2-8a7c-7a0662bde842", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875302, "stop": 1725509875302}], "start": 1725509875302, "stop": 1725509875333}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546819952877568"}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "f4d99754-1573-470d-aa8c-8b163dc15982-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874897, "stop": 1725509874926, "uuid": "b0ffe29c-5a47-4fc2-9f4c-6348d61a1311", "historyId": "7f0e6cd414aa2df632599593553f643f", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831546815687270400'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200}
\ No newline at end of file
{"uuid": "3690ff72-7250-4e01-a3ed-660da4fad000", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874390}
\ No newline at end of file
{"uuid": "a84fd7b6-0ae9-4e54-a8b4-d2e96c673f04", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874660, "stop": 1725509874660}], "start": 1725509874660, "stop": 1725509874697}
\ No newline at end of file
{"uuid": "fffcfccb-d40d-4834-bad9-24015b07ee5c", "befores": [{"name": "method", "status": "passed", "start": 1725509874705, "stop": 1725509874705}], "start": 1725509874705, "stop": 1725509874767}
\ No newline at end of file
{"uuid": "2914ffdd-9958-45b2-9654-e327111eb3d0", "befores": [{"name": "method", "status": "passed", "start": 1725509874896, "stop": 1725509874896}], "start": 1725509874896, "stop": 1725509874930}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true}
\ No newline at end of file
{"uuid": "ea627502-a577-4f35-800b-7f922852d731", "befores": [{"name": "url", "status": "passed", "start": 1725509875407, "stop": 1725509875408}], "start": 1725509875407, "stop": 1725509875446}
\ No newline at end of file
{"uuid": "e01d7efd-d166-40ee-b56b-286528aba811", "befores": [{"name": "method", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874393}
\ No newline at end of file
{"uuid": "153fdbf3-4e33-43bf-a892-49596c9a6819", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874660, "stop": 1725509874660}], "start": 1725509874660, "stop": 1725509874697}
\ No newline at end of file
{"uuid": "3c82a3fd-e59d-46ae-a93b-4cf255215f2d", "befores": [{"name": "mime", "status": "passed", "start": 1725509875408, "stop": 1725509875408}], "start": 1725509875408, "stop": 1725509875445}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DFD0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DFD0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "2d3bf901-b1f8-458f-96df-987c726c8a6d-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'json'"}, {"name": "case_data", "value": "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874400, "stop": 1725509874428, "uuid": "a6aebe93-c229-4fb2-af63-65a40973247f", "historyId": "a175574a4d035c584ab8478e07968208", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "5389623c-3bac-48db-88b2-84831cd64f3b", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875408, "stop": 1725509875408}], "start": 1725509875408, "stop": 1725509875444}
\ No newline at end of file
{"uuid": "30a8b25b-b665-4c05-894c-2df37d7bea47", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509873502, "stop": 1725509873502}], "start": 1725509873502, "stop": 1725509873783}
\ No newline at end of file
{"uuid": "20db6ee4-4e2b-45ac-9d53-19929d29bea2", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875130, "stop": 1725509875171}
\ No newline at end of file
{"uuid": "5145809e-deb0-4669-a969-0c800e243a7e", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875302, "stop": 1725509875302}], "start": 1725509875302, "stop": 1725509875335}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "9a686151-f4e7-47d0-abf9-aa98564c87df-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'query'"}, {"name": "case_data", "value": "{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}"}, {"name": "expect_data", "value": "{'message': '加入成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509873921, "stop": 1725509873965, "uuid": "6faf640c-23d7-4715-b6fb-2d1886b69d22", "historyId": "5945f99868ec59904be0e0c99840002e", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "42fffe50-cc5f-4257-8d4b-b02146bdbc44", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874936, "stop": 1725509874936}], "start": 1725509874936, "stop": 1725509874971}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C1010>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C1010>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "26917a5b-a800-4e1f-a72e-2a5931cd74bf-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': '123456'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875303, "stop": 1725509875320, "uuid": "704580fe-1700-42d0-bdda-536a423482a9", "historyId": "9b37711dbaecfc386d6840f06e7e961c", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "3cddf80c-e4c3-4a5e-8423-ea66233a0b28", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875081, "stop": 1725509875081}], "start": 1725509875081, "stop": 1725509875121}
\ No newline at end of file
{"uuid": "3c7d9cdc-2f65-499e-b190-7b50aaf5c35c", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875261, "stop": 1725509875261}], "start": 1725509875261, "stop": 1725509875293}
\ No newline at end of file
{"uuid": "e50071c7-b55c-423b-b540-016d4f17d781", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509873837, "stop": 1725509873837}], "start": 1725509873837, "stop": 1725509873913}
\ No newline at end of file
{"uuid": "8c9e9724-9b65-460f-8444-4c3385259947", "befores": [{"name": "url", "status": "passed", "start": 1725509874658, "stop": 1725509874659}], "start": 1725509874658, "stop": 1725509874702}
\ No newline at end of file
{"uuid": "aa2abb7f-41d9-4480-9942-3f90f21ee8b4", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874461, "stop": 1725509874461}], "start": 1725509874461, "stop": 1725509874518}
\ No newline at end of file
{"uuid": "89f82469-aaab-4769-bfc3-3d3d3fc02957", "befores": [{"name": "update_key", "status": "passed", "start": 1725509873838, "stop": 1725509873838}], "start": 1725509873838, "stop": 1725509873901}
\ No newline at end of file
{"uuid": "280611d6-5cbc-400e-a554-51f5b6bd9d49", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875030, "stop": 1725509875030}], "start": 1725509875030, "stop": 1725509875072}
\ No newline at end of file
{"uuid": "32489c27-1791-4fba-8210-e37521228085", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875408, "stop": 1725509875408}], "start": 1725509875408, "stop": 1725509875441}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876413260>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000020876A6BEC0>('message')\nE + where <built-in method get of dict object at 0x0000020876A6BEC0> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876413260>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "e907567e-b2f1-443f-97fe-60b886bc265b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/refresh'"}, {"name": "method", "value": "'GET'"}, {"name": "mime", "value": "None"}, {"name": "case_data", "value": "None"}, {"name": "expect_data", "value": "{'message': '刷新token成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874783, "stop": 1725509874802, "uuid": "67dfe0b2-045d-45ff-91b2-b037ba12a641", "historyId": "b410abf76c32aa74be9f6d0484c2321c", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "fa5c2341-f94f-4ef6-a9cb-974df1a66148", "befores": [{"name": "mime", "status": "passed", "start": 1725509874398, "stop": 1725509874398}], "start": 1725509874398, "stop": 1725509874454}
\ No newline at end of file
{"uuid": "f19bb41f-0a5b-4387-9021-d35c7fbfd96b", "befores": [{"name": "method", "status": "passed", "start": 1725509873919, "stop": 1725509873919}], "start": 1725509873919, "stop": 1725509873970}
\ No newline at end of file
{"uuid": "adf19f20-44ff-4719-a377-352729f1fa7b", "befores": [{"name": "case_data", "status": "passed", "start": 1725509873975, "stop": 1725509873975}], "start": 1725509873975, "stop": 1725509874025}
\ No newline at end of file
{"uuid": "dc1385fe-f2d2-43d4-9ded-05a4b425e934", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874705, "stop": 1725509874705}], "start": 1725509874705, "stop": 1725509874765}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822054223872"}
\ No newline at end of file
{"uuid": "236067f8-4a47-4cea-9dac-72d3dc719aa7", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874281}
\ No newline at end of file
{"uuid": "cbb9e9bb-c3b4-4ff8-b283-98c7b4847fbe", "befores": [{"name": "url", "status": "passed", "start": 1725509874460, "stop": 1725509874461}], "start": 1725509874460, "stop": 1725509874520}
\ No newline at end of file
{"uuid": "f6ef87f8-4b92-4a66-a92a-b5a79801e6d1", "befores": [{"name": "mime", "status": "passed", "start": 1725509874287, "stop": 1725509874287}], "start": 1725509874287, "stop": 1725509874343}
\ No newline at end of file
{"uuid": "029a48d0-e04f-4460-aa7b-5780916c49f5", "befores": [{"name": "case_data", "status": "passed", "start": 1725509873792, "stop": 1725509873792}], "start": 1725509873792, "stop": 1725509873831}
\ No newline at end of file
{"uuid": "7399a913-6da1-4cf0-8aa6-0c6c26ae17c3", "befores": [{"name": "url", "status": "passed", "start": 1725509874031, "stop": 1725509874032}], "start": 1725509874031, "stop": 1725509874068}
\ No newline at end of file
{"uuid": "9901e157-5545-4bc4-bdbc-689174afb6ce", "children": ["1a799582-7155-40c7-ba3a-f5b10a0c9aa6", "7a167ea0-eccf-408f-a457-a138e60915e9", "7950588d-e0b7-41c6-9663-ddc40885337f", "6faf640c-23d7-4715-b6fb-2d1886b69d22", "7b936699-4a04-46a7-8509-c4fef6ad3408", "ab67c70b-faef-4a84-8a6d-27b5d5f80d74", "70b06e8b-1bd4-41b5-89dc-2365914c62e6"], "befores": [{"name": "fix_db", "status": "passed", "start": 1725509873410, "stop": 1725509873455}], "afters": [{"name": "fix_db::0", "status": "passed", "start": 1725509875453, "stop": 1725509875453}], "start": 1725509873410, "stop": 1725509875453}
\ No newline at end of file
{"uuid": "2368ef59-1aa5-4479-a6ab-b62c8c4803e2", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875030, "stop": 1725509875030}], "start": 1725509875030, "stop": 1725509875073}
\ No newline at end of file
{"uuid": "225efa70-4a78-407c-a278-6d76d741be18", "befores": [{"name": "url", "status": "passed", "start": 1725509874286, "stop": 1725509874286}], "start": 1725509874286, "stop": 1725509874344}
\ No newline at end of file
{"uuid": "1b749c7f-6e99-41e7-bce7-886a29b1ac19", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874896, "stop": 1725509874896}], "start": 1725509874896, "stop": 1725509874928}
\ No newline at end of file
{"uuid": "ab6c8d7c-3037-4ff3-bb45-6c5d12f8bd90", "befores": [{"name": "mime", "status": "passed", "start": 1725509874935, "stop": 1725509874935}], "start": 1725509874935, "stop": 1725509874974}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546821848702976"}
\ No newline at end of file
{"uuid": "79c10d60-b545-47dd-b74e-13d71a2794e7", "befores": [{"name": "url", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874283}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819197902848"}
\ No newline at end of file
{"uuid": "39e63814-eb78-4d34-8254-a1bea037122e", "befores": [{"name": "method", "status": "passed", "start": 1725509874398, "stop": 1725509874398}], "start": 1725509874398, "stop": 1725509874454}
\ No newline at end of file
{"uuid": "3b3a4b8e-3eac-43b5-8663-2a7dd9741f68", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874568, "stop": 1725509874568}], "start": 1725509874568, "stop": 1725509874601}
\ No newline at end of file
{"uuid": "d937e5bb-b5f4-4076-b998-294e899e5e3c", "befores": [{"name": "url", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874394}
\ No newline at end of file
{"uuid": "544d115b-1000-4135-95c7-dacce3ae7663", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874461, "stop": 1725509874461}], "start": 1725509874461, "stop": 1725509874518}
\ No newline at end of file
{"uuid": "676db72b-9d58-47be-866f-4a6feb679d78", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875220, "stop": 1725509875220}], "start": 1725509875220, "stop": 1725509875253}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg, 用例数据:{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}, 期望数据:{'message': '加入成功'}, 服务器返回数据:{"state":true,"message":"加入成功","value":"","code":200}
\ No newline at end of file
{"uuid": "0f597b5a-490d-48c8-9a84-d55ca24c764b", "befores": [{"name": "mime", "status": "passed", "start": 1725509874659, "stop": 1725509874659}], "start": 1725509874659, "stop": 1725509874699}
\ No newline at end of file
{"uuid": "2306511c-9b91-40aa-b88b-6ec83e2b9fb7", "befores": [{"name": "mime", "status": "passed", "start": 1725509874896, "stop": 1725509874896}], "start": 1725509874896, "stop": 1725509874930}
\ No newline at end of file
{"uuid": "6d8d32b4-798e-45ea-8658-47df4042c8c8", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874462, "stop": 1725509874462}], "start": 1725509874462, "stop": 1725509874516}
\ No newline at end of file
{"uuid": "ce1dba8e-bb7d-4963-b68f-1f599879c6e6", "children": ["1a799582-7155-40c7-ba3a-f5b10a0c9aa6", "7a167ea0-eccf-408f-a457-a138e60915e9", "7950588d-e0b7-41c6-9663-ddc40885337f", "6faf640c-23d7-4715-b6fb-2d1886b69d22", "7b936699-4a04-46a7-8509-c4fef6ad3408", "ab67c70b-faef-4a84-8a6d-27b5d5f80d74", "70b06e8b-1bd4-41b5-89dc-2365914c62e6", "77afe7f3-d5c8-46c3-8756-bb7ac6315f45", "4731908c-5fc8-4895-9354-3bebc0a0482f", "4ea79eb4-3585-40b3-aa13-4a770ac0d978", "a346218f-1488-43e9-9408-f784b24c13f1", "a6aebe93-c229-4fb2-af63-65a40973247f", "2b4e8825-68ef-4a66-8d82-9b8e29ad56b5", "19062a21-71e6-4646-a836-3a7dc87236ce", "5bca2cfb-7e48-4e15-9326-af1a219a1728", "e2eccefd-e733-49ad-85ee-b3eab55b44e9", "85149439-b10f-4f11-a5ef-9467a911b031", "7f819331-6a84-4060-b123-7df9e83d3906", "67dfe0b2-045d-45ff-91b2-b037ba12a641", "b0ffe29c-5a47-4fc2-9f4c-6348d61a1311", "4f140660-245b-4efb-9908-5bb18fd29495", "d3ad5bb8-3fe1-4e13-a5a3-abcf825786f6", "4bd1a1e9-7b16-45c4-adde-46f218d2a0d9", "c1c9a166-4e8a-4034-af12-642b781f9305", "7b394fb4-02f8-4a3b-910c-cc6907718049", "64c7256a-ca2a-4a5b-83e0-a1a050be1707", "a56e2b22-da2a-4f36-8f48-a0d62e7c9c34", "bfe5ffb6-d54a-4d3a-a70a-a189648896a3", "704580fe-1700-42d0-bdda-536a423482a9", "42e84d51-19dc-4202-ba2b-1c50730ca2c6", "45b57e43-21fc-4409-a400-e5bba2a5a2c0"], "befores": [{"name": "_session_faker", "status": "passed", "start": 1725509873268, "stop": 1725509873410}], "start": 1725509873268, "stop": 1725509875454}
\ No newline at end of file
{"uuid": "af03f265-4983-4127-baaf-bc76bfad7d56", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874198, "stop": 1725509874198}], "start": 1725509874198, "stop": 1725509874233}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819734773760"}
\ No newline at end of file
{"uuid": "22c71ca4-99b4-4297-81d7-eb0d5c103abe", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875261, "stop": 1725509875261}], "start": 1725509875261, "stop": 1725509875295}
\ No newline at end of file
{"uuid": "980cf994-5f5e-4798-8a9b-6511d23d8f01", "befores": [{"name": "url", "status": "passed", "start": 1725509875260, "stop": 1725509875260}], "start": 1725509875260, "stop": 1725509875298}
\ No newline at end of file
{"uuid": "221172f9-dc5b-4f82-b9a1-bfe31f994f1d", "befores": [{"name": "mime", "status": "passed", "start": 1725509874782, "stop": 1725509874782}], "start": 1725509874782, "stop": 1725509874820}
\ No newline at end of file
{"uuid": "d7ae8b15-cff0-4f8e-985f-a5a0c2fd193e", "befores": [{"name": "method", "status": "passed", "start": 1725509875260, "stop": 1725509875260}], "start": 1725509875260, "stop": 1725509875297}
\ No newline at end of file
{"uuid": "4757ca11-62b2-432b-b22a-c255c55b7598", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874896, "stop": 1725509874896}], "start": 1725509874896, "stop": 1725509874927}
\ No newline at end of file
{"uuid": "e64264a6-ac25-44a4-90bd-ec0aafa0258c", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509873502, "stop": 1725509873502}], "start": 1725509873502, "stop": 1725509873781}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams, 用例数据:{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}, 期望数据:{'message': '保存组织参数成功!'}, 服务器返回数据:{"state":true,"message":"保存组织参数成功!","value":"","code":200}
\ No newline at end of file
{"uuid": "7c3e30eb-d6e9-4381-b3d7-785faf6cab81", "befores": [{"name": "method", "status": "passed", "start": 1725509875030, "stop": 1725509875030}], "start": 1725509875030, "stop": 1725509875075}
\ No newline at end of file
{"uuid": "6006d533-cc62-4027-b45c-26a0329fd509", "befores": [{"name": "method", "status": "passed", "start": 1725509874659, "stop": 1725509874659}], "start": 1725509874659, "stop": 1725509874700}
\ No newline at end of file
{"uuid": "702d107c-7fc9-4f9a-9375-e8d4e441fd29", "befores": [{"name": "method", "status": "passed", "start": 1725509874980, "stop": 1725509874981}], "start": 1725509874980, "stop": 1725509875025}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "576f8f19-dac5-4504-9f69-1fe608c90bc3-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': ''}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875182, "stop": 1725509875211, "uuid": "64c7256a-ca2a-4a5b-83e0-a1a050be1707", "historyId": "8a6f5940a978fd4ecaa53e97a35ae776", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DA60>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DA60>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "31c97534-ace1-4a64-b912-5618130e87da-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874288, "stop": 1725509874316, "uuid": "4ea79eb4-3585-40b3-aa13-4a770ac0d978", "historyId": "fb4addf01045fbe8c5cdee39d26ad4eb", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DB20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DB20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "963d654e-249a-4c47-ac90-4646c9c34c8d-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874349, "stop": 1725509874377, "uuid": "a346218f-1488-43e9-9408-f784b24c13f1", "historyId": "63d2c1d0245c2602497f67b56e03a018", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "397df108-46ab-4e1c-ac95-e060e893792f", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874287, "stop": 1725509874287}], "start": 1725509874287, "stop": 1725509874342}
\ No newline at end of file
{"uuid": "aa48dde3-7f74-42dc-b5ec-6a3a0c22ab3d", "befores": [{"name": "method", "status": "passed", "start": 1725509875342, "stop": 1725509875342}], "start": 1725509875342, "stop": 1725509875401}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546821634793472"}
\ No newline at end of file
{"uuid": "21566572-621e-4d09-afef-9390f233340b", "befores": [{"name": "mime", "status": "passed", "start": 1725509874461, "stop": 1725509874461}], "start": 1725509874461, "stop": 1725509874519}
\ No newline at end of file
{"uuid": "a6959113-a48e-42c2-a78c-fb8dce7173ec", "befores": [{"name": "url", "status": "passed", "start": 1725509873975, "stop": 1725509873975}], "start": 1725509873975, "stop": 1725509874028}
\ No newline at end of file
{"uuid": "5b12c70d-3952-4b78-b882-3b4988254d30", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874981, "stop": 1725509874981}], "start": 1725509874981, "stop": 1725509875024}
\ No newline at end of file
{"uuid": "82718d4b-1407-4735-b530-4ee7405897ac", "befores": [{"name": "url", "status": "passed", "start": 1725509873502, "stop": 1725509873502}], "start": 1725509873502, "stop": 1725509873788}
\ No newline at end of file
{"uuid": "f042e3a0-eae6-4aa4-9341-154716d91f9a", "befores": [{"name": "url", "status": "passed", "start": 1725509874198, "stop": 1725509874198}], "start": 1725509874198, "stop": 1725509874239}
\ No newline at end of file
{"uuid": "11dd9c12-e963-4c61-8e5a-4706c790ec84", "befores": [{"name": "method", "status": "passed", "start": 1725509874608, "stop": 1725509874608}], "start": 1725509874608, "stop": 1725509874654}
\ No newline at end of file
{"uuid": "04ad958a-6762-4340-9416-a6b67809adc9", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875261, "stop": 1725509875261}], "start": 1725509875261, "stop": 1725509875292}
\ No newline at end of file
{"uuid": "e1117db6-bf1d-4949-b3ac-bcb6a0b9ef7a", "befores": [{"name": "mime", "status": "passed", "start": 1725509875261, "stop": 1725509875261}], "start": 1725509875261, "stop": 1725509875296}
\ No newline at end of file
{"uuid": "443f1302-4a7f-4ba9-adfa-64a758b2e2bf", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874287, "stop": 1725509874287}], "start": 1725509874287, "stop": 1725509874339}
\ No newline at end of file
{"uuid": "90aa0996-5ca1-4f82-8b9e-538e18ba553d", "befores": [{"name": "method", "status": "passed", "start": 1725509873975, "stop": 1725509873975}], "start": 1725509873975, "stop": 1725509874027}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "a33b25f6-996b-419a-bd98-538b1be7e554-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'query|json'"}, {"name": "case_data", "value": "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}"}, {"name": "expect_data", "value": "{'message': '保存组织参数成功!'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509873976, "stop": 1725509874012, "uuid": "7b936699-4a04-46a7-8509-c4fef6ad3408", "historyId": "fd1f5cf8cf0975a36ecfc6a676bd4dfa", "testCaseId": "2de48645219de93dc51c83a53a42f952", "fullName": "test_case.test_demo.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_demo"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_demo.test_bpm"}]}
\ No newline at end of file
{"uuid": "cc0fcf4a-d892-4c52-a618-916886ee71c4", "befores": [{"name": "url", "status": "passed", "start": 1725509875080, "stop": 1725509875080}], "start": 1725509875080, "stop": 1725509875125}
\ No newline at end of file
{"uuid": "de9ca8a4-d221-4f78-b168-5e8cd417065e", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874568, "stop": 1725509874568}], "start": 1725509874568, "stop": 1725509874600}
\ No newline at end of file
{"uuid": "bc472b13-02ad-41ee-808a-d2d384542956", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874525, "stop": 1725509874525}], "start": 1725509874525, "stop": 1725509874558}
\ No newline at end of file
{"uuid": "b498587a-9ca5-4bd5-8236-1b99b87c39aa", "befores": [{"name": "mime", "status": "passed", "start": 1725509875342, "stop": 1725509875342}], "start": 1725509875342, "stop": 1725509875400}
\ No newline at end of file
{"uuid": "d8170919-9162-4c0a-9e11-6600deb6975c", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875408, "stop": 1725509875408}], "start": 1725509875408, "stop": 1725509875443}
\ No newline at end of file
{"uuid": "9254fbd2-5432-4dce-9b4d-ff3ce012a854", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874525, "stop": 1725509874525}], "start": 1725509874525, "stop": 1725509874559}
\ No newline at end of file
{"uuid": "8fe89865-0d02-4673-900c-6a1748372b96", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874706, "stop": 1725509874706}], "start": 1725509874706, "stop": 1725509874765}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822268133376"}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D250>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D250>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "18b06448-cf30-4712-b184-ab51b80d9ca1-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'post'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874610, "stop": 1725509874629, "uuid": "e2eccefd-e733-49ad-85ee-b3eab55b44e9", "historyId": "a4925b7a43beba15ce710d3a2d8ba3f6", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "68c6c802-25bf-410f-9583-acd341cc4a39", "befores": [{"name": "method", "status": "passed", "start": 1725509873502, "stop": 1725509873502}], "start": 1725509873502, "stop": 1725509873787}
\ No newline at end of file
{"uuid": "b592bb97-25f1-4eac-bcc3-0cd390e60f17", "befores": [{"name": "method", "status": "passed", "start": 1725509875408, "stop": 1725509875408}], "start": 1725509875408, "stop": 1725509875445}
\ No newline at end of file
{"uuid": "210c1fb0-af82-484a-8b75-32d5538c48cd", "befores": [{"name": "url", "status": "passed", "start": 1725509874895, "stop": 1725509874895}], "start": 1725509874895, "stop": 1725509874931}
\ No newline at end of file
{"uuid": "201910b8-f5ec-4cd8-be17-13c37e59b4ae", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875081, "stop": 1725509875081}], "start": 1725509875081, "stop": 1725509875123}
\ No newline at end of file
{"uuid": "bb8cfad9-3ead-4982-b84c-0d61b136f96c", "befores": [{"name": "url", "status": "passed", "start": 1725509874567, "stop": 1725509874567}], "start": 1725509874567, "stop": 1725509874604}
\ No newline at end of file
{"uuid": "2404c147-0f09-48d1-9848-1ac13ca1a93d", "befores": [{"name": "case_data", "status": "passed", "start": 1725509873502, "stop": 1725509873502}], "start": 1725509873502, "stop": 1725509873786}
\ No newline at end of file
{"uuid": "88babbdb-dbd5-4392-a3f6-c0eb7bbcc066", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875220, "stop": 1725509875220}], "start": 1725509875220, "stop": 1725509875252}
\ No newline at end of file
{"uuid": "ea9bb235-51cd-4071-b2de-55b100db008e", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874981, "stop": 1725509874981}], "start": 1725509874981, "stop": 1725509875023}
\ No newline at end of file
{"uuid": "26b7d55e-f50d-49b6-bafa-0451e67408f5", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875220, "stop": 1725509875220}], "start": 1725509875220, "stop": 1725509875254}
\ No newline at end of file
{"uuid": "bf42876a-868c-4665-8eac-1ca90e81b2d8", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874936, "stop": 1725509874936}], "start": 1725509874935, "stop": 1725509874974}
\ No newline at end of file
{"uuid": "ac555c31-0925-4227-8ea2-cb3304b781dc", "befores": [{"name": "mime", "status": "passed", "start": 1725509874072, "stop": 1725509874072}], "start": 1725509874072, "stop": 1725509874121}
\ No newline at end of file
{"uuid": "3891f26b-6290-4a59-b2a7-bde1c43d013c", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874392}
\ No newline at end of file
{"uuid": "f291d5f5-a95e-48f1-83f5-53428d4a6115", "befores": [{"name": "url", "status": "passed", "start": 1725509875342, "stop": 1725509875342}], "start": 1725509875342, "stop": 1725509875403}
\ No newline at end of file
{"uuid": "e5bc9528-cc3c-4973-8bf1-d8f7bbec179c", "befores": [{"name": "update_key", "status": "passed", "start": 1725509875343, "stop": 1725509875343}], "start": 1725509875343, "stop": 1725509875396}
\ No newline at end of file
{"uuid": "bb55e765-d5d2-4297-9189-a7cc083c5651", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874391}
\ No newline at end of file
{"uuid": "231c70b4-01f7-457e-849b-f7619f975819", "children": ["77afe7f3-d5c8-46c3-8756-bb7ac6315f45", "4731908c-5fc8-4895-9354-3bebc0a0482f", "4ea79eb4-3585-40b3-aa13-4a770ac0d978", "a346218f-1488-43e9-9408-f784b24c13f1", "a6aebe93-c229-4fb2-af63-65a40973247f", "2b4e8825-68ef-4a66-8d82-9b8e29ad56b5", "19062a21-71e6-4646-a836-3a7dc87236ce", "5bca2cfb-7e48-4e15-9326-af1a219a1728", "e2eccefd-e733-49ad-85ee-b3eab55b44e9", "85149439-b10f-4f11-a5ef-9467a911b031", "7f819331-6a84-4060-b123-7df9e83d3906", "67dfe0b2-045d-45ff-91b2-b037ba12a641"], "befores": [{"name": "fix_db", "status": "passed", "start": 1725509874131, "stop": 1725509874160}], "afters": [{"name": "fix_db::0", "status": "passed", "start": 1725509875450, "stop": 1725509875450}], "start": 1725509874131, "stop": 1725509875450}
\ No newline at end of file
{"uuid": "3eda18bc-d6af-4748-8be0-e8ed32cf5b0c", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874783, "stop": 1725509874783}], "start": 1725509874783, "stop": 1725509874816}
\ No newline at end of file
{"uuid": "85cba1ed-d8a2-4fd7-9e87-b23f041617b3", "befores": [{"name": "url", "status": "passed", "start": 1725509874782, "stop": 1725509874782}], "start": 1725509874782, "stop": 1725509874821}
\ No newline at end of file
{"uuid": "6fc16640-595d-45f4-ab31-0566daabd064", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874706, "stop": 1725509874706}], "start": 1725509874706, "stop": 1725509874764}
\ No newline at end of file
{"uuid": "e4712bd9-4702-4edd-afa1-6b4cc33c1869", "befores": [{"name": "method", "status": "passed", "start": 1725509875181, "stop": 1725509875181}], "start": 1725509875181, "stop": 1725509875215}
\ No newline at end of file
{"uuid": "c6a1d3be-863c-4cf1-9671-407320a7dc79", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874525, "stop": 1725509874525}], "start": 1725509874525, "stop": 1725509874560}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "d8e15505-9c59-40f0-8d5c-29600502cf41-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': '#!$!@#!@#'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875221, "stop": 1725509875250, "uuid": "a56e2b22-da2a-4f36-8f48-a0d62e7c9c34", "historyId": "4f9935fe474283bd57d587585b81a84e", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "df412e74-d1af-4288-9592-c5fce228d13e", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874399, "stop": 1725509874399}], "start": 1725509874399, "stop": 1725509874451}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CC0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CC0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "9325f40c-bd4f-4c7c-8c00-0ce9fe8d789f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874981, "stop": 1725509875008, "uuid": "d3ad5bb8-3fe1-4e13-a5a3-abcf825786f6", "historyId": "5bd9b2d423d7ab258be173e3e344797e", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "62b5fa3f-ad65-48fc-9eb1-0e8c6779b6b4", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875408, "stop": 1725509875408}], "start": 1725509875408, "stop": 1725509875442}
\ No newline at end of file
{"uuid": "a7e306c8-8fcb-497a-a3ad-831a97e84b8f", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874782, "stop": 1725509874782}], "start": 1725509874782, "stop": 1725509874819}
\ No newline at end of file
{"uuid": "2ea2d77c-5c4b-4cf3-a07c-01c884bb01e9", "befores": [{"name": "mime", "status": "passed", "start": 1725509875081, "stop": 1725509875081}], "start": 1725509875080, "stop": 1725509875124}
\ No newline at end of file
{"uuid": "69e28acd-2a65-4a5c-875e-bd73e2ab740a", "children": ["77afe7f3-d5c8-46c3-8756-bb7ac6315f45", "4731908c-5fc8-4895-9354-3bebc0a0482f", "4ea79eb4-3585-40b3-aa13-4a770ac0d978", "a346218f-1488-43e9-9408-f784b24c13f1", "a6aebe93-c229-4fb2-af63-65a40973247f", "2b4e8825-68ef-4a66-8d82-9b8e29ad56b5", "19062a21-71e6-4646-a836-3a7dc87236ce", "5bca2cfb-7e48-4e15-9326-af1a219a1728", "e2eccefd-e733-49ad-85ee-b3eab55b44e9", "85149439-b10f-4f11-a5ef-9467a911b031", "7f819331-6a84-4060-b123-7df9e83d3906", "67dfe0b2-045d-45ff-91b2-b037ba12a641"], "befores": [{"name": "fix_req", "status": "passed", "start": 1725509874160, "stop": 1725509874198}], "afters": [{"name": "fix_req::0", "status": "passed", "start": 1725509875449, "stop": 1725509875449}], "start": 1725509874160, "stop": 1725509875449}
\ No newline at end of file
{"uuid": "2bcc20a5-1c25-4e27-b775-7ad89348e6a6", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874981, "stop": 1725509874981}], "start": 1725509874981, "stop": 1725509875022}
\ No newline at end of file
{"uuid": "2195a74d-7709-4b8f-a9bf-b3db63d41527", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874032, "stop": 1725509874032}], "start": 1725509874032, "stop": 1725509874065}
\ No newline at end of file
{"uuid": "a774eb94-c9c5-47c5-a977-81e1ef9c5318", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509875302, "stop": 1725509875302}], "start": 1725509875302, "stop": 1725509875334}
\ No newline at end of file
{"uuid": "d1079138-bb4e-459a-bc7b-592e5ecdb7c3", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875081, "stop": 1725509875081}], "start": 1725509875081, "stop": 1725509875124}
\ No newline at end of file
{"uuid": "9c351b9c-eecb-47c7-9ed9-ad7d06964bf3", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875342, "stop": 1725509875342}], "start": 1725509875342, "stop": 1725509875398}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3860>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3860>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "89d3fa52-0736-41b4-99c3-c7ae18cd2a5f-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875031, "stop": 1725509875058, "uuid": "4bd1a1e9-7b16-45c4-adde-46f218d2a0d9", "historyId": "fc03ee40552f426cfe867dad8cd957fd", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546822863724544"}
\ No newline at end of file
{"uuid": "ae90ae44-f2d2-42dd-bda3-31a2d8b85849", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509873975, "stop": 1725509873975}], "start": 1725509873975, "stop": 1725509874015}
\ No newline at end of file
{"uuid": "8bd9274c-6d06-41ae-898a-dd2bc3225fc2", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875302, "stop": 1725509875302}], "start": 1725509875302, "stop": 1725509875336}
\ No newline at end of file
{"uuid": "d856c267-9d93-4bd6-8c56-a6f0196b2ef0", "befores": [{"name": "mime", "status": "passed", "start": 1725509874608, "stop": 1725509874608}], "start": 1725509874608, "stop": 1725509874653}
\ No newline at end of file
{"uuid": "24419093-29d4-47ee-97bc-17d80b339c1c", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509873837, "stop": 1725509873837}], "start": 1725509873837, "stop": 1725509873912}
\ No newline at end of file
{"uuid": "3aaaf574-cbd7-4fe5-a239-59c4a1af06a5", "befores": [{"name": "mime", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874392}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "47a467f3-117a-4d99-a055-bee564874b27-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': '#!$!@#!@#'}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874568, "stop": 1725509874598, "uuid": "5bca2cfb-7e48-4e15-9326-af1a219a1728", "historyId": "f3de7943a90f208dcf1743488a8f191d", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "030f51fc-d8c7-47d9-83bb-fcac6a253693", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874348, "stop": 1725509874348}], "start": 1725509874348, "stop": 1725509874391}
\ No newline at end of file
{"uuid": "a025d813-dbb9-458f-982b-0bf1c627df73", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874399, "stop": 1725509874399}], "start": 1725509874399, "stop": 1725509874452}
\ No newline at end of file
{"uuid": "1e7375b4-20b2-4e54-a383-82ef502bcf8a", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874936, "stop": 1725509874936}], "start": 1725509874936, "stop": 1725509874973}
\ No newline at end of file
{"uuid": "862996ee-6176-42e1-ae18-dfccc41cbc0f", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509873920, "stop": 1725509873920}], "start": 1725509873920, "stop": 1725509873968}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546822989553664"}
\ No newline at end of file
{"uuid": "8c641461-ea9c-4a6a-b4c1-f33c1b27f98f", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874399, "stop": 1725509874399}], "start": 1725509874399, "stop": 1725509874441}
\ No newline at end of file
{"uuid": "58ffd779-1767-4374-9921-58b77a63cebc", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874462, "stop": 1725509874462}], "start": 1725509874462, "stop": 1725509874515}
\ No newline at end of file
{"uuid": "a015bb0e-f52a-40ab-b076-3fc55aa12905", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509873920, "stop": 1725509873920}], "start": 1725509873920, "stop": 1725509873967}
\ No newline at end of file
{"uuid": "54db544c-0a87-4073-855a-bee075b7fe33", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875030, "stop": 1725509875030}], "start": 1725509875030, "stop": 1725509875074}
\ No newline at end of file
{"uuid": "df671dc7-9271-4046-9ca8-a810a3b0865a", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509873838, "stop": 1725509873838}], "start": 1725509873838, "stop": 1725509873902}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200}
\ No newline at end of file
{"uuid": "021710ff-7746-4256-8dcc-bee839778e41", "befores": [{"name": "method", "status": "passed", "start": 1725509873792, "stop": 1725509873792}], "start": 1725509873792, "stop": 1725509873833}
\ No newline at end of file
{"uuid": "5dfb399b-aadb-4dca-9cf5-1a379910e6bb", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509874199, "stop": 1725509874199}], "start": 1725509874198, "stop": 1725509874232}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "12fd06e2-fba0-4e97-bc71-78dc4ac2f495-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509875131, "stop": 1725509875157, "uuid": "7b394fb4-02f8-4a3b-910c-cc6907718049", "historyId": "878a8b6a3f33c260878ce369810ee073", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "77224ead-4b3a-41a2-a028-c347401ec4e8", "befores": [{"name": "url", "status": "passed", "start": 1725509874935, "stop": 1725509874935}], "start": 1725509874935, "stop": 1725509874976}
\ No newline at end of file
{"uuid": "ba070870-e6ab-46fc-af04-ae940e5fd942", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875261, "stop": 1725509875261}], "start": 1725509875261, "stop": 1725509875294}
\ No newline at end of file
{"uuid": "2330174c-b1f7-416c-b396-183ce6e95c62", "befores": [{"name": "update_key", "status": "passed", "start": 1725509873920, "stop": 1725509873920}], "start": 1725509873920, "stop": 1725509873966}
\ No newline at end of file
{"uuid": "41338d60-b3c3-49e7-9abd-942d859fb88a", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874609, "stop": 1725509874609}], "start": 1725509874609, "stop": 1725509874642}
\ No newline at end of file
{"uuid": "75edd730-ac24-43b6-b254-e8c2905c9b24", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509874936, "stop": 1725509874936}], "start": 1725509874936, "stop": 1725509874973}
\ No newline at end of file
{"uuid": "79ca5d85-e38d-4e69-8549-943c347d854e", "befores": [{"name": "method", "status": "passed", "start": 1725509874935, "stop": 1725509874935}], "start": 1725509874935, "stop": 1725509874975}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]", "status": "passed", "attachments": [{"name": "log", "source": "6b698673-6827-471f-b3f0-3e694954b030-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': 'admin', 'password': ''}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874526, "stop": 1725509874557, "uuid": "19062a21-71e6-4646-a836-3a7dc87236ce", "historyId": "9cdfc96e3129cbb4c7fa5ec8d0c6d4f1", "testCaseId": "76d35760a932e639b00339c72f742819", "fullName": "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lao_zhang"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lao_zhang.test_bpm"}]}
\ No newline at end of file
{"uuid": "ea71953a-0a2a-403a-9cb4-83b061ef93cb", "befores": [{"name": "url", "status": "passed", "start": 1725509874705, "stop": 1725509874705}], "start": 1725509874705, "stop": 1725509874768}
\ No newline at end of file
{"uuid": "cc59edd5-a0cc-43c9-838a-a88b578d45aa", "befores": [{"name": "method", "status": "passed", "start": 1725509875080, "stop": 1725509875080}], "start": 1725509875080, "stop": 1725509875125}
\ No newline at end of file
{"uuid": "50b23217-1426-4023-8141-d754fdee7378", "befores": [{"name": "sql_data", "status": "passed", "start": 1725509873793, "stop": 1725509873793}], "start": 1725509873793, "stop": 1725509873830}
\ No newline at end of file
{"uuid": "c88afe06-5612-46da-b748-d4b269749b0e", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874782, "stop": 1725509874782}], "start": 1725509874782, "stop": 1725509874819}
\ No newline at end of file
{"uuid": "70a59917-566b-434c-a44b-8c693a2098a2", "befores": [{"name": "method", "status": "passed", "start": 1725509874198, "stop": 1725509874198}], "start": 1725509874198, "stop": 1725509874238}
\ No newline at end of file
{"uuid": "24158b06-2c25-4107-9ff6-baedc6a0280f", "befores": [{"name": "mime", "status": "passed", "start": 1725509873792, "stop": 1725509873792}], "start": 1725509873792, "stop": 1725509873832}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "908faab9-b8e1-4f5e-910a-3acb8bfbe34f", "befores": [{"name": "expect_data", "status": "passed", "start": 1725509875081, "stop": 1725509875081}], "start": 1725509875081, "stop": 1725509875123}
\ No newline at end of file
{"uuid": "5a2bca86-9ec4-4430-9fb5-b2505aab6591", "befores": [{"name": "mime", "status": "passed", "start": 1725509873920, "stop": 1725509873920}], "start": 1725509873919, "stop": 1725509873970}
\ No newline at end of file
{"uuid": "e5b82337-45a4-44ed-924a-9da7da0be243", "befores": [{"name": "update_key", "status": "passed", "start": 1725509874243, "stop": 1725509874243}], "start": 1725509874243, "stop": 1725509874279}
\ No newline at end of file
{"uuid": "451071b2-c678-461c-b8dc-0caac2a2f32c", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874659, "stop": 1725509874659}], "start": 1725509874659, "stop": 1725509874699}
\ No newline at end of file
{"uuid": "576971ba-73c9-4d36-a3e3-7a59d54a7f7b", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509875181, "stop": 1725509875181}], "start": 1725509875181, "stop": 1725509875213}
\ No newline at end of file
{"uuid": "b8215dec-013b-4fa8-af6f-d1211f4b5d1e", "befores": [{"name": "mime", "status": "passed", "start": 1725509874198, "stop": 1725509874198}], "start": 1725509874198, "stop": 1725509874237}
\ No newline at end of file
{"uuid": "88f4c499-cdaa-471c-91e8-947beb9df775", "befores": [{"name": "case_data", "status": "passed", "start": 1725509875130, "stop": 1725509875130}], "start": 1725509875130, "stop": 1725509875172}
\ No newline at end of file
{"name": "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3B90>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3B90>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError"}, "attachments": [{"name": "log", "source": "aa328651-5ef4-450e-b05e-851043d6db2b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "method", "value": "'POST'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case_data", "value": "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"}, {"name": "expect_data", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1725509874936, "stop": 1725509874957, "uuid": "4f140660-245b-4efb-9908-5bb18fd29495", "historyId": "20a9dde76564254d92ac1acd705592d1", "testCaseId": "30413c9ad577094fd4f26156c81f01f9", "fullName": "test_case.test_lisi.test_bpm.TestBPM#test_bpm", "labels": [{"name": "parentSuite", "value": "test_case.test_lisi"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-4FFIKGU"}, {"name": "thread", "value": "17444-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_lisi.test_bpm"}]}
\ No newline at end of file
{"uuid": "2d2cb67f-339b-46d9-a459-989a562dc98c", "befores": [{"name": "sql_type", "status": "passed", "start": 1725509874782, "stop": 1725509874782}], "start": 1725509874782, "stop": 1725509874818}
\ No newline at end of file
{"uuid": "e56577fb-5e84-4ab1-9716-0c37cf549b13", "befores": [{"name": "case_data", "status": "passed", "start": 1725509874896, "stop": 1725509874896}], "start": 1725509874896, "stop": 1725509874929}
\ No newline at end of file
{"uuid": "f205520b-9d21-4a9c-a890-3759dbe8ef33", "befores": [{"name": "url", "status": "passed", "start": 1725509874608, "stop": 1725509874608}], "start": 1725509874608, "stop": 1725509874655}
\ No newline at end of file
body {
font-family: Helvetica, Arial, sans-serif;
font-size: 12px;
/* do not increase min-width as some may use split screens */
min-width: 800px;
color: #999;
}
h1 {
font-size: 24px;
color: black;
}
h2 {
font-size: 16px;
color: black;
}
p {
color: black;
}
a {
color: #999;
}
table {
border-collapse: collapse;
}
/******************************
* SUMMARY INFORMATION
******************************/
#environment td {
padding: 5px;
border: 1px solid #e6e6e6;
vertical-align: top;
}
#environment tr:nth-child(odd) {
background-color: #f6f6f6;
}
#environment ul {
margin: 0;
padding: 0 20px;
}
/******************************
* TEST RESULT COLORS
******************************/
span.passed,
.passed .col-result {
color: green;
}
span.skipped,
span.xfailed,
span.rerun,
.skipped .col-result,
.xfailed .col-result,
.rerun .col-result {
color: orange;
}
span.error,
span.failed,
span.xpassed,
.error .col-result,
.failed .col-result,
.xpassed .col-result {
color: red;
}
.col-links__extra {
margin-right: 3px;
}
/******************************
* RESULTS TABLE
*
* 1. Table Layout
* 2. Extra
* 3. Sorting items
*
******************************/
/*------------------
* 1. Table Layout
*------------------*/
#results-table {
border: 1px solid #e6e6e6;
color: #999;
font-size: 12px;
width: 100%;
}
#results-table th,
#results-table td {
padding: 5px;
border: 1px solid #e6e6e6;
text-align: left;
}
#results-table th {
font-weight: bold;
}
/*------------------
* 2. Extra
*------------------*/
.logwrapper {
max-height: 230px;
overflow-y: scroll;
background-color: #e6e6e6;
}
.logwrapper.expanded {
max-height: none;
}
.logwrapper.expanded .logexpander:after {
content: "collapse [-]";
}
.logwrapper .logexpander {
z-index: 1;
position: sticky;
top: 10px;
width: max-content;
border: 1px solid;
border-radius: 3px;
padding: 5px 7px;
margin: 10px 0 10px calc(100% - 80px);
cursor: pointer;
background-color: #e6e6e6;
}
.logwrapper .logexpander:after {
content: "expand [+]";
}
.logwrapper .logexpander:hover {
color: #000;
border-color: #000;
}
.logwrapper .log {
min-height: 40px;
position: relative;
top: -50px;
height: calc(100% + 50px);
border: 1px solid #e6e6e6;
color: black;
display: block;
font-family: "Courier New", Courier, monospace;
padding: 5px;
padding-right: 80px;
white-space: pre-wrap;
}
div.media {
border: 1px solid #e6e6e6;
float: right;
height: 240px;
margin: 0 5px;
overflow: hidden;
width: 320px;
}
.media-container {
display: grid;
grid-template-columns: 25px auto 25px;
align-items: center;
flex: 1 1;
overflow: hidden;
height: 200px;
}
.media-container--fullscreen {
grid-template-columns: 0px auto 0px;
}
.media-container__nav--right,
.media-container__nav--left {
text-align: center;
cursor: pointer;
}
.media-container__viewport {
cursor: pointer;
text-align: center;
height: inherit;
}
.media-container__viewport img,
.media-container__viewport video {
object-fit: cover;
width: 100%;
max-height: 100%;
}
.media__name,
.media__counter {
display: flex;
flex-direction: row;
justify-content: space-around;
flex: 0 0 25px;
align-items: center;
}
.collapsible td:not(.col-links) {
cursor: pointer;
}
.collapsible td:not(.col-links):hover::after {
color: #bbb;
font-style: italic;
cursor: pointer;
}
.col-result {
width: 130px;
}
.col-result:hover::after {
content: " (hide details)";
}
.col-result.collapsed:hover::after {
content: " (show details)";
}
#environment-header h2:hover::after {
content: " (hide details)";
color: #bbb;
font-style: italic;
cursor: pointer;
font-size: 12px;
}
#environment-header.collapsed h2:hover::after {
content: " (show details)";
color: #bbb;
font-style: italic;
cursor: pointer;
font-size: 12px;
}
/*------------------
* 3. Sorting items
*------------------*/
.sortable {
cursor: pointer;
}
.sortable.desc:after {
content: " ";
position: relative;
left: 5px;
bottom: -12.5px;
border: 10px solid #4caf50;
border-bottom: 0;
border-left-color: transparent;
border-right-color: transparent;
}
.sortable.asc:after {
content: " ";
position: relative;
left: 5px;
bottom: 12.5px;
border: 10px solid #4caf50;
border-top: 0;
border-left-color: transparent;
border-right-color: transparent;
}
.hidden, .summary__reload__button.hidden {
display: none;
}
.summary__data {
flex: 0 0 550px;
}
.summary__reload {
flex: 1 1;
display: flex;
justify-content: center;
}
.summary__reload__button {
flex: 0 0 300px;
display: flex;
color: white;
font-weight: bold;
background-color: #4caf50;
text-align: center;
justify-content: center;
align-items: center;
border-radius: 3px;
cursor: pointer;
}
.summary__reload__button:hover {
background-color: #46a049;
}
.summary__spacer {
flex: 0 0 550px;
}
.controls {
display: flex;
justify-content: space-between;
}
.filters,
.collapse {
display: flex;
align-items: center;
}
.filters button,
.collapse button {
color: #999;
border: none;
background: none;
cursor: pointer;
text-decoration: underline;
}
.filters button:hover,
.collapse button:hover {
color: #ccc;
}
.filter__label {
margin-right: 10px;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822268133376"}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546822863724544"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831546815687270400'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546818736529408"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546821848702976"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822473654272"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822054223872"}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg, 用例数据:{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}, 期望数据:{'message': '加入成功'}, 服务器返回数据:{"state":true,"message":"加入成功","value":"","code":200}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546823161520128"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819197902848"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546820259061760"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546822989553664"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819734773760"}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546819952877568"}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjQsImlhdCI6MTcyNTUwOTc2NH0.J_HOuG3fdAoTTnfa4mILK97aLZhTY0B32tacncdLvsupfuEbvQz61Xpv8MTiSorLhkjerDTNengw-rbASx7SNA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546822700146688"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546818946244608"}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546820129038336"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546820485554176"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819416006656"}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546821634793472"}
\ No newline at end of file
INFO  张三:test_bpm.py:57 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams, 用例数据:{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}, 期望数据:{'message': '保存组织参数成功!'}, 服务器返回数据:{"state":true,"message":"保存组织参数成功!","value":"","code":200}
\ No newline at end of file
ERROR  张三:test_bpm.py:54 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true}
\ No newline at end of file
"Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"","","","23","0","8","0","0"
{
"uid" : "b1a8273437954620fa374b796ffaacdd",
"name" : "behaviors",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"uid" : "1b1ea3622c7cbb0e",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}", "{'message': '添加维度成功'}", "'post'", "'application/json'", "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}", "'delete'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"uid" : "80a39a45c3baceac",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}", "{'message': '更新维度成功'}", "'put'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"uid" : "827168807ae28c0",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功'}", "'POST'", "'json'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"uid" : "68edada79f2c2c5c",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}", "{'message': '加入成功'}", "'POST'", "'query'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"uid" : "400f0b538799da08",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}", "{'message': '保存组织参数成功!'}", "'POST'", "'query|json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"uid" : "3c7a94555e07633b",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'testAddOrg'", "{'message': '删除组织成功!'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"uid" : "b7ed8bb51662c63b",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'ids': '需要更新'}", "{'message': '删除维度成功!'}", "'delete'", "'query'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}", "'select'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "65bf4ee0f2e87568",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "da61aa4a47447f1",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "6c322c83493913f2",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "da0b4417fe54e65b",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "8c18ed11d24a69cf",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "c56320550a22c0db",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "34ae4840c9eb7a0a",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "9adb4eda7ef664b4",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "35d5cf5672473543",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "ba062d37a9003d15",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "46efc3b9e725d261",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "ad8b5e83abae28e2",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "a0e7fbd23128cdaf",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "981f584b9cbf47d6",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "ead755efe8123e8",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "620574a4f8cb8351",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "10d62acf0e332229",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "800d22e4a7f18199",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "75224b36c281fcd6",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "bae95a6a19479944",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "passed",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "91abfb7f4e48e0a7",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "83d8b1f10123a10c",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "8727397adfee82f7",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "cbcafb24c8f79dae",
"parentUid" : "b1a8273437954620fa374b796ffaacdd",
"status" : "failed",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
} ]
}
\ No newline at end of file
"Category","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"Product defects","23","0","0","0","0"
{
"uid" : "4b4757e66a1912dae1a509f688f20b0f",
"name" : "categories",
"children" : [ {
"name" : "Product defects",
"children" : [ {
"name" : "AssertionError: 断言失败",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"uid" : "1b1ea3622c7cbb0e",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}", "{'message': '添加维度成功'}", "'post'", "'application/json'", "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}", "'delete'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"uid" : "80a39a45c3baceac",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}", "{'message': '更新维度成功'}", "'put'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"uid" : "827168807ae28c0",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功'}", "'POST'", "'json'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"uid" : "3c7a94555e07633b",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'testAddOrg'", "{'message': '删除组织成功!'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"uid" : "b7ed8bb51662c63b",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'ids': '需要更新'}", "{'message': '删除维度成功!'}", "'delete'", "'query'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}", "'select'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "da61aa4a47447f1",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "6c322c83493913f2",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "da0b4417fe54e65b",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "8c18ed11d24a69cf",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "c56320550a22c0db",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "35d5cf5672473543",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "ba062d37a9003d15",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "46efc3b9e725d261",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "ad8b5e83abae28e2",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "981f584b9cbf47d6",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "ead755efe8123e8",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "620574a4f8cb8351",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "10d62acf0e332229",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "800d22e4a7f18199",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "91abfb7f4e48e0a7",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "83d8b1f10123a10c",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "8727397adfee82f7",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "cbcafb24c8f79dae",
"parentUid" : "19135fd4a1c65086de1dc2a02ed9d4e0",
"status" : "failed",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
} ],
"uid" : "19135fd4a1c65086de1dc2a02ed9d4e0"
} ],
"uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d"
} ]
}
\ No newline at end of file
{
"uid" : "83edc06c07f9ae9e47eb6dd1b683e4e2",
"name" : "packages",
"children" : [ {
"name" : "test_case",
"children" : [ {
"name" : "test_demo.test_bpm",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"uid" : "1b1ea3622c7cbb0e",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}", "{'message': '添加维度成功'}", "'post'", "'application/json'", "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}", "'delete'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"uid" : "80a39a45c3baceac",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}", "{'message': '更新维度成功'}", "'put'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"uid" : "827168807ae28c0",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功'}", "'POST'", "'json'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"uid" : "68edada79f2c2c5c",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}", "{'message': '加入成功'}", "'POST'", "'query'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"uid" : "400f0b538799da08",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "passed",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}", "{'message': '保存组织参数成功!'}", "'POST'", "'query|json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"uid" : "3c7a94555e07633b",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'testAddOrg'", "{'message': '删除组织成功!'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"uid" : "b7ed8bb51662c63b",
"parentUid" : "408359e4381982766f71d289f282adbb",
"status" : "failed",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'ids': '需要更新'}", "{'message': '删除维度成功!'}", "'delete'", "'query'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}", "'select'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "test_demo.test_bpm"
}, {
"name" : "test_lao_zhang.test_bpm",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "65bf4ee0f2e87568",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "passed",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "da61aa4a47447f1",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "6c322c83493913f2",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "da0b4417fe54e65b",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "8c18ed11d24a69cf",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "c56320550a22c0db",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "34ae4840c9eb7a0a",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "passed",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "9adb4eda7ef664b4",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "passed",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "35d5cf5672473543",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "ba062d37a9003d15",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "46efc3b9e725d261",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "ad8b5e83abae28e2",
"parentUid" : "dc708df6f511ac1e3a3109b43cee7add",
"status" : "failed",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
} ],
"uid" : "test_lao_zhang.test_bpm"
}, {
"name" : "test_lisi.test_bpm",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "a0e7fbd23128cdaf",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "passed",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "981f584b9cbf47d6",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "ead755efe8123e8",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "620574a4f8cb8351",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "10d62acf0e332229",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "800d22e4a7f18199",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "75224b36c281fcd6",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "passed",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "bae95a6a19479944",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "passed",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "91abfb7f4e48e0a7",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "83d8b1f10123a10c",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "8727397adfee82f7",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "cbcafb24c8f79dae",
"parentUid" : "dd7dee3c492b4ad3464c8b0d74493779",
"status" : "failed",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
} ],
"uid" : "test_lisi.test_bpm"
} ],
"uid" : "3b2e467b921b0ea8d4803b9c79d92d0c"
} ]
}
\ No newline at end of file
"Status","Start Time","Stop Time","Duration in ms","Parent Suite","Suite","Sub Suite","Test Class","Test Method","Name","Description"
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","19","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",""
"passed","Thu Sep 05 12:17:53 CST 2024","Thu Sep 05 12:17:54 CST 2024","36","test_case.test_demo","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",""
"passed","Thu Sep 05 12:17:53 CST 2024","Thu Sep 05 12:17:53 CST 2024","44","test_case.test_demo","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","19","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",""
"passed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","30","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","21","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",""
"failed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","20","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",""
"failed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","17","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",""
"passed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","29","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",""
"failed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","26","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",""
"failed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","17","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",""
"passed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","31","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",""
"failed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","27","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","28","test_case.test_demo","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",""
"failed","Thu Sep 05 12:17:53 CST 2024","Thu Sep 05 12:17:53 CST 2024","50","test_case.test_demo","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",""
"failed","Thu Sep 05 12:17:53 CST 2024","Thu Sep 05 12:17:53 CST 2024","21","test_case.test_demo","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",""
"passed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","29","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","23","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","43","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",""
"passed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","31","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","22","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","41","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","16","test_case.test_demo","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",""
"failed","Thu Sep 05 12:17:53 CST 2024","Thu Sep 05 12:17:53 CST 2024","45","test_case.test_demo","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","28","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",""
"failed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","27","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","28","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:55 CST 2024","27","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",""
"passed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","29","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",""
"failed","Thu Sep 05 12:17:54 CST 2024","Thu Sep 05 12:17:54 CST 2024","28","test_case.test_lao_zhang","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",""
"failed","Thu Sep 05 12:17:55 CST 2024","Thu Sep 05 12:17:55 CST 2024","39","test_case.test_lisi","test_bpm","TestBPM","","","test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",""
{
"uid" : "98d3104e051c652961429bf95fa0b5d6",
"name" : "suites",
"children" : [ {
"name" : "test_case.test_demo",
"children" : [ {
"name" : "test_bpm",
"children" : [ {
"name" : "TestBPM",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"uid" : "1b1ea3622c7cbb0e",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}", "{'message': '添加维度成功'}", "'post'", "'application/json'", "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}", "'delete'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"uid" : "80a39a45c3baceac",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}", "{'message': '更新维度成功'}", "'put'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"uid" : "827168807ae28c0",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功'}", "'POST'", "'json'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"uid" : "68edada79f2c2c5c",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}", "{'message': '加入成功'}", "'POST'", "'query'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"uid" : "400f0b538799da08",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "passed",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}", "{'message': '保存组织参数成功!'}", "'POST'", "'query|json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"uid" : "3c7a94555e07633b",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'testAddOrg'", "{'message': '删除组织成功!'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"uid" : "b7ed8bb51662c63b",
"parentUid" : "ef69bf2bb1b41f3ca3f11617396f6a81",
"status" : "failed",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'ids': '需要更新'}", "{'message': '删除维度成功!'}", "'delete'", "'query'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}", "'select'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "ef69bf2bb1b41f3ca3f11617396f6a81"
} ],
"uid" : "5f023a47dd31329b45d44784c00131e4"
} ],
"uid" : "7a8b7e46177bbd4d1efa8551fea4a38d"
}, {
"name" : "test_case.test_lao_zhang",
"children" : [ {
"name" : "test_bpm",
"children" : [ {
"name" : "TestBPM",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "65bf4ee0f2e87568",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "passed",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "da61aa4a47447f1",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "6c322c83493913f2",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "da0b4417fe54e65b",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "8c18ed11d24a69cf",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "c56320550a22c0db",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "34ae4840c9eb7a0a",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "passed",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "9adb4eda7ef664b4",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "passed",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "35d5cf5672473543",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "ba062d37a9003d15",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "46efc3b9e725d261",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "ad8b5e83abae28e2",
"parentUid" : "4f6941503e1db6580f150dde2427adc4",
"status" : "failed",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
} ],
"uid" : "4f6941503e1db6580f150dde2427adc4"
} ],
"uid" : "460caf91eafa6285e04f12bdb4dacd89"
} ],
"uid" : "f807542b498ef7f359918df354af54f0"
}, {
"name" : "test_case.test_lisi",
"children" : [ {
"name" : "test_bpm",
"children" : [ {
"name" : "TestBPM",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "a0e7fbd23128cdaf",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "passed",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "981f584b9cbf47d6",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "ead755efe8123e8",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "620574a4f8cb8351",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "10d62acf0e332229",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "800d22e4a7f18199",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "75224b36c281fcd6",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "passed",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "bae95a6a19479944",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "passed",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "91abfb7f4e48e0a7",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "83d8b1f10123a10c",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "8727397adfee82f7",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "cbcafb24c8f79dae",
"parentUid" : "f93dc438f21603c69f64d3794be05f11",
"status" : "failed",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
} ],
"uid" : "f93dc438f21603c69f64d3794be05f11"
} ],
"uid" : "97d31354c3c72ab56901e06e592db3e9"
} ],
"uid" : "d6bee4aab82b7aa6ffaaa10289749982"
} ]
}
\ No newline at end of file
{
"uid" : "10d62acf0e332229",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "4479ea4b1d75c6673685eb0a9d802580",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C27E0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C27E0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C27E0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C27E0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "3e071b7c96abce70",
"name" : "log",
"source" : "3e071b7c96abce70.txt",
"type" : "text/plain",
"size" : 499
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "10d62acf0e332229.json",
"parameterValues" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "1b1ea3622c7cbb0e",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "a6f6de20f1d47502e15e1b34c901fc80",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876866AB0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', method = 'post', mime = 'application/json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, expect_data = {'message': '添加维度成功'}\nsql_type = 'delete', sql_data = {'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876866AB0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', method = 'post', mime = 'application/json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, expect_data = {'message': '添加维度成功'}\nsql_type = 'delete', sql_data = {'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_req",
"time" : {
"start" : 1725509873455,
"stop" : 1725509873501,
"duration" : 46
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509873410,
"stop" : 1725509873455,
"duration" : 45
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876866AB0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', method = 'post', mime = 'application/json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, expect_data = {'message': '添加维度成功'}\nsql_type = 'delete', sql_data = {'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876866AB0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', method = 'post', mime = 'application/json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, expect_data = {'message': '添加维度成功'}\nsql_type = 'delete', sql_data = {'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "c2f0527f03425ee7",
"name" : "log",
"source" : "c2f0527f03425ee7.txt",
"type" : "text/plain",
"size" : 392
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875451,
"stop" : 1725509875451,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875453,
"stop" : 1725509875453,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}"
}, {
"name" : "expect_data",
"value" : "{'message': '添加维度成功'}"
}, {
"name" : "method",
"value" : "'post'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}"
}, {
"name" : "sql_type",
"value" : "'delete'"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "1b1ea3622c7cbb0e.json",
"parameterValues" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}", "{'message': '添加维度成功'}", "'post'", "'application/json'", "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}", "'delete'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}
\ No newline at end of file
{
"uid" : "34ae4840c9eb7a0a",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "9cdfc96e3129cbb4c7fa5ec8d0c6d4f1",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "a51bfd87e14f0f6f",
"name" : "log",
"source" : "a51bfd87e14f0f6f.txt",
"type" : "text/plain",
"size" : 315
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': ''}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "34ae4840c9eb7a0a.json",
"parameterValues" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "35d5cf5672473543",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "a4925b7a43beba15ce710d3a2d8ba3f6",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D250>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D250>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D250>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D250>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "82ce2798a1aecc94",
"name" : "log",
"source" : "82ce2798a1aecc94.txt",
"type" : "text/plain",
"size" : 962
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'post'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "35d5cf5672473543.json",
"parameterValues" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "3c7a94555e07633b",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "5b9cec47ee0edd555ba6e1220ea0e625",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876427290>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/org/v1/org/deleteOrg', method = 'POST', mime = 'json', case_data = 'testAddOrg', expect_data = {'message': '删除组织成功!'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE assert '删除组织成功!' == '部分删除成功,其中编码为...dOrg\"】的组织不存在;'\nE \nE - 部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;\nE + 删除组织成功!\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876427290>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/org/v1/org/deleteOrg', method = 'POST', mime = 'json', case_data = 'testAddOrg', expect_data = {'message': '删除组织成功!'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_req",
"time" : {
"start" : 1725509873455,
"stop" : 1725509873501,
"duration" : 46
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509873410,
"stop" : 1725509873455,
"duration" : 45
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876427290>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/org/v1/org/deleteOrg', method = 'POST', mime = 'json', case_data = 'testAddOrg', expect_data = {'message': '删除组织成功!'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE assert '删除组织成功!' == '部分删除成功,其中编码为...dOrg\"】的组织不存在;'\nE \nE - 部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;\nE + 删除组织成功!\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876427290>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/org/v1/org/deleteOrg', method = 'POST', mime = 'json', case_data = 'testAddOrg', expect_data = {'message': '删除组织成功!'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "55249d0cea866f2d",
"name" : "log",
"source" : "55249d0cea866f2d.txt",
"type" : "text/plain",
"size" : 348
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875451,
"stop" : 1725509875451,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875453,
"stop" : 1725509875453,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "'testAddOrg'"
}, {
"name" : "expect_data",
"value" : "{'message': '删除组织成功!'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "3c7a94555e07633b.json",
"parameterValues" : [ "'testAddOrg'", "{'message': '删除组织成功!'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}
\ No newline at end of file
{
"uid" : "400f0b538799da08",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "fd1f5cf8cf0975a36ecfc6a676bd4dfa",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_req",
"time" : {
"start" : 1725509873455,
"stop" : 1725509873501,
"duration" : 46
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509873410,
"stop" : 1725509873455,
"duration" : 45
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "db78e07989a10f8b",
"name" : "log",
"source" : "db78e07989a10f8b.txt",
"type" : "text/plain",
"size" : 403
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875451,
"stop" : 1725509875451,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875453,
"stop" : 1725509875453,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}"
}, {
"name" : "expect_data",
"value" : "{'message': '保存组织参数成功!'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'query|json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "400f0b538799da08.json",
"parameterValues" : [ "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}", "{'message': '保存组织参数成功!'}", "'POST'", "'query|json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}
\ No newline at end of file
{
"uid" : "46efc3b9e725d261",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "4365a6de5e8b42ab1bd856faf33b87f7",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876335910>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000020876A69800>('message')\nE + where <built-in method get of dict object at 0x0000020876A69800> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876335910>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876335910>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000020876A69800>('message')\nE + where <built-in method get of dict object at 0x0000020876A69800> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876335910>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "67c68f16bc2428b5",
"name" : "log",
"source" : "67c68f16bc2428b5.txt",
"type" : "text/plain",
"size" : 735
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "46efc3b9e725d261.json",
"parameterValues" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "620574a4f8cb8351",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "fc03ee40552f426cfe867dad8cd957fd",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3860>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3860>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3860>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3860>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "6b6a9905da9b3349",
"name" : "log",
"source" : "6b6a9905da9b3349.txt",
"type" : "text/plain",
"size" : 543
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "620574a4f8cb8351.json",
"parameterValues" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "65bf4ee0f2e87568",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "65755708ce0e8df98768842417beddc8",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "aa3c6694b1f1ddb6",
"name" : "log",
"source" : "aa3c6694b1f1ddb6.txt",
"type" : "text/plain",
"size" : 804
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "65bf4ee0f2e87568.json",
"parameterValues" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "68edada79f2c2c5c",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "5945f99868ec59904be0e0c99840002e",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_req",
"time" : {
"start" : 1725509873455,
"stop" : 1725509873501,
"duration" : 46
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509873410,
"stop" : 1725509873455,
"duration" : 45
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "71c542665a48cce",
"name" : "log",
"source" : "71c542665a48cce.txt",
"type" : "text/plain",
"size" : 322
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875451,
"stop" : 1725509875451,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875453,
"stop" : 1725509875453,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}"
}, {
"name" : "expect_data",
"value" : "{'message': '加入成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "68edada79f2c2c5c.json",
"parameterValues" : [ "{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}", "{'message': '加入成功'}", "'POST'", "'query'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg'" ]
}
\ No newline at end of file
{
"uid" : "6c322c83493913f2",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "fb4addf01045fbe8c5cdee39d26ad4eb",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DA60>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DA60>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DA60>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DA60>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "c54e1459674203fa",
"name" : "log",
"source" : "c54e1459674203fa.txt",
"type" : "text/plain",
"size" : 507
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "6c322c83493913f2.json",
"parameterValues" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "75224b36c281fcd6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "8a6f5940a978fd4ecaa53e97a35ae776",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "c136c3aa7037d413",
"name" : "log",
"source" : "c136c3aa7037d413.txt",
"type" : "text/plain",
"size" : 315
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': ''}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "75224b36c281fcd6.json",
"parameterValues" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "800d22e4a7f18199",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "878a8b6a3f33c260878ce369810ee073",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2360>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "61465377a4dd7876",
"name" : "log",
"source" : "61465377a4dd7876.txt",
"type" : "text/plain",
"size" : 506
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "800d22e4a7f18199.json",
"parameterValues" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "80a39a45c3baceac",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "15d2daeb579bb5b1c6274efce6552f25",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020873919280>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/updateDem', method = 'put', mime = 'json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, expect_data = {'message': '更新维度成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '更新维度成功' == '更新维度成功!'\nE \nE - 更新维度成功!\nE ? -\nE + 更新维度成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020873919280>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/updateDem', method = 'put', mime = 'json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, expect_data = {'message': '更新维度成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_req",
"time" : {
"start" : 1725509873455,
"stop" : 1725509873501,
"duration" : 46
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509873410,
"stop" : 1725509873455,
"duration" : 45
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020873919280>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/updateDem', method = 'put', mime = 'json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, expect_data = {'message': '更新维度成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '更新维度成功' == '更新维度成功!'\nE \nE - 更新维度成功!\nE ? -\nE + 更新维度成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020873919280>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/updateDem', method = 'put', mime = 'json'\ncase_data = {'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, expect_data = {'message': '更新维度成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "90c5e8cdd70dee67",
"name" : "log",
"source" : "90c5e8cdd70dee67.txt",
"type" : "text/plain",
"size" : 386
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875451,
"stop" : 1725509875451,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875453,
"stop" : 1725509875453,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}"
}, {
"name" : "expect_data",
"value" : "{'message': '更新维度成功'}"
}, {
"name" : "method",
"value" : "'put'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "80a39a45c3baceac.json",
"parameterValues" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}", "{'message': '更新维度成功'}", "'put'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'" ]
}
\ No newline at end of file
{
"uid" : "827168807ae28c0",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "8601057ef64fcd13fa3bee37103323a1",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x000002087641A720>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>, url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'\nmethod = 'POST', mime = 'json', case_data = {'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x000002087641A720>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>, url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'\nmethod = 'POST', mime = 'json', case_data = {'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_req",
"time" : {
"start" : 1725509873455,
"stop" : 1725509873501,
"duration" : 46
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509873410,
"stop" : 1725509873455,
"duration" : 45
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x000002087641A720>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>, url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'\nmethod = 'POST', mime = 'json', case_data = {'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '添加组织成功' == '添加组织成功!'\nE \nE - 添加组织成功!\nE ? -\nE + 添加组织成功\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x000002087641A720>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>, url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'\nmethod = 'POST', mime = 'json', case_data = {'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', ...}\nexpect_data = {'message': '添加组织成功'}, sql_type = 'delete|select'\nsql_data = {'delete': 'delete from uc_org where CODE_=\"testAddOrg\";', 'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; '}\nupdate_key = 'demId'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "ba84caebf1721f87",
"name" : "log",
"source" : "ba84caebf1721f87.txt",
"type" : "text/plain",
"size" : 456
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875451,
"stop" : 1725509875451,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875453,
"stop" : 1725509875453,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "expect_data",
"value" : "{'message': '添加组织成功'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}"
}, {
"name" : "sql_type",
"value" : "'delete|select'"
}, {
"name" : "update_key",
"value" : "'demId'"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/org/v1/org/addOrg'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "827168807ae28c0.json",
"parameterValues" : [ "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功'}", "'POST'", "'json'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}
\ No newline at end of file
{
"uid" : "83d8b1f10123a10c",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "9b37711dbaecfc386d6840f06e7e961c",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C1010>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C1010>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C1010>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C1010>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "7b17b3f7d04f417f",
"name" : "log",
"source" : "7b17b3f7d04f417f.txt",
"type" : "text/plain",
"size" : 358
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': '123456'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "83d8b1f10123a10c.json",
"parameterValues" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "8727397adfee82f7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "4f9df20ffdc1503910911ac0849dd913",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3E60>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000020876A9B1C0>('message')\nE + where <built-in method get of dict object at 0x0000020876A9B1C0> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3E60>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3E60>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000020876A9B1C0>('message')\nE + where <built-in method get of dict object at 0x0000020876A9B1C0> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3E60>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "2eab968ff714447d",
"name" : "log",
"source" : "2eab968ff714447d.txt",
"type" : "text/plain",
"size" : 735
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "8727397adfee82f7.json",
"parameterValues" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "8c18ed11d24a69cf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "a175574a4d035c584ab8478e07968208",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DFD0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DFD0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DFD0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DFD0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'a'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "d884741f4f258e0a",
"name" : "log",
"source" : "d884741f4f258e0a.txt",
"type" : "text/plain",
"size" : 499
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "8c18ed11d24a69cf.json",
"parameterValues" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "91abfb7f4e48e0a7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "66b67242a399356d7f6f4ce06fbff864",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'post'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...aEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn', 'username': 'admin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "855857f4b52c603d",
"name" : "log",
"source" : "855857f4b52c603d.txt",
"type" : "text/plain",
"size" : 962
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'post'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "91abfb7f4e48e0a7.json",
"parameterValues" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "981f584b9cbf47d6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "20a9dde76564254d92ac1acd705592d1",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3B90>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3B90>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3B90>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C3B90>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "db341812f8b09b83",
"name" : "log",
"source" : "db341812f8b09b83.txt",
"type" : "text/plain",
"size" : 498
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "981f584b9cbf47d6.json",
"parameterValues" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "9adb4eda7ef664b4",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "f3de7943a90f208dcf1743488a8f191d",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "c984b85801c5a84",
"name" : "log",
"source" : "c984b85801c5a84.txt",
"type" : "text/plain",
"size" : 324
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': '#!$!@#!@#'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "9adb4eda7ef664b4.json",
"parameterValues" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "a0e7fbd23128cdaf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "7f0e6cd414aa2df632599593553f643f",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "42c0a1e45c554483",
"name" : "log",
"source" : "42c0a1e45c554483.txt",
"type" : "text/plain",
"size" : 804
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "a0e7fbd23128cdaf.json",
"parameterValues" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "ad8b5e83abae28e2",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "b410abf76c32aa74be9f6d0484c2321c",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876413260>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000020876A6BEC0>('message')\nE + where <built-in method get of dict object at 0x0000020876A6BEC0> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876413260>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876413260>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000020876A6BEC0>('message')\nE + where <built-in method get of dict object at 0x0000020876A6BEC0> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x0000020876413260>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "be46edc8297ef646",
"name" : "log",
"source" : "be46edc8297ef646.txt",
"type" : "text/plain",
"size" : 489
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "None"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/refresh'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "ad8b5e83abae28e2.json",
"parameterValues" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
}
\ No newline at end of file
{
"uid" : "b7ed8bb51662c63b",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"fullName" : "test_case.test_demo.test_bpm.TestBPM#test_bpm",
"historyId" : "e2d18f98d0b8345269ccaac9d47e0009",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876313BF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete', mime = 'query', case_data = {'ids': '1831546815687270400'}\nexpect_data = {'message': '删除维度成功!'}, sql_type = 'select', sql_data = {'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}\nupdate_key = 'ids'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功!' == '【requestsAdd...度下存在组织,不允许删除 '\nE \nE - 【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 \nE + 删除维度成功!\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876313BF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete', mime = 'query', case_data = {'ids': '1831546815687270400'}\nexpect_data = {'message': '删除维度成功!'}, sql_type = 'select', sql_data = {'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}\nupdate_key = 'ids'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_req",
"time" : {
"start" : 1725509873455,
"stop" : 1725509873501,
"duration" : 46
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509873410,
"stop" : 1725509873455,
"duration" : 45
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876313BF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete', mime = 'query', case_data = {'ids': '1831546815687270400'}\nexpect_data = {'message': '删除维度成功!'}, sql_type = 'select', sql_data = {'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}\nupdate_key = 'ids'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功!' == '【requestsAdd...度下存在组织,不允许删除 '\nE \nE - 【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 \nE + 删除维度成功!\n\ntest_case\\test_demo\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_demo.test_bpm.TestBPM object at 0x0000020876313BF0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208763FD310>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000020876411130>\nurl = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', method = 'delete', mime = 'query', case_data = {'ids': '1831546815687270400'}\nexpect_data = {'message': '删除维度成功!'}, sql_type = 'select', sql_data = {'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}\nupdate_key = 'ids'\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_demo\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "4bd9bae7aefc32b7",
"name" : "log",
"source" : "4bd9bae7aefc32b7.txt",
"type" : "text/plain",
"size" : 382
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875451,
"stop" : 1725509875451,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875453,
"stop" : 1725509875453,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_demo"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_demo.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'ids': '需要更新'}"
}, {
"name" : "expect_data",
"value" : "{'message': '删除维度成功!'}"
}, {
"name" : "method",
"value" : "'delete'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "update_key",
"value" : "'ids'"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "b7ed8bb51662c63b.json",
"parameterValues" : [ "{'ids': '需要更新'}", "{'message': '删除维度成功!'}", "'delete'", "'query'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}", "'select'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "ba062d37a9003d15",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "0cdf44136da9a3115d7402669edf9e44",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DE20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DE20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DE20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DE20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json', case_data = {'password': '123456', 'username': 'admin'}, expect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None\nupdate_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "cd95a46420d895b2",
"name" : "log",
"source" : "cd95a46420d895b2.txt",
"type" : "text/plain",
"size" : 358
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': '123456'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "ba062d37a9003d15.json",
"parameterValues" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "bae95a6a19479944",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "4f9935fe474283bd57d587585b81a84e",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "431c22667e1568a4",
"name" : "log",
"source" : "431c22667e1568a4.txt",
"type" : "text/plain",
"size" : 324
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'admin', 'password': '#!$!@#!@#'}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "bae95a6a19479944.json",
"parameterValues" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "c56320550a22c0db",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "8eb7301a32c31c1993acb65490cebb5d",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D4C0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D4C0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D4C0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688D4C0>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminxyz'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "a45cffcd61fd0fed",
"name" : "log",
"source" : "a45cffcd61fd0fed.txt",
"type" : "text/plain",
"size" : 506
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "c56320550a22c0db.json",
"parameterValues" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "cbcafb24c8f79dae",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "128729b1e005cfdd6f14c1aa881b6157",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768668A0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000020876AA1A80>('message')\nE + where <built-in method get of dict object at 0x0000020876AA1A80> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768668A0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768668A0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '刷新token成功' == None\nE + where None = <built-in method get of dict object at 0x0000020876AA1A80>('message')\nE + where <built-in method get of dict object at 0x0000020876AA1A80> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...UsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768668A0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/refresh', method = 'GET'\nmime = None, case_data = None, expect_data = {'message': '刷新token成功'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "e31eae414fcd9ac3",
"name" : "log",
"source" : "e31eae414fcd9ac3.txt",
"type" : "text/plain",
"size" : 489
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "None"
}, {
"name" : "expect_data",
"value" : "{'message': '刷新token成功'}"
}, {
"name" : "method",
"value" : "'GET'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/refresh'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "cbcafb24c8f79dae.json",
"parameterValues" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
}
\ No newline at end of file
{
"uid" : "da0b4417fe54e65b",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "63d2c1d0245c2602497f67b56e03a018",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DB20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DB20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DB20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688DB20>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQraz...2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': 'adminadminadminadminadminadminadminadminadmin'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "7c8d71418c9387a",
"name" : "log",
"source" : "7c8d71418c9387a.txt",
"type" : "text/plain",
"size" : 543
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "da0b4417fe54e65b.json",
"parameterValues" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "da61aa4a47447f1",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"fullName" : "test_case.test_lao_zhang.test_bpm.TestBPM#test_bpm",
"historyId" : "48abe8c46402ff324a761b2b5e506cc9",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688C500>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688C500>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_db",
"time" : {
"start" : 1725509874131,
"stop" : 1725509874160,
"duration" : 29
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874160,
"stop" : 1725509874198,
"duration" : 38
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688C500>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lao_zhang\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lao_zhang.test_bpm.TestBPM object at 0x000002087688C500>\nfix_db = <apiAutoTest_v3.common.db.DB object at 0x00000208769EE3F0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208763FE3F0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': ''}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lao_zhang\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "52297b711c29f1c",
"name" : "log",
"source" : "52297b711c29f1c.txt",
"type" : "text/plain",
"size" : 498
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875450,
"stop" : 1725509875450,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875449,
"stop" : 1725509875449,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lao_zhang"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lao_zhang.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "da61aa4a47447f1.json",
"parameterValues" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "ead755efe8123e8",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"fullName" : "test_case.test_lisi.test_bpm.TestBPM#test_bpm",
"historyId" : "5bd9b2d423d7ab258be173e3e344797e",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CC0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CC0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "fix_db",
"time" : {
"start" : 1725509874827,
"stop" : 1725509874861,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req",
"time" : {
"start" : 1725509874861,
"stop" : 1725509874895,
"duration" : 34
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "_session_faker",
"time" : {
"start" : 1725509873268,
"stop" : 1725509873410,
"duration" : 142
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败",
"statusTrace" : "self = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CC0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n> assert expect_data[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '账户错误或该租户未启用'\nE \nE - 账户错误或该租户未启用\nE + 账号或密码错误\n\ntest_case\\test_lisi\\test_bpm.py:52: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <apiAutoTest_v3.test_case.test_lisi.test_bpm.TestBPM object at 0x00000208768C2CC0>, fix_db = <apiAutoTest_v3.common.db.DB object at 0x0000020876A407A0>\nfix_req = <apiAutoTest_v3.request_method.request_method.RequestMethod object at 0x00000208768F8DD0>, url = 'http://36.139.193.99:8088/auth', method = 'POST'\nmime = 'application/json'\ncase_data = {'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ=', 'username': '#!$!@#!@#'}\nexpect_data = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"url, method, mime, case_data, expect_data, sql_type, sql_data, update_key\", excel.get_data())\n def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):\n \n # 判断sql语句的类型是否为delete\n if sql_type == \"delete\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 判断sql语句类型是否为select\n elif sql_type == \"select\":\n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 判断sql语句的类型是否为select|delete 或者为 delete|select\n elif sql_type == \"select|delete\" or sql_type == \"delete|select\":\n # 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件\n fix_db.delete(sql_data['delete'])\n \n # 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件\n select_result = fix_db.select(sql_data['select'])\n # 将查询结果更新到用例数据中\n case_data[update_key] = select_result\n \n # 使用RequestMethod类对象发送请求\n res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)\n \n # 断言\n try:\n for key in expect_data.keys():\n assert expect_data[key] == res.json().get(key)\n except AssertionError:\n log.error(f\"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}\")\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_case\\test_lisi\\test_bpm.py:55: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "593ce434feb27412",
"name" : "log",
"source" : "593ce434feb27412.txt",
"type" : "text/plain",
"size" : 507
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"shouldDisplayMessage" : true,
"attachmentsCount" : 1
},
"afterStages" : [ {
"name" : "fix_db::0",
"time" : {
"start" : 1725509875448,
"stop" : 1725509875448,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
}, {
"name" : "fix_req::0",
"time" : {
"start" : 1725509875446,
"stop" : 1725509875447,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"shouldDisplayMessage" : false,
"attachmentsCount" : 0
} ],
"labels" : [ {
"name" : "parentSuite",
"value" : "test_case.test_lisi"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "DESKTOP-4FFIKGU"
}, {
"name" : "thread",
"value" : "17444-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_lisi.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "case_data",
"value" : "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}"
}, {
"name" : "expect_data",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "method",
"value" : "'POST'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/auth'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ {
"name" : "Product defects",
"matchedStatuses" : [ ],
"flaky" : false
} ],
"tags" : [ ]
},
"source" : "ead755efe8123e8.json",
"parameterValues" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "ab17fc5a4eb3bca4b216b548c7f9fcbc",
"name" : "timeline",
"children" : [ {
"name" : "DESKTOP-4FFIKGU",
"children" : [ {
"name" : "17444-MainThread",
"children" : [ {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "65bf4ee0f2e87568",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"uid" : "a0e7fbd23128cdaf",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "46efc3b9e725d261",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "da61aa4a47447f1",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "c56320550a22c0db",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "ba062d37a9003d15",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"uid" : "800d22e4a7f18199",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "620574a4f8cb8351",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"uid" : "827168807ae28c0",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功'}", "'POST'", "'json'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\"; ', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "cbcafb24c8f79dae",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "91abfb7f4e48e0a7",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"uid" : "80a39a45c3baceac",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}", "{'message': '更新维度成功'}", "'put'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/updateDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"uid" : "b7ed8bb51662c63b",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'ids': '需要更新'}", "{'message': '删除维度成功!'}", "'delete'", "'query'", "{'select': 'select ID_ from uc_demension where CODE_=\"requestsAddDem\";'}", "'select'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"uid" : "ad8b5e83abae28e2",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "None", "{'message': '刷新token成功'}", "'GET'", "None", "None", "None", "None", "'http://36.139.193.99:8088/refresh'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"uid" : "400f0b538799da08",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}", "{'message': '保存组织参数成功!'}", "'POST'", "'query|json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"uid" : "83d8b1f10123a10c",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '123456'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"uid" : "35d5cf5672473543",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}", "{'message': '账号或密码错误'}", "'post'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"uid" : "981f584b9cbf47d6",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"uid" : "68edada79f2c2c5c",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}", "{'message': '加入成功'}", "'POST'", "'query'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "75224b36c281fcd6",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"uid" : "1b1ea3622c7cbb0e",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}", "{'message': '添加维度成功'}", "'post'", "'application/json'", "{'delete': 'dELETE FROM uc_demension WHERE `CODE_`=\"requestsAddDem\";'}", "'delete'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "bae95a6a19479944",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "10d62acf0e332229",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"uid" : "8c18ed11d24a69cf",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"uid" : "da0b4417fe54e65b",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"uid" : "8727397adfee82f7",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"uid" : "34ae4840c9eb7a0a",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': ''}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "6c322c83493913f2",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"uid" : "ead755efe8123e8",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"uid" : "3c7a94555e07633b",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "failed",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'testAddOrg'", "{'message': '删除组织成功!'}", "'POST'", "'json'", "None", "None", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"uid" : "9adb4eda7ef664b4",
"parentUid" : "68ccee5bb088c98e2c0fde9c600ff6d7",
"status" : "passed",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "{'username': 'admin', 'password': '#!$!@#!@#'}", "{'message': '账号或密码错误'}", "'POST'", "'application/json'", "None", "None", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "68ccee5bb088c98e2c0fde9c600ff6d7"
} ],
"uid" : "f73be692ef2b065133063b476e3099eb"
} ]
}
\ No newline at end of file
launch_status failed=23 1725510822000000000
launch_status broken=0 1725510822000000000
launch_status passed=8 1725510822000000000
launch_status skipped=0 1725510822000000000
launch_status unknown=0 1725510822000000000
launch_time duration=1926 1725510822000000000
launch_time min_duration=16 1725510822000000000
launch_time max_duration=50 1725510822000000000
launch_time sum_duration=891 1725510822000000000
launch_problems product_defects=23 1725510822000000000
launch_retries retries=0 1725510822000000000
launch_retries run=31 1725510822000000000
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Allure Report summary mail</title>
</head>
<body>
Mail body
</body>
</html>
launch_status_failed 23
launch_status_broken 0
launch_status_passed 8
launch_status_skipped 0
launch_status_unknown 0
launch_time_duration 1926
launch_time_min_duration 16
launch_time_max_duration 50
launch_time_sum_duration 891
launch_problems_product_defects 23
launch_retries_retries 0
launch_retries_run 31
module.exports = __webpack_public_path__ + "favicon.ico";
\ No newline at end of file
[ {
"data" : {
"Product defects" : 23
}
} ]
\ No newline at end of file
[ {
"data" : {
"duration" : 1926
}
} ]
\ No newline at end of file
[ {
"data" : {
"failed" : 23,
"broken" : 0,
"skipped" : 0,
"passed" : 8,
"unknown" : 0,
"total" : 31
}
} ]
\ No newline at end of file
{
"8eb7301a32c31c1993acb65490cebb5d" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "c56320550a22c0db",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
}
} ]
},
"8601057ef64fcd13fa3bee37103323a1" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "827168807ae28c0",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
}
} ]
},
"8a6f5940a978fd4ecaa53e97a35ae776" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "75224b36c281fcd6",
"status" : "passed",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
}
} ]
},
"48abe8c46402ff324a761b2b5e506cc9" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "da61aa4a47447f1",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
}
} ]
},
"fb4addf01045fbe8c5cdee39d26ad4eb" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "6c322c83493913f2",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
}
} ]
},
"b410abf76c32aa74be9f6d0484c2321c" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "ad8b5e83abae28e2",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
}
} ]
},
"15d2daeb579bb5b1c6274efce6552f25" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "80a39a45c3baceac",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
}
} ]
},
"a4925b7a43beba15ce710d3a2d8ba3f6" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "35d5cf5672473543",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
}
} ]
},
"a6f6de20f1d47502e15e1b34c901fc80" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "1b1ea3622c7cbb0e",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
}
} ]
},
"4f9df20ffdc1503910911ac0849dd913" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "8727397adfee82f7",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
}
} ]
},
"f3de7943a90f208dcf1743488a8f191d" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "9adb4eda7ef664b4",
"status" : "passed",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
}
} ]
},
"0cdf44136da9a3115d7402669edf9e44" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "ba062d37a9003d15",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
}
} ]
},
"e2d18f98d0b8345269ccaac9d47e0009" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "b7ed8bb51662c63b",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
}
} ]
},
"5945f99868ec59904be0e0c99840002e" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "68edada79f2c2c5c",
"status" : "passed",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
}
} ]
},
"5bd9b2d423d7ab258be173e3e344797e" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "ead755efe8123e8",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
}
} ]
},
"65755708ce0e8df98768842417beddc8" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "65bf4ee0f2e87568",
"status" : "passed",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
}
} ]
},
"a175574a4d035c584ab8478e07968208" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "8c18ed11d24a69cf",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
}
} ]
},
"4365a6de5e8b42ab1bd856faf33b87f7" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "46efc3b9e725d261",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
}
} ]
},
"4f9935fe474283bd57d587585b81a84e" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "bae95a6a19479944",
"status" : "passed",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
}
} ]
},
"4479ea4b1d75c6673685eb0a9d802580" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "10d62acf0e332229",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
}
} ]
},
"5b9cec47ee0edd555ba6e1220ea0e625" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "3c7a94555e07633b",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
}
} ]
},
"63d2c1d0245c2602497f67b56e03a018" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "da0b4417fe54e65b",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
}
} ]
},
"878a8b6a3f33c260878ce369810ee073" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "800d22e4a7f18199",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
}
} ]
},
"20a9dde76564254d92ac1acd705592d1" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "981f584b9cbf47d6",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
}
} ]
},
"fc03ee40552f426cfe867dad8cd957fd" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "620574a4f8cb8351",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
}
} ]
},
"7f0e6cd414aa2df632599593553f643f" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "a0e7fbd23128cdaf",
"status" : "passed",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
}
} ]
},
"9b37711dbaecfc386d6840f06e7e961c" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "83d8b1f10123a10c",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
}
} ]
},
"9cdfc96e3129cbb4c7fa5ec8d0c6d4f1" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "34ae4840c9eb7a0a",
"status" : "passed",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
}
} ]
},
"fd1f5cf8cf0975a36ecfc6a676bd4dfa" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "400f0b538799da08",
"status" : "passed",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
}
} ]
},
"66b67242a399356d7f6f4ce06fbff864" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "91abfb7f4e48e0a7",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
}
} ]
},
"128729b1e005cfdd6f14c1aa881b6157" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "cbcafb24c8f79dae",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
}
} ]
}
}
\ No newline at end of file
[ {
"data" : {
"run" : 31,
"retry" : 0
}
} ]
\ No newline at end of file
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="utf-8">
<title>Allure Report</title>
<link rel="favicon" href="favicon.ico?v=2">
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="plugins/screen-diff/styles.css">
</head>
<body>
<div id="alert"></div>
<div id="content">
<span class="spinner">
<span class="spinner__circle"></span>
</span>
</div>
<div id="popup"></div>
<script src="app.js"></script>
<script src="plugins/behaviors/index.js"></script>
<script src="plugins/packages/index.js"></script>
<script src="plugins/screen-diff/index.js"></script>
</body>
</html>
'use strict';
allure.api.addTranslation('en', {
tab: {
behaviors: {
name: 'Behaviors'
}
},
widget: {
behaviors: {
name: 'Features by stories',
showAll: 'show all'
}
}
});
allure.api.addTranslation('ru', {
tab: {
behaviors: {
name: 'Функциональность'
}
},
widget: {
behaviors: {
name: 'Функциональность',
showAll: 'показать все'
}
}
});
allure.api.addTranslation('zh', {
tab: {
behaviors: {
name: '功能'
}
},
widget: {
behaviors: {
name: '特性场景',
showAll: '显示所有'
}
}
});
allure.api.addTranslation('de', {
tab: {
behaviors: {
name: 'Verhalten'
}
},
widget: {
behaviors: {
name: 'Features nach Stories',
showAll: 'Zeige alle'
}
}
});
allure.api.addTranslation('nl', {
tab: {
behaviors: {
name: 'Functionaliteit'
}
},
widget: {
behaviors: {
name: 'Features en story’s',
showAll: 'Toon alle'
}
}
});
allure.api.addTranslation('he', {
tab: {
behaviors: {
name: 'התנהגויות'
}
},
widget: {
behaviors: {
name: 'תכונות לפי סיפורי משתמש',
showAll: 'הצג הכול'
}
}
});
allure.api.addTranslation('br', {
tab: {
behaviors: {
name: 'Comportamentos'
}
},
widget: {
behaviors: {
name: 'Funcionalidades por história',
showAll: 'Mostrar tudo'
}
}
});
allure.api.addTranslation('ja', {
tab: {
behaviors: {
name: '振る舞い'
}
},
widget: {
behaviors: {
name: 'ストーリー別の機能',
showAll: '全て表示'
}
}
});
allure.api.addTranslation('es', {
tab: {
behaviors: {
name: 'Funcionalidades'
}
},
widget: {
behaviors: {
name: 'Funcionalidades por Historias de Usuario',
showAll: 'mostrar todo'
}
}
});
allure.api.addTranslation('kr', {
tab: {
behaviors: {
name: '동작'
}
},
widget: {
behaviors: {
name: '스토리별 기능',
showAll: '전체 보기'
}
}
});
allure.api.addTranslation('fr', {
tab: {
behaviors: {
name: 'Comportements'
}
},
widget: {
behaviors: {
name: 'Thèmes par histoires',
showAll: 'Montrer tout'
}
}
});
allure.api.addTab('behaviors', {
title: 'tab.behaviors.name', icon: 'fa fa-list',
route: 'behaviors(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
onEnter: (function (testGroup, testResult, testResultTab) {
return new allure.components.TreeLayout({
testGroup: testGroup,
testResult: testResult,
testResultTab: testResultTab,
tabName: 'tab.behaviors.name',
baseUrl: 'behaviors',
url: 'data/behaviors.json',
csvUrl: 'data/behaviors.csv'
});
})
});
allure.api.addWidget('widgets', 'behaviors', allure.components.WidgetStatusView.extend({
rowTag: 'a',
title: 'widget.behaviors.name',
baseUrl: 'behaviors',
showLinks: true
}));
'use strict';
allure.api.addTranslation('en', {
tab: {
packages: {
name: 'Packages'
}
}
});
allure.api.addTranslation('ru', {
tab: {
packages: {
name: 'Пакеты'
}
}
});
allure.api.addTranslation('zh', {
tab: {
packages: {
name: '包'
}
}
});
allure.api.addTranslation('de', {
tab: {
packages: {
name: 'Pakete'
}
}
});
allure.api.addTranslation('nl', {
tab: {
packages: {
name: 'Packages'
}
}
});
allure.api.addTranslation('he', {
tab: {
packages: {
name: 'חבילות'
}
}
});
allure.api.addTranslation('br', {
tab: {
packages: {
name: 'Pacotes'
}
}
});
allure.api.addTranslation('ja', {
tab: {
packages: {
name: 'パッケージ'
}
}
});
allure.api.addTranslation('es', {
tab: {
packages: {
name: 'Paquetes'
}
}
});
allure.api.addTranslation('kr', {
tab: {
packages: {
name: '패키지'
}
}
});
allure.api.addTranslation('fr', {
tab: {
packages: {
name: 'Paquets'
}
}
});
allure.api.addTab('packages', {
title: 'tab.packages.name', icon: 'fa fa-align-left',
route: 'packages(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
onEnter: (function (testGroup, testResult, testResultTab) {
return new allure.components.TreeLayout({
testGroup: testGroup,
testResult: testResult,
testResultTab: testResultTab,
tabName: 'tab.packages.name',
baseUrl: 'packages',
url: 'data/packages.json'
});
})
});
(function () {
var settings = allure.getPluginSettings('screen-diff', { diffType: 'diff' });
function renderImage(src) {
return (
'<div class="screen-diff__container">' +
'<img class="screen-diff__image" src="' +
src +
'">' +
'</div>'
);
}
function findImage(data, name) {
if (data.testStage && data.testStage.attachments) {
var matchedImage = data.testStage.attachments.filter(function (attachment) {
return attachment.name === name;
})[0];
if (matchedImage) {
return 'data/attachments/' + matchedImage.source;
}
}
return null;
}
function renderDiffContent(type, diffImage, actualImage, expectedImage) {
if (type === 'diff') {
if (diffImage) {
return renderImage(diffImage);
}
}
if (type === 'overlay' && expectedImage) {
return (
'<div class="screen-diff__overlay screen-diff__container">' +
'<img class="screen-diff__image" src="' +
expectedImage +
'">' +
'<div class="screen-diff__image-over">' +
'<img class="screen-diff__image" src="' +
actualImage +
'">' +
'</div>' +
'</div>'
);
}
if (actualImage) {
return renderImage(actualImage);
}
return 'No diff data provided';
}
var TestResultView = Backbone.Marionette.View.extend({
regions: {
subView: '.screen-diff-view',
},
template: function () {
return '<div class="screen-diff-view"></div>';
},
onRender: function () {
var data = this.model.toJSON();
var testType = data.labels.filter(function (label) {
return label.name === 'testType';
})[0];
var diffImage = findImage(data, 'diff');
var actualImage = findImage(data, 'actual');
var expectedImage = findImage(data, 'expected');
if (!testType || testType.value !== 'screenshotDiff') {
return;
}
this.showChildView(
'subView',
new ScreenDiffView({
diffImage: diffImage,
actualImage: actualImage,
expectedImage: expectedImage,
}),
);
},
});
var ErrorView = Backbone.Marionette.View.extend({
templateContext: function () {
return this.options;
},
template: function (data) {
return '<pre class="screen-diff-error">' + data.error + '</pre>';
},
});
var AttachmentView = Backbone.Marionette.View.extend({
regions: {
subView: '.screen-diff-view',
},
template: function () {
return '<div class="screen-diff-view"></div>';
},
onRender: function () {
jQuery
.getJSON(this.options.sourceUrl)
.then(this.renderScreenDiffView.bind(this), this.renderErrorView.bind(this));
},
renderErrorView: function (error) {
console.log(error);
this.showChildView(
'subView',
new ErrorView({
error: error.statusText,
}),
);
},
renderScreenDiffView: function (data) {
this.showChildView(
'subView',
new ScreenDiffView({
diffImage: data.diff,
actualImage: data.actual,
expectedImage: data.expected,
}),
);
},
});
var ScreenDiffView = Backbone.Marionette.View.extend({
className: 'pane__section',
events: function () {
return {
['click [name="screen-diff-type-' + this.cid + '"]']: 'onDiffTypeChange',
'mousemove .screen-diff__overlay': 'onOverlayMove',
};
},
initialize: function (options) {
this.diffImage = options.diffImage;
this.actualImage = options.actualImage;
this.expectedImage = options.expectedImage;
this.radioName = 'screen-diff-type-' + this.cid;
},
templateContext: function () {
return {
diffType: settings.get('diffType'),
diffImage: this.diffImage,
actualImage: this.actualImage,
expectedImage: this.expectedImage,
radioName: this.radioName,
};
},
template: function (data) {
if (!data.diffImage && !data.actualImage && !data.expectedImage) {
return '';
}
return (
'<h3 class="pane__section-title">Screen Diff</h3>' +
'<div class="screen-diff__content">' +
'<div class="screen-diff__switchers">' +
'<label><input type="radio" name="' +
data.radioName +
'" value="diff"> Show diff</label>' +
'<label><input type="radio" name="' +
data.radioName +
'" value="overlay"> Show overlay</label>' +
'</div>' +
renderDiffContent(
data.diffType,
data.diffImage,
data.actualImage,
data.expectedImage,
) +
'</div>'
);
},
adjustImageSize: function (event) {
var overImage = this.$(event.target);
overImage.width(overImage.width());
},
onRender: function () {
const diffType = settings.get('diffType');
this.$('[name="' + this.radioName + '"][value="' + diffType + '"]').prop(
'checked',
true,
);
if (diffType === 'overlay') {
this.$('.screen-diff__image-over img').on('load', this.adjustImageSize.bind(this));
}
},
onOverlayMove: function (event) {
var pageX = event.pageX;
var containerScroll = this.$('.screen-diff__container').scrollLeft();
var elementX = event.currentTarget.getBoundingClientRect().left;
var delta = pageX - elementX + containerScroll;
this.$('.screen-diff__image-over').width(delta);
},
onDiffTypeChange: function (event) {
settings.save('diffType', event.target.value);
this.render();
},
});
allure.api.addTestResultBlock(TestResultView, { position: 'before' });
allure.api.addAttachmentViewer('application/vnd.allure.image.diff', {
View: AttachmentView,
icon: 'fa fa-exchange',
});
})();
.screen-diff__switchers {
margin-bottom: 1em;
}
.screen-diff__switchers label + label {
margin-left: 1em;
}
.screen-diff__overlay {
position: relative;
cursor: col-resize;
}
.screen-diff__container {
overflow-x: auto;
}
.screen-diff__image-over {
top: 0;
left: 0;
bottom: 0;
background: #fff;
position: absolute;
overflow: hidden;
box-shadow: 2px 0 1px -1px #aaa;
}
.screen-diff-error {
color: #fd5a3e;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"total" : 31,
"items" : [ ]
}
\ No newline at end of file
[ {
"data" : {
"Product defects" : 23
}
} ]
\ No newline at end of file
{
"total" : 1,
"items" : [ {
"uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d",
"name" : "Product defects",
"statistic" : {
"failed" : 23,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 23
}
} ]
}
\ No newline at end of file
[ {
"data" : {
"duration" : 1926
}
} ]
\ No newline at end of file
[ {
"uid" : "ad8b5e83abae28e2",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "400f0b538799da08",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "68edada79f2c2c5c",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "35d5cf5672473543",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "9adb4eda7ef664b4",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "981f584b9cbf47d6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cbcafb24c8f79dae",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "91abfb7f4e48e0a7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "bae95a6a19479944",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "800d22e4a7f18199",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "83d8b1f10123a10c",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "34ae4840c9eb7a0a",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "620574a4f8cb8351",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b7ed8bb51662c63b",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "827168807ae28c0",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "80a39a45c3baceac",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a0e7fbd23128cdaf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "da61aa4a47447f1",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "46efc3b9e725d261",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "65bf4ee0f2e87568",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "ba062d37a9003d15",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "c56320550a22c0db",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "3c7a94555e07633b",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1b1ea3622c7cbb0e",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "da0b4417fe54e65b",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "10d62acf0e332229",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "8c18ed11d24a69cf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "ead755efe8123e8",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "75224b36c281fcd6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "6c322c83493913f2",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "8727397adfee82f7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"status" : "failed",
"severity" : "normal"
} ]
\ No newline at end of file
[ {
"data" : {
"failed" : 23,
"broken" : 0,
"skipped" : 0,
"passed" : 8,
"unknown" : 0,
"total" : 31
}
} ]
\ No newline at end of file
[ {
"data" : {
"run" : 31,
"retry" : 0
}
} ]
\ No newline at end of file
[ {
"uid" : "da0b4417fe54e65b",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "65bf4ee0f2e87568",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "10d62acf0e332229",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "8727397adfee82f7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "827168807ae28c0",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "ad8b5e83abae28e2",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "620574a4f8cb8351",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "400f0b538799da08",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "1b1ea3622c7cbb0e",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "8c18ed11d24a69cf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "da61aa4a47447f1",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "75224b36c281fcd6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "981f584b9cbf47d6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "34ae4840c9eb7a0a",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "83d8b1f10123a10c",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "6c322c83493913f2",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "bae95a6a19479944",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "35d5cf5672473543",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b7ed8bb51662c63b",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cbcafb24c8f79dae",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "91abfb7f4e48e0a7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "ead755efe8123e8",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "9adb4eda7ef664b4",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "3c7a94555e07633b",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "68edada79f2c2c5c",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "80a39a45c3baceac",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a0e7fbd23128cdaf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "46efc3b9e725d261",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "800d22e4a7f18199",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "c56320550a22c0db",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "ba062d37a9003d15",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
} ]
\ No newline at end of file
[ {
"uid" : "ad8b5e83abae28e2",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"time" : {
"start" : 1725509874783,
"stop" : 1725509874802,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "400f0b538799da08",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams-POST-query|json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509873976,
"stop" : 1725509874012,
"duration" : 36
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "68edada79f2c2c5c",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg-POST-query-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509873921,
"stop" : 1725509873965,
"duration" : 44
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "35d5cf5672473543",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"time" : {
"start" : 1725509874610,
"stop" : 1725509874629,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "9adb4eda7ef664b4",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"time" : {
"start" : 1725509874568,
"stop" : 1725509874598,
"duration" : 30
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "981f584b9cbf47d6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509874936,
"stop" : 1725509874957,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cbcafb24c8f79dae",
"name" : "test_bpm[http://36.139.193.99:8088/refresh-GET-None-None-expect_data11-None-None-None]",
"time" : {
"start" : 1725509875409,
"stop" : 1725509875429,
"duration" : 20
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "91abfb7f4e48e0a7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-post-application/json-case_data8-expect_data8-None-None-None]",
"time" : {
"start" : 1725509875262,
"stop" : 1725509875279,
"duration" : 17
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "bae95a6a19479944",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data7-expect_data7-None-None-None]",
"time" : {
"start" : 1725509875221,
"stop" : 1725509875250,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "800d22e4a7f18199",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"time" : {
"start" : 1725509875131,
"stop" : 1725509875157,
"duration" : 26
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "83d8b1f10123a10c",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"time" : {
"start" : 1725509875303,
"stop" : 1725509875320,
"duration" : 17
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "34ae4840c9eb7a0a",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"time" : {
"start" : 1725509874526,
"stop" : 1725509874557,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "620574a4f8cb8351",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509875031,
"stop" : 1725509875058,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b7ed8bb51662c63b",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds-delete-query-case_data6-expect_data6-select-sql_data6-ids]",
"time" : {
"start" : 1725509874074,
"stop" : 1725509874102,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "827168807ae28c0",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/addOrg-POST-json-case_data2-expect_data2-delete|select-sql_data2-demId]",
"time" : {
"start" : 1725509873838,
"stop" : 1725509873888,
"duration" : 50
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "80a39a45c3baceac",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/updateDem-put-json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509873794,
"stop" : 1725509873815,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a0e7fbd23128cdaf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"time" : {
"start" : 1725509874897,
"stop" : 1725509874926,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "da61aa4a47447f1",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data1-expect_data1-None-None-None]",
"time" : {
"start" : 1725509874244,
"stop" : 1725509874267,
"duration" : 23
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "46efc3b9e725d261",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"time" : {
"start" : 1725509874707,
"stop" : 1725509874750,
"duration" : 43
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "65bf4ee0f2e87568",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data0-expect_data0-None-None-None]",
"time" : {
"start" : 1725509874200,
"stop" : 1725509874231,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "ba062d37a9003d15",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data9-expect_data9-None-None-None]",
"time" : {
"start" : 1725509874661,
"stop" : 1725509874683,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "c56320550a22c0db",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data5-expect_data5-None-None-None]",
"time" : {
"start" : 1725509874463,
"stop" : 1725509874504,
"duration" : 41
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "3c7a94555e07633b",
"name" : "test_bpm[http://36.139.193.99:8088/api/org/v1/org/deleteOrg-POST-json-testAddOrg-expect_data5-None-None-None]",
"time" : {
"start" : 1725509874033,
"stop" : 1725509874049,
"duration" : 16
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1b1ea3622c7cbb0e",
"name" : "test_bpm[http://36.139.193.99:8088/api/demension/v1/dem/addDem-post-application/json-case_data0-expect_data0-delete-sql_data0-None]",
"time" : {
"start" : 1725509873503,
"stop" : 1725509873548,
"duration" : 45
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "da0b4417fe54e65b",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data3-expect_data3-None-None-None]",
"time" : {
"start" : 1725509874349,
"stop" : 1725509874377,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "10d62acf0e332229",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509875082,
"stop" : 1725509875109,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "8c18ed11d24a69cf",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-json-case_data4-expect_data4-None-None-None]",
"time" : {
"start" : 1725509874400,
"stop" : 1725509874428,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "ead755efe8123e8",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"time" : {
"start" : 1725509874981,
"stop" : 1725509875008,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "75224b36c281fcd6",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data6-expect_data6-None-None-None]",
"time" : {
"start" : 1725509875182,
"stop" : 1725509875211,
"duration" : 29
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "6c322c83493913f2",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data2-expect_data2-None-None-None]",
"time" : {
"start" : 1725509874288,
"stop" : 1725509874316,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "8727397adfee82f7",
"name" : "test_bpm[http://36.139.193.99:8088/auth-POST-application/json-case_data10-expect_data10-None-None-None]",
"time" : {
"start" : 1725509875344,
"stop" : 1725509875383,
"duration" : 39
},
"status" : "failed",
"severity" : "normal"
} ]
\ No newline at end of file
{
"total" : 3,
"items" : [ {
"uid" : "f807542b498ef7f359918df354af54f0",
"name" : "test_case.test_lao_zhang",
"statistic" : {
"failed" : 9,
"broken" : 0,
"skipped" : 0,
"passed" : 3,
"unknown" : 0,
"total" : 12
}
}, {
"uid" : "d6bee4aab82b7aa6ffaaa10289749982",
"name" : "test_case.test_lisi",
"statistic" : {
"failed" : 9,
"broken" : 0,
"skipped" : 0,
"passed" : 3,
"unknown" : 0,
"total" : 12
}
}, {
"uid" : "7a8b7e46177bbd4d1efa8551fea4a38d",
"name" : "test_case.test_demo",
"statistic" : {
"failed" : 5,
"broken" : 0,
"skipped" : 0,
"passed" : 2,
"unknown" : 0,
"total" : 7
}
} ]
}
\ No newline at end of file
{
"reportName" : "Allure Report",
"testRuns" : [ ],
"statistic" : {
"failed" : 23,
"broken" : 0,
"skipped" : 0,
"passed" : 8,
"unknown" : 0,
"total" : 31
},
"time" : {
"start" : 1725509873503,
"stop" : 1725509875429,
"duration" : 1926,
"minDuration" : 16,
"maxDuration" : 50,
"sumDuration" : 891
}
}
\ No newline at end of file
2024-09-04 18:43:12,502 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-04 18:43:12,503 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-04 18:43:12,503 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-04 18:43:12,503 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-04 18:43:12,539 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-04 18:43:12,540 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-04 18:43:12,540 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-04 18:43:12,540 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-04 18:43:12,575 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-04 18:43:12,575 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-04 18:43:12,576 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-04 18:43:12,576 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-04 18:43:12,974 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-04 18:43:13,377 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-04 18:43:13,479 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831281404127322112', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-04 18:43:13,545 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg, 用例数据:{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}, 期望数据:{'message': '加入成功'}, 服务器返回数据:{"state":true,"message":"加入成功","value":"","code":200} -- 张三
2024-09-04 18:43:13,582 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams, 用例数据:{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}, 期望数据:{'message': '保存组织参数成功!'}, 服务器返回数据:{"state":true,"message":"保存组织参数成功!","value":"","code":200} -- 张三
2024-09-04 18:43:13,609 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-04 18:43:13,667 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831281404127322112'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-04 18:43:13,784 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1MzI4ODUsImlhdCI6MTcyNTQ0NjQ4NX0.HCmwLju_veSNH4k-13xUJbOIJdTxE-nrGgCyKv7BXuwoTrKKXPrIN2n52axVLcKZ5ul2f_sBPDm3pDoe7EIG4g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-04 18:43:13,812 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281407675703296"} -- 张三
2024-09-04 18:43:13,880 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281407965110272"} -- 张三
2024-09-04 18:43:13,922 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281408145465344"} -- 张三
2024-09-04 18:43:13,972 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281408346791936"} -- 张三
2024-09-04 18:43:14,038 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281408632004608"} -- 张三
2024-09-04 18:43:14,101 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831281408896245760"} -- 张三
2024-09-04 18:43:14,129 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831281409009491968"} -- 张三
2024-09-04 18:43:14,165 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831281409135321088"} -- 张三
2024-09-04 18:43:14,234 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831281409449893888"} -- 张三
2024-09-04 18:43:14,289 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1MzI4ODYsImlhdCI6MTcyNTQ0NjQ4Nn0.AL7uBytPFfzLDk4DEUchJ9J3pfly6H-KvI3Ql5LewNlzGqmaX40NCXwJsXLu20rDjfeJ5eFR70IS6sGw1QZDJg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-04 18:43:14,333 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1MzI4ODYsImlhdCI6MTcyNTQ0NjQ4Nn0.AL7uBytPFfzLDk4DEUchJ9J3pfly6H-KvI3Ql5LewNlzGqmaX40NCXwJsXLu20rDjfeJ5eFR70IS6sGw1QZDJg","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-04 18:43:14,457 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1MzI4ODYsImlhdCI6MTcyNTQ0NjQ4Nn0.AL7uBytPFfzLDk4DEUchJ9J3pfly6H-KvI3Ql5LewNlzGqmaX40NCXwJsXLu20rDjfeJ5eFR70IS6sGw1QZDJg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-04 18:43:14,484 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281410494275584"} -- 张三
2024-09-04 18:43:14,534 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281410708185088"} -- 张三
2024-09-04 18:43:14,578 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281410901123072"} -- 张三
2024-09-04 18:43:14,622 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281411081478144"} -- 张三
2024-09-04 18:43:14,668 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831281411274416128"} -- 张三
2024-09-04 18:43:14,716 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831281411479937024"} -- 张三
2024-09-04 18:43:14,752 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831281411626737664"} -- 张三
2024-09-04 18:43:14,776 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831281411719012352"} -- 张三
2024-09-04 18:43:14,841 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831281411995836416"} -- 张三
2024-09-04 18:43:14,898 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1MzI4ODYsImlhdCI6MTcyNTQ0NjQ4Nn0.AL7uBytPFfzLDk4DEUchJ9J3pfly6H-KvI3Ql5LewNlzGqmaX40NCXwJsXLu20rDjfeJ5eFR70IS6sGw1QZDJg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-04 18:43:14,939 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1MzI4ODYsImlhdCI6MTcyNTQ0NjQ4Nn0.AL7uBytPFfzLDk4DEUchJ9J3pfly6H-KvI3Ql5LewNlzGqmaX40NCXwJsXLu20rDjfeJ5eFR70IS6sGw1QZDJg","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-04 20:13:47,115 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-04 20:13:47,128 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-04 20:13:47,128 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-04 20:13:47,129 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-04 20:15:40,996 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-04 20:15:41,010 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-04 20:15:41,010 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-04 20:15:41,010 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-04 20:21:45,872 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-04 20:21:45,873 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-04 20:21:45,873 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-04 20:21:45,873 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-04 20:23:30,719 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-04 20:23:30,719 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-04 20:23:30,719 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-04 20:23:30,719 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 11:14:22,665 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 11:14:22,665 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 11:14:22,666 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 11:14:22,666 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 11:14:22,709 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 11:14:22,709 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 11:14:22,709 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 11:14:22,709 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 11:14:22,746 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 11:14:22,747 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 11:14:22,748 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 11:14:22,748 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 11:14:23,192 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 11:14:23,656 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 11:14:23,793 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831530833862303744', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 11:14:23,858 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg, 用例数据:{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}, 期望数据:{'message': '加入成功'}, 服务器返回数据:{"state":true,"message":"加入成功","value":"","code":200} -- 张三
2024-09-05 11:14:23,892 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams, 用例数据:{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}, 期望数据:{'message': '保存组织参数成功!'}, 服务器返回数据:{"state":true,"message":"保存组织参数成功!","value":"","code":200} -- 张三
2024-09-05 11:14:23,935 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 11:14:24,004 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831530833862303744'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 11:14:24,137 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTIzNTQsImlhdCI6MTcyNTUwNTk1NH0.nRpPTS7wBZIPu3rpNvhveaMmEyecm1SXf9hY5xmuiU8fDQPi-Ca7K0JDT6Z7Io0Yr9U9H5RRMDJovuEN27G5BA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:14:24,173 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530838044024832"} -- 张三
2024-09-05 11:14:24,239 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530838329237504"} -- 张三
2024-09-05 11:14:24,290 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530838551535616"} -- 张三
2024-09-05 11:14:24,336 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530838736084992"} -- 张三
2024-09-05 11:14:24,393 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530838979354624"} -- 张三
2024-09-05 11:14:24,446 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831530839189069824"} -- 张三
2024-09-05 11:14:24,491 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831530839369424896"} -- 张三
2024-09-05 11:14:24,516 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831530839503642624"} -- 张三
2024-09-05 11:14:24,570 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831530839675609088"} -- 张三
2024-09-05 11:14:24,645 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTIzNTUsImlhdCI6MTcyNTUwNTk1NX0.yTIgazBF7ab1Syau4zbti_Pt9-r2HBxewPfcRF3L9q0CXIFqme0gO-TQKZGLeFDNmUQshvmkP1gCC5-nGrlYvA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:14:24,713 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTIzNTUsImlhdCI6MTcyNTUwNTk1NX0.yTIgazBF7ab1Syau4zbti_Pt9-r2HBxewPfcRF3L9q0CXIFqme0gO-TQKZGLeFDNmUQshvmkP1gCC5-nGrlYvA","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:14:24,840 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTIzNTUsImlhdCI6MTcyNTUwNTk1NX0.yTIgazBF7ab1Syau4zbti_Pt9-r2HBxewPfcRF3L9q0CXIFqme0gO-TQKZGLeFDNmUQshvmkP1gCC5-nGrlYvA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:14:24,870 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530840980037632"} -- 张三
2024-09-05 11:14:24,938 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530841256861696"} -- 张三
2024-09-05 11:14:24,999 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530841525297152"} -- 张三
2024-09-05 11:14:25,057 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530841755983872"} -- 张三
2024-09-05 11:14:25,123 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831530842045390848"} -- 张三
2024-09-05 11:14:25,182 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831530842267688960"} -- 张三
2024-09-05 11:14:25,232 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831530842485792768"} -- 张三
2024-09-05 11:14:25,260 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831530842620010496"} -- 张三
2024-09-05 11:14:25,316 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831530842833920000"} -- 张三
2024-09-05 11:14:25,441 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTIzNTUsImlhdCI6MTcyNTUwNTk1NX0.yTIgazBF7ab1Syau4zbti_Pt9-r2HBxewPfcRF3L9q0CXIFqme0gO-TQKZGLeFDNmUQshvmkP1gCC5-nGrlYvA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:14:25,491 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTIzNTUsImlhdCI6MTcyNTUwNTk1NX0.yTIgazBF7ab1Syau4zbti_Pt9-r2HBxewPfcRF3L9q0CXIFqme0gO-TQKZGLeFDNmUQshvmkP1gCC5-nGrlYvA","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:23:50,899 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 11:23:50,899 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 11:23:50,900 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 11:23:50,900 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 11:23:50,963 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 11:23:50,963 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 11:23:50,964 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 11:23:50,964 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 11:23:51,022 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 11:23:51,023 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 11:23:51,023 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 11:23:51,028 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 11:23:51,414 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 11:23:55,056 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 11:23:58,149 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:01,228 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:04,292 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:07,349 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:07,410 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:10,455 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:13,504 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:16,544 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:19,583 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:22,629 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 11:24:22,729 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831533284036288512', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 11:24:25,802 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831533284036288512', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 11:24:28,879 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831533284036288512', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 11:24:31,955 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831533284036288512', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 11:24:35,035 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831533284036288512', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 11:24:38,116 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831533284036288512', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 11:24:38,202 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg, 用例数据:{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}, 期望数据:{'message': '加入成功'}, 服务器返回数据:{"state":true,"message":"加入成功","value":"","code":200} -- 张三
2024-09-05 11:24:38,231 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams, 用例数据:{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}, 期望数据:{'message': '保存组织参数成功!'}, 服务器返回数据:{"state":true,"message":"保存组织参数成功!","value":"","code":200} -- 张三
2024-09-05 11:24:38,251 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 11:24:41,291 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 11:24:44,340 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 11:24:47,384 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 11:24:50,428 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 11:24:53,461 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 11:24:53,541 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831533284036288512'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 11:24:56,607 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831533284036288512'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 11:24:59,658 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831533284036288512'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 11:25:02,705 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831533284036288512'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 11:25:05,759 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831533284036288512'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 11:25:08,812 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831533284036288512'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 11:25:08,963 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTI5OTksImlhdCI6MTcyNTUwNjU5OX0.XYuTYZcRobV0E1x1ijt3sF5oF-q0n_QMR3cBRcXv_GSKoUVOdzEcM6cO65TKN6zCYS2hvrKfFNmoweLh4jVOXw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:25:08,986 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533542602547200"} -- 张三
2024-09-05 11:25:12,045 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533555432923136"} -- 张三
2024-09-05 11:25:15,091 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533568208773120"} -- 张三
2024-09-05 11:25:18,139 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533580988817408"} -- 张三
2024-09-05 11:25:21,189 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533593781444608"} -- 张三
2024-09-05 11:25:24,245 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533606607626240"} -- 张三
2024-09-05 11:25:24,315 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533606897033216"} -- 张三
2024-09-05 11:25:27,372 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533619710631936"} -- 张三
2024-09-05 11:25:30,420 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533632494870528"} -- 张三
2024-09-05 11:25:33,472 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533645308469248"} -- 张三
2024-09-05 11:25:36,514 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533658063347712"} -- 张三
2024-09-05 11:25:39,562 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533670830809088"} -- 张三
2024-09-05 11:25:39,638 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533671166353408"} -- 张三
2024-09-05 11:25:42,676 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533683908648960"} -- 张三
2024-09-05 11:25:45,741 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533696764190720"} -- 张三
2024-09-05 11:25:48,797 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533709577789440"} -- 张三
2024-09-05 11:25:51,861 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533722420748288"} -- 张三
2024-09-05 11:25:54,925 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533735280484352"} -- 张三
2024-09-05 11:25:54,994 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533735574085632"} -- 张三
2024-09-05 11:25:58,045 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533748370907136"} -- 张三
2024-09-05 11:26:01,089 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533761142562816"} -- 张三
2024-09-05 11:26:04,142 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533773935190016"} -- 张三
2024-09-05 11:26:07,190 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533786719428608"} -- 张三
2024-09-05 11:26:10,239 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533799516250112"} -- 张三
2024-09-05 11:26:10,316 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533799830822912"} -- 张三
2024-09-05 11:26:13,378 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533812686364672"} -- 张三
2024-09-05 11:26:16,431 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533825487380480"} -- 张三
2024-09-05 11:26:19,478 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533838263230464"} -- 张三
2024-09-05 11:26:22,529 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533851055857664"} -- 张三
2024-09-05 11:26:25,574 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831533863835901952"} -- 张三
2024-09-05 11:26:25,660 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831533864200806400"} -- 张三
2024-09-05 11:26:25,693 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831533864335024128"} -- 张三
2024-09-05 11:26:25,717 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533864439881728"} -- 张三
2024-09-05 11:26:28,771 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533877228314624"} -- 张三
2024-09-05 11:26:31,816 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533889987387392"} -- 张三
2024-09-05 11:26:34,869 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533902813569024"} -- 张三
2024-09-05 11:26:37,911 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533915581030400"} -- 张三
2024-09-05 11:26:40,952 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533928340103168"} -- 张三
2024-09-05 11:26:41,019 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533928616927232"} -- 张三
2024-09-05 11:26:44,064 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533941388582912"} -- 张三
2024-09-05 11:26:47,114 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533954168627200"} -- 张三
2024-09-05 11:26:50,161 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533966952865792"} -- 张三
2024-09-05 11:26:53,201 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533979716132864"} -- 张三
2024-09-05 11:26:56,239 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831533992454234112"} -- 张三
2024-09-05 11:26:56,311 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMDYsImlhdCI6MTcyNTUwNjcwNn0.157JiTP2ah21cD1AlaFNV8iAVWMhG_Q0Nkr6IljpKrukB-MQG3c_LEFhivXXZC8AhtyJLpSqCQqCvGoQPhE6Dw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:26:59,361 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMDksImlhdCI6MTcyNTUwNjcwOX0.q8DQH7rNuxMWgDwY_2QPSrvjPQEI_o2qAvoij5KLQswkXEpfogZucgV8SnGYZ0n14PZ2zV6YdopJMyyjqeuOEg","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:27:02,414 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMTIsImlhdCI6MTcyNTUwNjcxMn0.fvceF-XLGUh-qwkqG7hye4LC11oe-N8rs4O7kmhL7J-1hZl6P3N6U7uCA6BjFmA4bINtjfcopCbTFCO78DSw_A","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:27:05,460 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMTUsImlhdCI6MTcyNTUwNjcxNX0.9WUsg4ZQ81fGfpb3EONbKAVwdXwqAo5K4a0OKMx2oWQrOytx_Nn-M6NY6oJY3cy1spId4nYk7QEWgX738Dr-AA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:27:08,510 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMTgsImlhdCI6MTcyNTUwNjcxOH0.UGKFLtqnUsa32LRt4eZx15uITMzt9tACC5sZIkx-Vaq-WGOU07-6r7w2O-CME4RWowbkBIh0yip1EKz-UrGlmw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:27:11,556 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMjIsImlhdCI6MTcyNTUwNjcyMn0.LLJuULBIUGUzwGOBBjeOp00OoGDHGqAavQjqAVOBBQ0pIK--aGYzP7KsB9YFW3mNfcPczwduwlx633H6Xh_Zqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:27:11,631 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMjIsImlhdCI6MTcyNTUwNjcyMn0.LLJuULBIUGUzwGOBBjeOp00OoGDHGqAavQjqAVOBBQ0pIK--aGYzP7KsB9YFW3mNfcPczwduwlx633H6Xh_Zqw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:27:14,695 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMjUsImlhdCI6MTcyNTUwNjcyNX0.MRu3tADIYEw1SHeh-Xc72VYhv--SOJKdsdsFVgOBYf6vr0sueZy2_PpPfFmSaeM45mB8yzyifHM8eeANXFpr_w","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:27:17,731 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMjgsImlhdCI6MTcyNTUwNjcyOH0.PeW9YWyRcQo0X0Q2R7Tc9RoxFiOV-Rz2jnxGVdekhTD325yJ3YPUI0HYBtnmO9LfxrFobWiMesncceabz6d-wQ","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:27:20,780 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMzEsImlhdCI6MTcyNTUwNjczMX0.lT5MNiH-cZYW03WabpxhR_KuGodyOfY2SiQ_bHDH7fGuLSE5woOBrTDQK3rVGzb_i1_85xe7a0GeBM2Ngibc3g","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:27:23,836 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMzQsImlhdCI6MTcyNTUwNjczNH0.PxHVLbFX-pZCbMvDsLljN3CNoIVO_qYYWznSs7RI0lR6zdYA23i_wZaC-qz9Bi4BtSLNEo3aBdzKenEbDXLSpQ","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:27:26,879 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMzcsImlhdCI6MTcyNTUwNjczN30.m1HuCgXH7L0Ra2zGvUIjwgTvMYAAX7cYqwvXcFvYmDQGDj3yrhTZ0kCe7LIDrGChFXSIfaBOFFBpKJe5B1GWwA","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:27:27,037 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMxMzcsImlhdCI6MTcyNTUwNjczN30.m1HuCgXH7L0Ra2zGvUIjwgTvMYAAX7cYqwvXcFvYmDQGDj3yrhTZ0kCe7LIDrGChFXSIfaBOFFBpKJe5B1GWwA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:27:27,059 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534121722683392"} -- 张三
2024-09-05 11:27:30,107 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534134506921984"} -- 张三
2024-09-05 11:27:33,188 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534147400212480"} -- 张三
2024-09-05 11:27:36,280 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534160389971968"} -- 张三
2024-09-05 11:27:39,346 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534173253902336"} -- 张三
2024-09-05 11:27:42,393 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534186042335232"} -- 张三
2024-09-05 11:27:42,469 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534186365296640"} -- 张三
2024-09-05 11:27:45,520 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534199141146624"} -- 张三
2024-09-05 11:27:48,568 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534211933773824"} -- 张三
2024-09-05 11:27:51,608 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534224688652288"} -- 张三
2024-09-05 11:27:54,650 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534237451919360"} -- 张三
2024-09-05 11:27:57,704 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534250240352256"} -- 张三
2024-09-05 11:27:57,775 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534250559119360"} -- 张三
2024-09-05 11:28:00,818 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534263322386432"} -- 张三
2024-09-05 11:28:03,866 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534276102430720"} -- 张三
2024-09-05 11:28:06,919 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534288903446528"} -- 张三
2024-09-05 11:28:09,967 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534301691879424"} -- 张三
2024-09-05 11:28:13,027 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534314522255360"} -- 张三
2024-09-05 11:28:13,119 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534314912325632"} -- 张三
2024-09-05 11:28:16,164 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534327679787008"} -- 张三
2024-09-05 11:28:19,209 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534340447248384"} -- 张三
2024-09-05 11:28:22,255 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534353231486976"} -- 张三
2024-09-05 11:28:25,307 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534366015725568"} -- 张三
2024-09-05 11:28:28,358 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534378829324288"} -- 张三
2024-09-05 11:28:28,436 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534379152285696"} -- 张三
2024-09-05 11:28:31,499 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534392007827456"} -- 张三
2024-09-05 11:28:34,560 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534404808843264"} -- 张三
2024-09-05 11:28:37,637 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534417618247680"} -- 张三
2024-09-05 11:28:40,699 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534430582841344"} -- 张三
2024-09-05 11:28:43,749 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831534443375468544"} -- 张三
2024-09-05 11:28:43,829 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831534443711012864"} -- 张三
2024-09-05 11:28:43,866 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831534443874590720"} -- 张三
2024-09-05 11:28:43,890 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534443975254016"} -- 张三
2024-09-05 11:28:46,925 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534456709160960"} -- 张三
2024-09-05 11:28:49,963 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534469443067904"} -- 张三
2024-09-05 11:28:53,007 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534482210529280"} -- 张三
2024-09-05 11:28:56,051 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534494977990656"} -- 张三
2024-09-05 11:28:59,101 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534507770617856"} -- 张三
2024-09-05 11:28:59,174 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534508080996352"} -- 张三
2024-09-05 11:29:02,219 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534520856846336"} -- 张三
2024-09-05 11:29:05,286 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534533716582400"} -- 张三
2024-09-05 11:29:08,346 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534546542764032"} -- 张三
2024-09-05 11:29:11,383 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534559289253888"} -- 张三
2024-09-05 11:29:14,429 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831534572065103872"} -- 张三
2024-09-05 11:29:14,519 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNDQsImlhdCI6MTcyNTUwNjg0NH0.dcuCNZZa9Gl-uMikYcPn0SuN-Xp8uSBhYnZmE9a4sOkYC38xIv6p_79GzizgrcBic2FTw-e419KuOqYFqemvcw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:29:17,573 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNDgsImlhdCI6MTcyNTUwNjg0OH0.E72Ly7siFrAWFqb0VWv2YTH2aoh_bX39slvlh0jXdg2jdJdopRVV_kqpB1JLeK0wJcLVELJxk1MIOW7hy59Bww","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:29:20,629 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNTEsImlhdCI6MTcyNTUwNjg1MX0.fI9aVZSXrcvWo2OqQqzJcOu5U0o91E6sUHEqkPqq4oPOAjdQ690y523ZbngiBk_nbtgSt41incQvpIIj-qMPEQ","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:29:23,677 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNTQsImlhdCI6MTcyNTUwNjg1NH0.YTv0hSjqOJHNnjoiAycR9MB2paNEuy1E-eoW6YnvkDmVCqWjr5Md67QIU5dN4gv3eAw4gsgLelydM1klbPpbdw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:29:26,729 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNTcsImlhdCI6MTcyNTUwNjg1N30.gmFFM_PbAs2RwEHn5gFkGEhggRMFIqDSt7zzGLNJg8E7Ihhd-NNvEbTFoNc-P2NpzLD-D6AyblvuSV4bzLAocw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:29:29,793 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNjAsImlhdCI6MTcyNTUwNjg2MH0.D8P87DqMefmvUVjAaCVgsBQmRGwjjU-uwiW5McYgekA6LKRFDwH4rjZ4hGlgB1_dZYzZUeW3AYsyY2Ithfpn5Q","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 11:29:29,858 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNjAsImlhdCI6MTcyNTUwNjg2MH0.D8P87DqMefmvUVjAaCVgsBQmRGwjjU-uwiW5McYgekA6LKRFDwH4rjZ4hGlgB1_dZYzZUeW3AYsyY2Ithfpn5Q","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:29:32,896 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNjMsImlhdCI6MTcyNTUwNjg2M30.mOc7Vrb2VHZ27l232kbmspY0Ht-yAEpxqgeg-nQw_bNV7x5ruFj2imx7jH4QHfPLoUPyXaV2RJqwPqI3CHrKuQ","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:29:35,940 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNjYsImlhdCI6MTcyNTUwNjg2Nn0.F85m4qdVR0b1_g9CHFmO8vbln8jD0a3ogc6fKXg6bjBvUtzffG4zVs-vmrTraCHxndSMEeM24iRJl-ETXhfeSQ","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:29:38,976 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNjksImlhdCI6MTcyNTUwNjg2OX0.hPLQ-i5v8Jr0mD4GMfB1guyz7YtB_MLtNFqOVoSjp4biGCvmuYigbft0utW7wAF_xnpqqUvS1aSf7imL0c9sHg","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:29:42,022 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNzIsImlhdCI6MTcyNTUwNjg3Mn0.BH3g0yOcJA30zugkEeVex8h53zM23-qOFKUAUbUe_sMROBk0x2FRj_zHBYEgMRIOZsbJpAqIkmnI8pT84Jc6xw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 11:29:45,062 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTMyNzUsImlhdCI6MTcyNTUwNjg3NX0.wiX-ZwfqbeLs0Dhh6oxrAnxfHwBZBl_SS4h6CfKU6pIa6izVfOHuCL0aBtOgu8rz63w9XMCF77mdnFSNXu04LQ","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 12:17:53,183 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 12:17:53,183 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 12:17:53,183 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 12:17:53,183 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 12:17:53,210 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 12:17:53,210 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 12:17:53,211 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 12:17:53,211 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 12:17:53,239 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为case, -- 张三
2024-09-05 12:17:53,239 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为expect, -- 张三
2024-09-05 12:17:53,239 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为sql, -- 张三
2024-09-05 12:17:53,239 - user_read_ini.py[line:28] - INFO: 执行方法get_file_path为:根据key获取file节点下key对应文件的路径,形参key的传参为excel, -- 张三
2024-09-05 12:17:53,547 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 1, 'name': 'requests添加的维度'}, 期望数据:{'message': '添加维度成功'}, 服务器返回数据:{"state":true,"message":"添加维度成功!","value":"","code":200} -- 张三
2024-09-05 12:17:53,815 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/updateDem, 用例数据:{'code': 'requestsAddDem', 'description': 'requestsAddDem', 'isDefault': 0, 'name': 'requestsAddDem'}, 期望数据:{'message': '更新维度成功'}, 服务器返回数据:{"state":true,"message":"更新维度成功!","value":"","code":200} -- 张三
2024-09-05 12:17:53,887 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/addOrg, 用例数据:{'code': 'testAddOrg', 'demId': '1831546815687270400', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}, 期望数据:{'message': '添加组织成功'}, 服务器返回数据:{"state":true,"message":"添加组织成功!","value":"","code":200} -- 张三
2024-09-05 12:17:53,964 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgUsers/addUsersForOrg, 用例数据:{'orgCode': 'testAddOrg', 'accounts': 'admin,guest'}, 期望数据:{'message': '加入成功'}, 服务器返回数据:{"state":true,"message":"加入成功","value":"","code":200} -- 张三
2024-09-05 12:17:54,011 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams, 用例数据:{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'hxxmts', 'value': '项目中没有关系户'}]}, 期望数据:{'message': '保存组织参数成功!'}, 服务器返回数据:{"state":true,"message":"保存组织参数成功!","value":"","code":200} -- 张三
2024-09-05 12:17:54,047 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/org/v1/org/deleteOrg, 用例数据:testAddOrg, 期望数据:{'message': '删除组织成功!'}, 服务器返回数据:{"state":true,"message":"部分删除成功,其中编码为【\"testAddOrg\"】的组织不存在;","value":"","code":200} -- 张三
2024-09-05 12:17:54,100 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, 用例数据:{'ids': '1831546815687270400'}, 期望数据:{'message': '删除维度成功!'}, 服务器返回数据:{"state":false,"message":"【requestsAddDem(requestsAddDem)】的维度下存在组织,不允许删除 ","value":"","code":200} -- 张三
2024-09-05 12:17:54,230 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjQsImlhdCI6MTcyNTUwOTc2NH0.J_HOuG3fdAoTTnfa4mILK97aLZhTY0B32tacncdLvsupfuEbvQz61Xpv8MTiSorLhkjerDTNengw-rbASx7SNA","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 12:17:54,266 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546818736529408"} -- 张三
2024-09-05 12:17:54,315 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546818946244608"} -- 张三
2024-09-05 12:17:54,375 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819197902848"} -- 张三
2024-09-05 12:17:54,428 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819416006656"} -- 张三
2024-09-05 12:17:54,503 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546819734773760"} -- 张三
2024-09-05 12:17:54,555 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546819952877568"} -- 张三
2024-09-05 12:17:54,597 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546820129038336"} -- 张三
2024-09-05 12:17:54,628 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546820259061760"} -- 张三
2024-09-05 12:17:54,683 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546820485554176"} -- 张三
2024-09-05 12:17:54,749 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 12:17:54,801 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
2024-09-05 12:17:54,924 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'username': '超级管理员', 'account': 'admin', 'userId': '1', 'expiration': 86400, 'loginStatus': True}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 12:17:54,955 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546821634793472"} -- 张三
2024-09-05 12:17:55,007 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': '#!$!@#!@#', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546821848702976"} -- 张三
2024-09-05 12:17:55,057 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminadminadminadminadminadminadminadminadmin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822054223872"} -- 张三
2024-09-05 12:17:55,107 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'a', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822268133376"} -- 张三
2024-09-05 12:17:55,155 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'adminxyz', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ='}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账户错误或该租户未启用","code":200,"logId":"1831546822473654272"} -- 张三
2024-09-05 12:17:55,210 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': ''}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546822700146688"} -- 张三
2024-09-05 12:17:55,250 - test_bpm.py[line:57] - INFO: 断言成功,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '#!$!@#!@#'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"账号或密码错误","code":200,"logId":"1831546822863724544"} -- 张三
2024-09-05 12:17:55,278 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jznbF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546822989553664"} -- 张三
2024-09-05 12:17:55,320 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': '123456'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1831546823161520128"} -- 张三
2024-09-05 12:17:55,382 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/auth, 用例数据:{'username': 'admin', 'password': 'bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQqmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerVlYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ'}, 期望数据:{'message': '账号或密码错误'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}} -- 张三
2024-09-05 12:17:55,427 - test_bpm.py[line:54] - ERROR: 断言失败,接口url为:http://36.139.193.99:8088/refresh, 用例数据:None, 期望数据:{'message': '刷新token成功'}, 服务器返回数据:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3MjU1OTYxNjUsImlhdCI6MTcyNTUwOTc2NX0.FoJLBa_jfSBAslH-cQrJmmHlRZNx14ddBlmEEnnd6GNbJQdwXCAeUvt5FIqLz_HI1WzuLeFHsMRSdOcW7GfEqw","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true} -- 张三
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:01
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: request_method.py
# Author: lao_zhao
# Datetime: 2024/9/4 15:35
# Description:
#
# ---------------------------------------------------------------------------
import requests
from apiAutoTest_v3.common.basic_read_ini import ReadIni
class RequestMethod:
def __init__(self):
"""关联登录成功的token"""
login_url = ReadIni().get_host("bpm_host") + "/auth"
login_data = {"username": "admin", "password": "bF6N3L93cX8pV6x2yEqxNjwIIPaEOYw9bNI5GuIY4g9MeoFyPFPL5WteHaV0LcxQ"
"qmDJWlhuCRMXzAPvrFcxJrA8BgGjJpmB1WMrQrazIJPbWbCfmDit2s2jzn+DRerV"
"lYIFojDM96y24drEniwWzHtaJKiWoc7LGL1csNmokvQ="}
self.bpm_session = requests.sessions.Session()
res = self.bpm_session.post(url=login_url, json=login_data)
token = res.json().get("token")
self.bpm_session.headers["Authorization"] = f"Bearer {token}"
def request_all(self, req_method, req_url, req_mime, case_data):
"""
封装公共的请求方法
:param req_method:请求方法
:param req_url:请求的url
:param req_mime:媒体类型
:param case_data:用例数据
:return:Response type
"""
if req_mime == "application/json" or req_mime == "json":
return self.bpm_session.request(method=req_method, url=req_url, json=case_data)
elif req_mime == "application/x-www-form-urlencoded" or req_mime == "form":
# 除了上传文件和json类型在请求体中传参以外,其他类型的数据全部使用data关键字传参。
return self.bpm_session.request(method=req_method, url=req_url, data=case_data)
elif req_mime == "multipart/form-data" or req_mime == "form-data":
return self.bpm_session.request(method=req_method, url=req_url, files=case_data)
elif req_mime == "query" or req_mime == "params":
return self.bpm_session.request(method=req_method, url=req_url, params=case_data)
elif req_mime is None:
return self.bpm_session.request(method=req_method, url=req_url)
# 判断媒体类型是否为query|json或者为json|query, 表示请求体和地址栏同时传参
elif req_mime == "query|json" or req_mime == "json|query":
# requests是支持地址栏和请求体同时传参的。地址栏使用params传参,请求体根据不同的媒体类型选择不同的关键字传参。
return self.bpm_session.request(method=req_method, url=req_url, params=case_data["query"], json=case_data["body"])
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2024/9/4 14:01
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2024/9/4 17:32
# Description:
#
# ---------------------------------------------------------------------------
namespace = "demo"
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: conftest.py
# Author: lao_zhao
# Datetime: 2024/9/4 15:43
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from apiAutoTest_v3.common.db import DB
from apiAutoTest_v3.request_method.request_method import RequestMethod
# DB自定义固件
@pytest.fixture(scope="session")
def fix_db():
db = DB()
yield db
db.close()
# RequestMethod自定义固件
@pytest.fixture(scope="session")
def fix_req():
req = RequestMethod()
yield req
[pytest]
; ;开启日志
; log_cli=true
; ;设置日志的级别,如果不设置级别的话,可以设置为NOTSET,如果要设置级别,级别可以有debug,info,warning,error,致命
; log_level=NOTSET
; ;设置日志显示的信息格式
; log_format=%(levelname)s--%(asctime)s--%(message)s
; ;设置日志中时间显示的格式
; log_date_format=%Y-%m-%d %H:%M:%S
; ;每个py文件运行的时候追加的命令
; ;addopts=-vs
; ;设置日志保存的文件
; log_file=../report/log/bpm_test.log
;设置日志保存在文件中的级别
log_file_level=error
;设置日志在文件中的信息格式
log_file_format=%(levelname)s--%(asctime)s--%(message)s
;设置文件日志中时间显示的格式
log_file_date_format=%Y-%m-%d %H:%M:%S
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: test_bpm.py
# Author: lao_zhao
# Datetime: 2024/9/4 15:46
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from apiAutoTest_v3 import log
from apiAutoTest_v3.common.read_excel import ReadExcel
from apiAutoTest_v3.test_case.test_demo import namespace
excel = ReadExcel(namespace)
class TestBPM:
@pytest.mark.parametrize("url, method, mime, case_data, expect_data, sql_type, sql_data, update_key", excel.get_data())
def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件
fix_db.delete(sql_data['delete'])
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件
select_result = fix_db.select(sql_data['select'])
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 判断sql语句的类型是否为select|delete 或者为 delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件
fix_db.delete(sql_data['delete'])
# 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件
select_result = fix_db.select(sql_data['select'])
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestMethod类对象发送请求
res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)
# 断言
try:
for key in expect_data.keys():
assert expect_data[key] == res.json().get(key)
except AssertionError:
log.error(f"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}")
raise AssertionError("断言失败")
else:
log.info(f"断言成功,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2024/9/4 17:33
# Description:
#
# ---------------------------------------------------------------------------
namespace = "lao_zhang"
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: conftest.py
# Author: lao_zhao
# Datetime: 2024/9/4 15:43
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from apiAutoTest_v3.common.db import DB
from apiAutoTest_v3.request_method.request_method import RequestMethod
# DB自定义固件
@pytest.fixture(scope="session")
def fix_db():
db = DB()
yield db
db.close()
# RequestMethod自定义固件
@pytest.fixture(scope="session")
def fix_req():
req = RequestMethod()
yield req
[pytest]
; ;开启日志
; log_cli=true
; ;设置日志的级别,如果不设置级别的话,可以设置为NOTSET,如果要设置级别,级别可以有debug,info,warning,error,致命
; log_level=NOTSET
; ;设置日志显示的信息格式
; log_format=%(levelname)s--%(asctime)s--%(message)s
; ;设置日志中时间显示的格式
; log_date_format=%Y-%m-%d %H:%M:%S
; ;每个py文件运行的时候追加的命令
; ;addopts=-vs
; ;设置日志保存的文件
; log_file=../report/log/bpm_test.log
;设置日志保存在文件中的级别
log_file_level=error
;设置日志在文件中的信息格式
log_file_format=%(levelname)s--%(asctime)s--%(message)s
;设置文件日志中时间显示的格式
log_file_date_format=%Y-%m-%d %H:%M:%S
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: test_bpm.py
# Author: lao_zhao
# Datetime: 2024/9/4 15:46
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from apiAutoTest_v3 import log
from apiAutoTest_v3.common.read_excel import ReadExcel
from apiAutoTest_v3.test_case.test_lao_zhang import namespace
excel = ReadExcel(namespace)
class TestBPM:
@pytest.mark.parametrize("url, method, mime, case_data, expect_data, sql_type, sql_data, update_key", excel.get_data())
def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件
fix_db.delete(sql_data['delete'])
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件
select_result = fix_db.select(sql_data['select'])
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 判断sql语句的类型是否为select|delete 或者为 delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件
fix_db.delete(sql_data['delete'])
# 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件
select_result = fix_db.select(sql_data['select'])
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestMethod类对象发送请求
res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)
# 断言
try:
for key in expect_data.keys():
assert expect_data[key] == res.json().get(key)
except AssertionError:
log.error(f"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}")
raise AssertionError("断言失败")
else:
log.info(f"断言成功,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2024/9/4 17:33
# Description:
#
# ---------------------------------------------------------------------------
namespace = "lisi"
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: conftest.py
# Author: lao_zhao
# Datetime: 2024/9/4 15:43
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from apiAutoTest_v3.common.db import DB
from apiAutoTest_v3.request_method.request_method import RequestMethod
# DB自定义固件
@pytest.fixture(scope="session")
def fix_db():
db = DB()
yield db
db.close()
# RequestMethod自定义固件
@pytest.fixture(scope="session")
def fix_req():
req = RequestMethod()
yield req
[pytest]
; ;开启日志
; log_cli=true
; ;设置日志的级别,如果不设置级别的话,可以设置为NOTSET,如果要设置级别,级别可以有debug,info,warning,error,致命
; log_level=NOTSET
; ;设置日志显示的信息格式
; log_format=%(levelname)s--%(asctime)s--%(message)s
; ;设置日志中时间显示的格式
; log_date_format=%Y-%m-%d %H:%M:%S
; ;每个py文件运行的时候追加的命令
; ;addopts=-vs
; ;设置日志保存的文件
; log_file=../report/log/bpm_test.log
;设置日志保存在文件中的级别
log_file_level=error
;设置日志在文件中的信息格式
log_file_format=%(levelname)s--%(asctime)s--%(message)s
;设置文件日志中时间显示的格式
log_file_date_format=%Y-%m-%d %H:%M:%S
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test62
# FileName: test_bpm.py
# Author: lao_zhao
# Datetime: 2024/9/4 15:46
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from apiAutoTest_v3 import log
from apiAutoTest_v3.common.read_excel import ReadExcel
from apiAutoTest_v3.test_case.test_lao_zhang import namespace
excel = ReadExcel(namespace)
class TestBPM:
@pytest.mark.parametrize("url, method, mime, case_data, expect_data, sql_type, sql_data, update_key", excel.get_data())
def test_bpm(self, fix_db, fix_req, url, method, mime, case_data, expect_data, sql_type, sql_data, update_key):
# 判断sql语句的类型是否为delete
if sql_type == "delete":
# 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件
fix_db.delete(sql_data['delete'])
# 判断sql语句类型是否为select
elif sql_type == "select":
# 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件
select_result = fix_db.select(sql_data['select'])
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 判断sql语句的类型是否为select|delete 或者为 delete|select
elif sql_type == "select|delete" or sql_type == "delete|select":
# 使用DB类对象调用delete方法执行删除的sql语句,DB类对象===fix_db自定义固件
fix_db.delete(sql_data['delete'])
# 使用DB类对象调用select方法执行查询的sql语句, 并获取查询结果,DB类对象===fix_db自定义固件
select_result = fix_db.select(sql_data['select'])
# 将查询结果更新到用例数据中
case_data[update_key] = select_result
# 使用RequestMethod类对象发送请求
res = fix_req.request_all(req_method=method, req_url=url, req_mime=mime, case_data=case_data)
# 断言
try:
for key in expect_data.keys():
assert expect_data[key] == res.json().get(key)
except AssertionError:
log.error(f"断言失败,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}")
raise AssertionError("断言失败")
else:
log.info(f"断言成功,接口url为:{url}, 用例数据:{case_data}, 期望数据:{expect_data}, 服务器返回数据:{res.text}")
\ 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