Commit 2ce23d0c by han

test2

parent 0de3cadd
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:10
# Description:
#
# ---------------------------------------------------------------------------
import functools
import logging
import os
import time
def __loger(file_path):
# 获取Logger对象
logger = logging.getLogger()
# 设置日志写入文件中的级别
logger.level = logging.INFO
# 创建日志文件的handler
handler = logging.FileHandler(file_path, mode="a", encoding="utf-8")
# 设置日志在文件中的写入格式
formatter = logging.Formatter('时间:%(asctime)s - 日记级别:%(levelname)s, 日志信息:%(message)s')
# 设置日志文件的日志格式
handler.setFormatter(formatter)
# 给Logger对象添加日志文件的handler
logger.addHandler(handler)
return logger
# 获取日志存放的目录
log_dir = os.path.join(os.path.join(os.path.dirname(__file__), "report"), "log")
# 设置日志文件的名称
log_name = "BPMAPITest" + time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime()) + ".log"
# 日志文件拼接路径
log_path = os.path.join(log_dir, log_name)
__log = __loger(log_path)
# 定义日志的装饰器
def log_decorator(param):
# param使用被装饰对象的名称
@functools.wraps(param)
def inner(*args, **kwargs):
__log.info(
f"执行的功能为:{param.__name__}, 功能的描述为:{param.__doc__}, 所在的文件为:{param.__code__.co_filename}, 所在的行为:{param.__code__.co_firstlineno}")
try:
res = param(*args, **kwargs)
except Exception as e:
__log.error(
f"执行的功能为:{param.__name__}, 功能的描述为:{param.__doc__}, 所在的文件为:{param.__code__.co_filename}, 所在的行为:{param.__code__.co_firstlineno}.报错,错误为:{type(e)}, 错误的描述为:{e}")
raise e
else:
return res
return inner
"""
失败重跑的插件:pip install pytest-rerunfailures
"""
"""
pytest生成报告:
1:使用pytest插件:pytest-html生成报告
pip install pytest-html
生成报告的命令为:
pytest -vv 用例层名称 --html=报告存放的路径 --self-contained-html [--reruns 失败重跑的次数 --reruns-delay=每次失败重跑的间隔时间]
2: 使用allure生成测试报告
需要下载allure-pytest插件:pip install allure-pytest
a: 需要先生成测试结果的json文件
pytest 用例层名称 --alluredir=存放json文件的目录 --clean-alluredir
b:根据第一步的json文件生成测试报告
allure serve 第一步存放json文件的目录:生成测试报告的web服务
allure generate 第一步存放json文件的目录 -o 静态报告的存放目录: 生成静态报告
"""
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:10
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: db.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:34
# Description:
#
# ---------------------------------------------------------------------------
import pymysql
from APIAutoTest_v3 import log_decorator
from APIAutoTest_v3.common.read_system_ini import ReadSystemIni
class DB:
@log_decorator
def __init__(self):
"""创建链接对象和游标对象"""
ini = ReadSystemIni()
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()
@log_decorator
def close(self):
"""先关闭游标对象,再关闭链接对象"""
self.cursor.close()
self.conn.close()
@log_decorator
def delete(self, sql_sentence):
"""执行删除的sql语句"""
if isinstance(sql_sentence, str) and sql_sentence.lower().startswith("delete"):
self.cursor.execute(sql_sentence)
self.conn.commit()
else:
raise ValueError("删除的sql语句错误")
@log_decorator
def select(self, sql_sentence):
"""执行查询的sql语句,并返回查询"""
if isinstance(sql_sentence, str) and sql_sentence.lower().startswith("select"):
self.cursor.execute(sql_sentence)
select_result = self.cursor.fetchone()
if select_result:
return select_result[0]
else:
raise ValueError("删除的sql语句错误")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: read_excel.py
# Author: lao_zhao
# Datetime: 2025/5/9 14:01
# Description:
#
# ---------------------------------------------------------------------------
from typing import Union
import openpyxl
from APIAutoTest_v3 import log_decorator
from APIAutoTest_v3.common.read_json import read_json
from APIAutoTest_v3.common.read_system_ini import ReadSystemIni
from APIAutoTest_v3.common.read_user_ini import ReadUserIni
from APIAutoTest_v3.data_config.settings import *
class ReadExcel:
@log_decorator
def __init__(self, username):
"""获取excel的路径及工作表的名称,加载工作簿获取工作表;获取所以json文件的路径,获取json文件内容的python对象"""
self.ini = ReadUserIni(username)
# 创建系统配置文件的对象
self.system_ini = ReadSystemIni()
self.case_data_dict = read_json(self.ini.get_file_path(FILE_CASE))
self.expect_data_dict = read_json(self.ini.get_file_path(FILE_EXPECT))
self.sql_data_dict = read_json(self.ini.get_file_path(FILE_SQL))
wb = openpyxl.load_workbook(self.ini.get_file_path(FILE_EXCEL))
self.ws = wb[self.ini.get_table_name(TABLE_NAME_KEY)]
@log_decorator
def __get_cell_value(self, column: str, row: int):
"""根据行或列,获取指定单元格数据"""
cell_value = self.ws[column + str(row)].value
if isinstance(cell_value, str) and len(cell_value.strip()) > 0:
return cell_value.strip()
@log_decorator
def module_name(self, row):
"""根据行,获取模块名称"""
return self.__get_cell_value(MODULE, row)
@log_decorator
def api_name(self, row):
"""根据行,获取接口名称"""
return self.__get_cell_value(API, row)
@log_decorator
def case_req(self, row):
"""根据行,获取用例的请求方法"""
return self.__get_cell_value(METHOD, row)
@log_decorator
def case_url(self, row):
"""根据行,获取用例的url"""
value = self.__get_cell_value(PATH, row)
if value:
return self.system_ini.get_host(HOST_KEY) + value
@log_decorator
def case_mime(self, row):
"""根据行,获取用例的媒体类型"""
value = self.__get_cell_value(MIME, row)
if value:
return value.lower()
@log_decorator
def case_data(self, row):
"""根据行,获取用例数据"""
case_data_key = self.__get_cell_value(CASE, row)
module_name = self.module_name(row)
api_name = self.api_name(row)
if case_data_key and module_name and api_name:
return self.case_data_dict[module_name][api_name][case_data_key]
@log_decorator
def expect_data(self, row):
"""根据行,获取期望数据"""
expect_data_key = self.__get_cell_value(EXPECT, row)
module_name = self.module_name(row)
api_name = self.api_name(row)
if expect_data_key and module_name and api_name:
return self.expect_data_dict[module_name][api_name][expect_data_key]
@log_decorator
def sql_data(self, row):
"""根据行,获取sql语句"""
sql_data_key = self.__get_cell_value(SQL, row)
module_name = self.module_name(row)
api_name = self.api_name(row)
if sql_data_key and module_name and api_name:
return self.sql_data_dict[module_name][api_name][sql_data_key]
@log_decorator
def sql_type(self, row):
"""根据行,获取sql语句的类型"""
value = self.__get_cell_value(SQLTYPE, row)
if value:
return value.lower()
@log_decorator
def update_key(self, row):
"""根据行,获取更新的key"""
return self.__get_cell_value(UPDATEKEY, row)
@log_decorator
def case_title(self, row):
"""根据行获取用例的标题"""
return self.__get_cell_value(TITLE, row)
@log_decorator
def case_level(self, row):
"""根据行,获取用例的等级"""
return self.__get_cell_value(LEVEL, row)
@log_decorator
def get_data(self):
"""获取所以的测试数据,存放在一个二维列表中"""
list_data = []
for row in range(2, self.ws.max_row+1):
module = self.module_name(row)
api = self.api_name(row)
title = self.case_title(row)
level = self.case_level(row)
req = self.case_req(row)
url = self.case_url(row)
mime = self.case_mime(row)
case = self.case_data(row)
expect = self.expect_data(row)
sql_type = self.sql_type(row)
sql_data = self.sql_data(row)
update_key = self.update_key(row)
if req and url and expect:
list_data.append([module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key])
else:
return list_data
if __name__ == '__main__':
excel = ReadExcel("zhangsan")
print(excel.get_data())
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: read_json.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:29
# Description:
#
# ---------------------------------------------------------------------------
import json
import os
from APIAutoTest_v3 import log_decorator
@log_decorator
def read_json(file_path):
"""读取json文件,将json文件的内容序列化为python对象,再返回"""
if isinstance(file_path, str) and os.path.isfile(file_path) and file_path.endswith(".json"):
with open(file_path, mode="r", encoding="utf-8") as f:
return json.loads(f.read())
else:
raise FileExistsError("json文件路径错误")
if __name__ == '__main__':
read_json(r"xxxew.json")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: read_system_ini.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:21
# Description:
#
# ---------------------------------------------------------------------------
import configparser
import os
from APIAutoTest_v3 import log_decorator
class ReadSystemIni:
@log_decorator
def __init__(self):
"""获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件"""
data_config_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data_config")
ini_path = os.path.join(data_config_path, "system_config.ini")
self.conf = configparser.ConfigParser()
self.conf.read(ini_path, encoding="utf-8")
@log_decorator
def get_host(self, key):
"""根据key,获取被测系统的域名"""
return self.conf.get("url", key)
@log_decorator
def get_sql_connect_msg(self, key):
"""根据key,获取数据库的链接信息"""
return self.conf.get("sql", key)
@log_decorator
def get_username(self, key):
"""根据key,获取用户存放数据的目录名称"""
return self.conf.get("user", key)
if __name__ == '__main__':
ini = ReadSystemIni()
print(ini.get_host("host"))
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: read_user_ini.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:21
# Description:
#
# ---------------------------------------------------------------------------
import configparser
import os
from APIAutoTest_v3 import log_decorator
class ReadUserIni:
@log_decorator
def __init__(self, username):
"""获取用户配置ini文件的路径,并创建Configparser对象,在读取ini文件"""
data_config_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data_config")
# 获取用例存放数据的目录路径
self.user_data_config_path = os.path.join(data_config_path, username)
ini_path = os.path.join(self.user_data_config_path, "config.ini")
self.conf = configparser.ConfigParser()
self.conf.read(ini_path, encoding="utf-8")
@log_decorator
def get_file_path(self, key):
"""根据key,获取file节点下文件的路径"""
return os.path.join(self.user_data_config_path, self.conf.get("file", key))
@log_decorator
def get_table_name(self, key):
"""根据key,获取工作表的名称"""
return self.conf.get("table", key)
if __name__ == '__main__':
ini = ReadUserIni("bpm")
print(ini.get_file_path("case"))
\ No newline at end of file
{
"认证接口": {
"登录系统": {
"LoginSuccess": {
"username": "admin",
"password": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="
},
"LoginErrorPasswordParamIsClass": "{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordParamIsNone": "{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordParamIsDouble": "{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}",
"LoginErrorOnlyUsername": "{\"username\": \"admin\"}",
"LoginErrorPasswordParamIsSpecial": "{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordDataIsLong": "{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordDataIsShort": "{\"username\": \"admin\",\"password\": \"f\"}",
"LoginErrorPasswordDataIsSpecial": "{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}",
"LoginErrorPasswordDataIsError": "{\"username\": \"admin\",\"password\": \"123456\"}",
"LoginErrorPasswordDataIsNone": "{\"username\": \"admin\",\"password\": \"\"}",
"LoginErrorPasswordDataIsClass": "{\"username\": \"admin\",\"password\": class}"
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {
"code": "testDemension",
"description": "测试维度",
"isDefault": 0,
"name": "测试维度"
}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": "code=testDemension"
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"ids": "需要更新"},
"DeleteDemErrorIdsIsId": "id=需要更新"
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"code": "testAddOrg",
"demId": "需要更新",
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": "测试添加的组织",
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
},
"保存组织参数": {
"SaveOrgParamSuccess": {
"query": "orgCode=testAddOrg",
"body": "[{\"alias\":\"test0428\",\"value\":500}]"
},
"SaveOrgParamSuccess2": {
"query": {"orgCode": "testAddOrg"},
"body": [{"alias":"test0428","value":100}]
}
},
"删除组织": {
"DelOrgSuccess": "testAddOrg"
}
}
}
[file]
# 配置数据文件
# 配置用例管理文件
excel=APIAutoTest.xlsx
# 配置用例数据文件
case=case_data.json
# 配置期望数据文件
expect=expect_data.json
# 配置sql语句数据文件
sql=sql_data.json
[table]
# 配置数据表的表名
table_name = BPM
{
"认证接口": {
"登录系统": {
"LoginSuccess": {
"username": "超级管理员",
"loginStatus": true
},
"LoginErrorPasswordParamIsClass": {
"message": "账号或密码错误"
},
"LoginErrorPasswordParamIsNone": {
"message": "账号或密码错误"
},
"LoginErrorPasswordParamIsDouble": {
"message": "账号或密码错误"
},
"LoginErrorOnlyUsername": {
"message": "账号或密码错误"
},
"LoginErrorPasswordParamIsSpecial": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsLong": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsShort": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsSpecial": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsError": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsNone": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsClass": {
"message": "账号或密码错误"
}
},
"刷新token": {
"RefreshSuccess": {
"message": "刷新成功"
}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"message": "添加维度成功"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"isDelete": "0"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"message": "删除维度成功"},
"DeleteDemErrorIdsIsId": {"message": "删除维度失败"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"message": "添加组织成功!"}
},
"保存组织参数": {
"SaveOrgParamSuccess": {"state":true,"message":"保存组织参数成功!","value":"","code":200},
"SaveOrgParamSuccess2": {"state":true,"message":"保存组织参数成功!","value":"","code":200}
},
"删除组织": {
"DelOrgSuccess": {"state":true,"message":"删除组织成功!","value":"","code":200}
}
}
}
\ No newline at end of file
{
"维度管理": {
"添加维度": {
"AddDemSuccess": "delete from uc_demension where CODE_=\"testDemension\";"
},
"根据维度编码删除维度": {
"DeleteDemSuccess": "select ID_ from uc_demension where CODE_=\"testDemension\";",
"DeleteDemErrorIdsIsId": "select ID_ from uc_demension where CODE_=\"testDemension\";"
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "select ID_ from uc_demension where CODE_=\"testDemension\";",
"delete": "delete from uc_org where CODE_=\"testAddOrg\";"
}
}
}
}
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: settings.py
# Author: lao_zhao
# Datetime: 2025/5/9 16:07
# Description:
#
# ---------------------------------------------------------------------------
# 配置excel的列号
NUMBER = "A"
MODULE = "B"
API = "C"
TITLE = "D"
LEVEL = "E"
METHOD = "F"
PATH = "G"
MIME = "H"
CASE = "I"
EXPECT = "J"
SQLTYPE = "K"
SQL = "L"
UPDATEKEY = "M"
# 配置用户ini文件file节点下的key名
FILE_CASE = "case"
FILE_EXPECT = "expect"
FILE_EXCEL = "excel"
FILE_SQL = "sql"
# 配置用户ini文件table节点下的key名
TABLE_NAME_KEY = 'table_name'
# 配置系统配置文件下host节点下的key
HOST_KEY = 'host'
\ No newline at end of file
[url]
host=http://36.139.193.99:8088
[sql]
# 配置数据库的链接信息
host=36.139.193.99
port=3306
database=eip8
user=root
password=Rhrc@2024
[user]
# 配置数据配置层中用户存放数据的目录名称
user1=bpm
user2=zhangsan
\ No newline at end of file
[file]
# 配置数据文件
# 配置用例管理文件
excel=接口用例.xlsx
# 配置用例数据文件
case=用例数据.json
# 配置期望数据文件
expect=期望数据.json
# 配置sql语句数据文件
sql=sql语句.json
[table]
# 配置数据表的表名
table_name = 张三
{
{
"维度管理": {
"添加维度": {
"AddDemSuccess": "delete from uc_demension where CODE_=\"testDemension\";"
},
"根据维度编码删除维度": {
"DeleteDemSuccess": "select ID_ from uc_demension where CODE_=\"testDemension\";",
"DeleteDemErrorIdsIsId": "select ID_ from uc_demension where CODE_=\"testDemension\";"
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "select ID_ from uc_demension where CODE_=\"testDemension\";",
"delete": "delete from uc_org where CODE_=\"testAddOrg\";"
}
}
}
}
\ No newline at end of file
{
{
"认证接口": {
"登录系统": {
"LoginSuccess": {
"username": "超级管理员",
"loginStatus": true
},
"LoginErrorPasswordParamIsClass": {
"message": "账号或密码错误"
},
"LoginErrorPasswordParamIsNone": {
"message": "账号或密码错误"
},
"LoginErrorPasswordParamIsDouble": {
"message": "账号或密码错误"
},
"LoginErrorOnlyUsername": {
"message": "账号或密码错误"
},
"LoginErrorPasswordParamIsSpecial": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsLong": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsShort": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsSpecial": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsError": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsNone": {
"message": "账号或密码错误"
},
"LoginErrorPasswordDataIsClass": {
"message": "账号或密码错误"
}
},
"刷新token": {
"RefreshSuccess": {
"message": "刷新成功"
}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"message": "添加维度成功"}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": {"isDelete": "0"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"message": "删除维度成功"},
"DeleteDemErrorIdsIsId": {"message": "删除维度失败"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"message": "添加组织成功!"}
},
"保存组织参数": {
"SaveOrgParamSuccess": {"state":true,"message":"保存组织参数成功!","value":"","code":200},
"SaveOrgParamSuccess2": {"state":true,"message":"保存组织参数成功!","value":"","code":200}
},
"删除组织": {
"DelOrgSuccess": {"state":true,"message":"删除组织成功!","value":"","code":200}
}
}
}
\ No newline at end of file
{
{
"认证接口": {
"登录系统": {
"LoginSuccess": {
"username": "admin",
"password": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="
},
"LoginErrorPasswordParamIsClass": "{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordParamIsNone": "{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordParamIsDouble": "{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}",
"LoginErrorOnlyUsername": "{\"username\": \"admin\"}",
"LoginErrorPasswordParamIsSpecial": "{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordDataIsLong": "{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}",
"LoginErrorPasswordDataIsShort": "{\"username\": \"admin\",\"password\": \"f\"}",
"LoginErrorPasswordDataIsSpecial": "{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}",
"LoginErrorPasswordDataIsError": "{\"username\": \"admin\",\"password\": \"123456\"}",
"LoginErrorPasswordDataIsNone": "{\"username\": \"admin\",\"password\": \"\"}",
"LoginErrorPasswordDataIsClass": "{\"username\": \"admin\",\"password\": class}"
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {
"code": "testDemension",
"description": "测试维度",
"isDefault": 0,
"name": "测试维度"
}
},
"根据维度编码获取维度信息": {
"GetDemMessageSuccess": "code=testDemension"
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"ids": "需要更新"},
"DeleteDemErrorIdsIsId": "id=需要更新"
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"code": "testAddOrg",
"demId": "需要更新",
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": "测试添加的组织",
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
},
"保存组织参数": {
"SaveOrgParamSuccess": {
"query": "orgCode=testAddOrg",
"body": "[{\"alias\":\"test0428\",\"value\":500}]"
},
"SaveOrgParamSuccess2": {
"query": {"orgCode": "testAddOrg"},
"body": [{"alias":"test0428","value":100}]
}
},
"删除组织": {
"DelOrgSuccess": "testAddOrg"
}
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:关联被测系统的状态, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:18
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_host, 功能的描述为:根据key,获取被测系统的域名, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:24
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:创建链接对象和游标对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:17
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem,
用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'},
期望数据为:{'message': '添加维度成功'},
服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":"","code":200}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:{'ids': '1921763982101192704'},
期望数据为:{'message': '删除维度成功'},
服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":"","code":200}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": class},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\n at [Source: (PushbackInputStream); line: 1, column: 40]","code":200,"logId":"1921763981732093952"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:id=需要更新,
期望数据为:{'message': '删除维度失败'},
服务器返回的数据为:{"state":false,"message":"删除维度失败,维度ids必填","code":200,"logId":"1921763986257747968"}
INFO  root:__init__.py:45 执行的功能为:close, 功能的描述为:先关闭游标对象,再关闭链接对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:31
INFO  root:__init__.py:45 执行的功能为:close, 功能的描述为:先关闭游标对象,再关闭链接对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:31
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=","password": "123456"},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763980360556544"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/refresh,
用例数据为:None,
期望数据为:{'message': '刷新成功'},
服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:关联被测系统的状态, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:18
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_host, 功能的描述为:根据key,获取被测系统的域名, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:24
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:创建链接对象和游标对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:17
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:关联被测系统的状态, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:18
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_host, 功能的描述为:根据key,获取被测系统的域名, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:24
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:创建链接对象和游标对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:17
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:{'ids': '1921763984835878912'},
期望数据为:{'message': '删除维度成功'},
服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":"","code":200}
\ No newline at end of file
1921763984085098496
{"state":true,"message":"添加组织成功!","value":"","code":200}
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin",class: "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 1, column: 23]","code":200,"logId":"1921763978854801408"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","♠♣▣▤▥▦▩◘◙◈♫": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763980700295168"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin",: "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"Unexpected character (':' (code 58)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 1, column: 23]","code":200,"logId":"1921763980196978688"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem,
用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'},
期望数据为:{'message': '添加维度成功'},
服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":"","code":200}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin"},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763980532523008"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:id=需要更新,
期望数据为:{'message': '删除维度失败'},
服务器返回的数据为:{"state":false,"message":"删除维度失败,维度ids必填","code":200,"logId":"1921763983346900992"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": "123456"},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763981413326848"}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
"Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"BPM项目-张三","组织管理","删除组织","0","0","1","0","0"
"BPM项目","认证接口","登录系统","8","0","4","0","0"
"BPM项目","维度管理","根据维度编码获取维度信息","0","0","1","0","0"
"BPM项目","维度管理","根据维度编码删除维度","2","0","0","0","0"
"BPM项目-场景测试","维度管理","根据维度编码获取维度信息","0","0","1","0","0"
"BPM项目","组织管理","保存组织参数","0","0","2","0","0"
"BPM项目","认证接口","刷新token","1","0","0","0","0"
"BPM项目-场景测试","认证接口","登录系统","0","0","1","0","0"
"BPM项目-场景测试","维度管理","添加维度","0","0","1","0","0"
"BPM项目-张三","组织管理","保存组织参数","0","0","2","0","0"
"BPM项目","组织管理","添加组织","0","0","1","0","0"
"BPM项目-张三","维度管理","根据维度编码获取维度信息","0","0","1","0","0"
"BPM项目","维度管理","添加维度","1","0","0","0","0"
"BPM项目-张三","维度管理","根据维度编码删除维度","2","0","0","0","0"
"BPM项目-张三","组织管理","添加组织","0","0","1","0","0"
"BPM项目-场景测试","组织管理","添加组织","0","0","1","0","0"
"BPM项目","组织管理","删除组织","0","0","1","0","0"
"BPM项目-张三","维度管理","添加维度","1","0","0","0","0"
{
"uid" : "b1a8273437954620fa374b796ffaacdd",
"name" : "behaviors",
"children" : [ {
"name" : "BPM项目",
"children" : [ {
"name" : "认证接口",
"children" : [ {
"name" : "登录系统",
"children" : [ {
"name" : "正向用例-正确的用户名和密码进行登录",
"uid" : "3f0c3973119da4cd",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "passed",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8='}", "{'username': '超级管理员', 'loginStatus': True}", "'高'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'正向用例-正确的用户名和密码进行登录'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的key为class",
"uid" : "fee0ec635e87eefd",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为class'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的key为空",
"uid" : "17d2b6d9ef085d5b",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码多传",
"uid" : "b7b711200254f51c",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码多传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码不传",
"uid" : "2da261ae2c141e57",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码不传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"uid" : "b62a3b3a7ff376f0",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的参数为特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过长",
"uid" : "cf1d67883d2cbeb7",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过长'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过短",
"uid" : "a98b5debe4dccf75",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "passed",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"f\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过短'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"uid" : "bb58ae5814657058",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "passed",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}'", "{'message': '账号或密码错误'}", "'中'", "'json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据错误",
"uid" : "8fe364b42962493a",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据错误'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为空",
"uid" : "221c79a4340c17eb",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "passed",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"uid" : "a83e51b0c458d7f3",
"parentUid" : "0cabb5b3be746dc392a9113e56f051e2",
"status" : "failed",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": class}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为关键字'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "0cabb5b3be746dc392a9113e56f051e2"
}, {
"name" : "刷新token",
"children" : [ {
"name" : "正向用例",
"uid" : "d0b3a3f7156a21a",
"parentUid" : "ed6dbd4efb2c8e9e3bd101ee346507d9",
"status" : "failed",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "{'message': '刷新成功'}", "'中'", "None", "'认证接口'", "'GET'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/refresh'" ]
} ],
"uid" : "ed6dbd4efb2c8e9e3bd101ee346507d9"
} ],
"uid" : "c339d5a595f3b52d7beff6d4b5583b2b"
}, {
"name" : "维度管理",
"children" : [ {
"name" : "添加维度",
"children" : [ {
"name" : "正向用例",
"uid" : "a7e24b2e74e20ac7",
"parentUid" : "a3d36dd05e1dd14e024011df0af5da84",
"status" : "failed",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
} ],
"uid" : "a3d36dd05e1dd14e024011df0af5da84"
}, {
"name" : "根据维度编码获取维度信息",
"children" : [ {
"name" : "正向用例",
"uid" : "520162bc4dad26ab",
"parentUid" : "6a33f0146ab69f4de3f6f432ce6ac5e5",
"status" : "passed",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
} ],
"uid" : "6a33f0146ab69f4de3f6f432ce6ac5e5"
}, {
"name" : "根据维度编码删除维度",
"children" : [ {
"name" : "正向用例",
"uid" : "21553a843b64f89c",
"parentUid" : "3d56f3237a16f75f2decf38441cfb7ad",
"status" : "failed",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "e2a4d7eb7d2cccf7",
"parentUid" : "3d56f3237a16f75f2decf38441cfb7ad",
"status" : "failed",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "3d56f3237a16f75f2decf38441cfb7ad"
} ],
"uid" : "80b6f8914fc78bec5426f1b4ec755d62"
}, {
"name" : "组织管理",
"children" : [ {
"name" : "添加组织",
"children" : [ {
"name" : "正向用例",
"uid" : "2458fb6e8e87af68",
"parentUid" : "87c8fbe37502bf660b706b93c7d3646c",
"status" : "passed",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
} ],
"uid" : "87c8fbe37502bf660b706b93c7d3646c"
}, {
"name" : "保存组织参数",
"children" : [ {
"name" : "正向用例",
"uid" : "7e0b7bd33b895f8a",
"parentUid" : "cc9ad8baab082eaa3d1c958474d10869",
"status" : "passed",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "1b1e9e2c670046d",
"parentUid" : "cc9ad8baab082eaa3d1c958474d10869",
"status" : "passed",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
} ],
"uid" : "cc9ad8baab082eaa3d1c958474d10869"
}, {
"name" : "删除组织",
"children" : [ {
"name" : "正向用例",
"uid" : "cb023bc949d178de",
"parentUid" : "d137331d7277c2a48b9d22f0fbfb3717",
"status" : "passed",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
} ],
"uid" : "d137331d7277c2a48b9d22f0fbfb3717"
} ],
"uid" : "bd8837348685e516ccdaa25a15d095ad"
} ],
"uid" : "3b0c860e826bdb0ac19bd7cb60857b89"
}, {
"name" : "BPM项目-场景测试",
"children" : [ {
"name" : "认证接口",
"children" : [ {
"name" : "登录系统",
"children" : [ {
"name" : "正向用例",
"uid" : "d721c3697ca5e8ee",
"parentUid" : "03825f355b919465154c3dae7a8a1650",
"status" : "passed",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "03825f355b919465154c3dae7a8a1650"
} ],
"uid" : "1d87f02020816c8cb148f9135e198068"
}, {
"name" : "维度管理",
"children" : [ {
"name" : "添加维度",
"children" : [ {
"name" : "正向用例",
"uid" : "b5285477dfeba884",
"parentUid" : "9aae4fe40990178f9e8a7bddfb0cf128",
"status" : "passed",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "9aae4fe40990178f9e8a7bddfb0cf128"
}, {
"name" : "根据维度编码获取维度信息",
"children" : [ {
"name" : "正向用例",
"uid" : "aa0cb0861afc402a",
"parentUid" : "c798355a432bb5aa07434ee49ba75837",
"status" : "passed",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "c798355a432bb5aa07434ee49ba75837"
} ],
"uid" : "b8783c50d1995de77f234e5ec57fb0c2"
}, {
"name" : "组织管理",
"children" : [ {
"name" : "添加组织",
"children" : [ {
"name" : "正向用例",
"uid" : "5da87b3e30b3287c",
"parentUid" : "4fcaced45acbe554960912d8ccab9258",
"status" : "passed",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "4fcaced45acbe554960912d8ccab9258"
} ],
"uid" : "f56147cd16315fa7647272332db0cb8c"
} ],
"uid" : "be26b43cea4866b1893be8ec3cd265e9"
}, {
"name" : "BPM项目-张三",
"children" : [ {
"name" : "维度管理",
"children" : [ {
"name" : "添加维度",
"children" : [ {
"name" : "正向用例",
"uid" : "457c4c055e391900",
"parentUid" : "83e5ee4b823114f30389e509d7c71023",
"status" : "failed",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
} ],
"uid" : "83e5ee4b823114f30389e509d7c71023"
}, {
"name" : "根据维度编码获取维度信息",
"children" : [ {
"name" : "正向用例",
"uid" : "5330d85959a42055",
"parentUid" : "79650e513742831a9f6e18d61d2e42b3",
"status" : "passed",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
} ],
"uid" : "79650e513742831a9f6e18d61d2e42b3"
}, {
"name" : "根据维度编码删除维度",
"children" : [ {
"name" : "正向用例",
"uid" : "722c7525bf5c127a",
"parentUid" : "10e89574b2d9155e14651ec7a05b069d",
"status" : "failed",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "787d13f815f637f0",
"parentUid" : "10e89574b2d9155e14651ec7a05b069d",
"status" : "failed",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "10e89574b2d9155e14651ec7a05b069d"
} ],
"uid" : "2926bdd8081d0ab48a66614f4feaef30"
}, {
"name" : "组织管理",
"children" : [ {
"name" : "添加组织",
"children" : [ {
"name" : "正向用例",
"uid" : "f7d0b47793d227",
"parentUid" : "9cfce36519f5be37c60bc6f0424d079e",
"status" : "passed",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
} ],
"uid" : "9cfce36519f5be37c60bc6f0424d079e"
}, {
"name" : "保存组织参数",
"children" : [ {
"name" : "正向用例",
"uid" : "b2ab94159d1658f5",
"parentUid" : "2e4feb1c10d384efdfa858d849d3ed2b",
"status" : "passed",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "70dd418228effa07",
"parentUid" : "2e4feb1c10d384efdfa858d849d3ed2b",
"status" : "passed",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
} ],
"uid" : "2e4feb1c10d384efdfa858d849d3ed2b"
}, {
"name" : "删除组织",
"children" : [ {
"name" : "正向用例",
"uid" : "a985f5a47f2f3c88",
"parentUid" : "f9a5f646e6d71321dc04dd6da8d90759",
"status" : "passed",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
} ],
"uid" : "f9a5f646e6d71321dc04dd6da8d90759"
} ],
"uid" : "891396c9ecbe8cd983da4e3c798b3dda"
} ],
"uid" : "76c18cc8f6208673d0c44358a39dd6ab"
} ]
}
\ No newline at end of file
"Category","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"Product defects","15","0","0","0","0"
{
"uid" : "4b4757e66a1912dae1a509f688f20b0f",
"name" : "categories",
"children" : [ {
"name" : "Product defects",
"children" : [ {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码的key为class",
"uid" : "fee0ec635e87eefd",
"parentUid" : "ee145775e085ae7981e4a213ad55884f",
"status" : "failed",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为class'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "ee145775e085ae7981e4a213ad55884f"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码的key为空",
"uid" : "17d2b6d9ef085d5b",
"parentUid" : "5474cba123570dc27fbd4e8d8b73924a",
"status" : "failed",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为空'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "5474cba123570dc27fbd4e8d8b73924a"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码多传",
"uid" : "b7b711200254f51c",
"parentUid" : "c0f7e24e67766c900912979dd0a7aaa3",
"status" : "failed",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码多传'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "c0f7e24e67766c900912979dd0a7aaa3"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码不传",
"uid" : "2da261ae2c141e57",
"parentUid" : "6e515a943c8887f6adc507facff75ce4",
"status" : "failed",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码不传'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "6e515a943c8887f6adc507facff75ce4"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"uid" : "b62a3b3a7ff376f0",
"parentUid" : "d126ae6bc1db2176fc294bbdae5682c2",
"status" : "failed",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的参数为特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "d126ae6bc1db2176fc294bbdae5682c2"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码的数据过长",
"uid" : "cf1d67883d2cbeb7",
"parentUid" : "6d5a3386b0c8f145c5e089a6c544665d",
"status" : "failed",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过长'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "6d5a3386b0c8f145c5e089a6c544665d"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码的数据错误",
"uid" : "8fe364b42962493a",
"parentUid" : "b0f0c9fb98657d58734e986068f69e42",
"status" : "failed",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据错误'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "b0f0c9fb98657d58734e986068f69e42"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": class}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}",
"children" : [ {
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"uid" : "a83e51b0c458d7f3",
"parentUid" : "4b4c05fd11fdaa60df9eb403d2591e6c",
"status" : "failed",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": class}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为关键字'", "None", "'http://36.139.193.99:8088/auth'" ]
} ],
"uid" : "4b4c05fd11fdaa60df9eb403d2591e6c"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/refresh, \n\t用例数据为:None, \n\t期望数据为:{'message': '刷新成功'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}",
"children" : [ {
"name" : "正向用例",
"uid" : "d0b3a3f7156a21a",
"parentUid" : "451c871196e9e735e7a96d2d11d4eed2",
"status" : "failed",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "{'message': '刷新成功'}", "'中'", "None", "'认证接口'", "'GET'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/refresh'" ]
} ],
"uid" : "451c871196e9e735e7a96d2d11d4eed2"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}",
"children" : [ {
"name" : "正向用例",
"uid" : "a7e24b2e74e20ac7",
"parentUid" : "e609c79ead7c042a08c2b6f60d4bc357",
"status" : "failed",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "457c4c055e391900",
"parentUid" : "e609c79ead7c042a08c2b6f60d4bc357",
"status" : "failed",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
} ],
"uid" : "e609c79ead7c042a08c2b6f60d4bc357"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763982101192704'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"children" : [ {
"name" : "正向用例",
"uid" : "21553a843b64f89c",
"parentUid" : "b7cdfa464ddb58505e63f85c51e91adf",
"status" : "failed",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "b7cdfa464ddb58505e63f85c51e91adf"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}",
"children" : [ {
"name" : "反向用例-ids为id",
"uid" : "e2a4d7eb7d2cccf7",
"parentUid" : "b73dd9c2e787f816c37febceb89a06c3",
"status" : "failed",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "b73dd9c2e787f816c37febceb89a06c3"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763984835878912'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"children" : [ {
"name" : "正向用例",
"uid" : "722c7525bf5c127a",
"parentUid" : "01aebd4d31a7a3d0298f99db16df304f",
"status" : "failed",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "01aebd4d31a7a3d0298f99db16df304f"
}, {
"name" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}",
"children" : [ {
"name" : "反向用例-ids为id",
"uid" : "787d13f815f637f0",
"parentUid" : "1a6ec86c1eb1b54c9b01ef2dc013e17b",
"status" : "failed",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "1a6ec86c1eb1b54c9b01ef2dc013e17b"
} ],
"uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d"
} ]
}
\ No newline at end of file
{
"uid" : "83edc06c07f9ae9e47eb6dd1b683e4e2",
"name" : "packages",
"children" : [ {
"name" : "test_case",
"children" : [ {
"name" : "test_bpm.test_bpm",
"children" : [ {
"name" : "正向用例-正确的用户名和密码进行登录",
"uid" : "3f0c3973119da4cd",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8='}", "{'username': '超级管理员', 'loginStatus': True}", "'高'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'正向用例-正确的用户名和密码进行登录'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的key为class",
"uid" : "fee0ec635e87eefd",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为class'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的key为空",
"uid" : "17d2b6d9ef085d5b",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码多传",
"uid" : "b7b711200254f51c",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码多传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码不传",
"uid" : "2da261ae2c141e57",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码不传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"uid" : "b62a3b3a7ff376f0",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的参数为特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过长",
"uid" : "cf1d67883d2cbeb7",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过长'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过短",
"uid" : "a98b5debe4dccf75",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"f\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过短'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"uid" : "bb58ae5814657058",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}'", "{'message': '账号或密码错误'}", "'中'", "'json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据错误",
"uid" : "8fe364b42962493a",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据错误'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为空",
"uid" : "221c79a4340c17eb",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"uid" : "a83e51b0c458d7f3",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": class}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为关键字'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "d0b3a3f7156a21a",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "{'message': '刷新成功'}", "'中'", "None", "'认证接口'", "'GET'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "a7e24b2e74e20ac7",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "520162bc4dad26ab",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}, {
"name" : "正向用例",
"uid" : "2458fb6e8e87af68",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "7e0b7bd33b895f8a",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "1b1e9e2c670046d",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "cb023bc949d178de",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "passed",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "21553a843b64f89c",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "e2a4d7eb7d2cccf7",
"parentUid" : "a009f062146674f24c8a1216bed2cbd6",
"status" : "failed",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "test_bpm.test_bpm"
}, {
"name" : "test_bpm_dependency",
"children" : [ {
"name" : "test_auth",
"children" : [ {
"name" : "正向用例",
"uid" : "d721c3697ca5e8ee",
"parentUid" : "484d1585f314a9d6646aa8272cbd753b",
"status" : "passed",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "484d1585f314a9d6646aa8272cbd753b"
}, {
"name" : "test_dem",
"children" : [ {
"name" : "正向用例",
"uid" : "b5285477dfeba884",
"parentUid" : "577f4c3deecbf0d88795eda961c8f0ab",
"status" : "passed",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "aa0cb0861afc402a",
"parentUid" : "577f4c3deecbf0d88795eda961c8f0ab",
"status" : "passed",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "577f4c3deecbf0d88795eda961c8f0ab"
}, {
"name" : "test_org",
"children" : [ {
"name" : "正向用例",
"uid" : "5da87b3e30b3287c",
"parentUid" : "3b01c147c4c3435534d634812505c391",
"status" : "passed",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "3b01c147c4c3435534d634812505c391"
} ],
"uid" : "40a2767a4b4d598325b5a727f2ebe270"
}, {
"name" : "test_zhangsan.test_bpm",
"children" : [ {
"name" : "正向用例",
"uid" : "457c4c055e391900",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "failed",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "5330d85959a42055",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "passed",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}, {
"name" : "正向用例",
"uid" : "f7d0b47793d227",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "passed",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "b2ab94159d1658f5",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "passed",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "70dd418228effa07",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "passed",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "a985f5a47f2f3c88",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "passed",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "722c7525bf5c127a",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "failed",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "787d13f815f637f0",
"parentUid" : "5ebed9a76f93aed9fe2f62499efb9d9c",
"status" : "failed",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "test_zhangsan.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"
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","53","test_case.test_zhangsan","test_bpm","TestBPM","","","正向用例",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","27","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的数据为空",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","15","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的key为空",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","21","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","20","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的数据错误",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:56 CST 2025","19","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-ids为id",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","13","test_case.test_bpm_dependency","test_dem","","","","正向用例",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","27","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","27","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","28","test_case.test_bpm_dependency","test_auth","TestAuth","","","正向用例",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","21","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码多传",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","44","test_case.test_bpm_dependency","test_dem","","","","正向用例",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","27","test_case.test_zhangsan","test_bpm","TestBPM","","","正向用例",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","40","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","25","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的数据特殊字符",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","15","test_case.test_zhangsan","test_bpm","TestBPM","","","正向用例",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","21","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的数据过短",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","33","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","38","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的数据过长",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","31","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:54 CST 2025","Mon May 12 11:12:54 CST 2025","15","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的key为class",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","25","test_case.test_zhangsan","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","44","test_case.test_zhangsan","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","18","test_case.test_zhangsan","test_bpm","TestBPM","","","反向用例-ids为id",""
"passed","Mon May 12 11:12:54 CST 2025","Mon May 12 11:12:54 CST 2025","31","test_case.test_bpm","test_bpm","TestBPM","","","正向用例-正确的用户名和密码进行登录",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","22","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的参数为特殊字符",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","46","test_case.test_zhangsan","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","19","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码的数据为关键字",""
"passed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","26","test_case.test_bpm_dependency","test_org","","","","正向用例",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","28","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"passed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","36","test_case.test_bpm","test_bpm","TestBPM","","","正向用例",""
"failed","Mon May 12 11:12:55 CST 2025","Mon May 12 11:12:55 CST 2025","22","test_case.test_bpm","test_bpm","TestBPM","","","反向用例-正确的用户名,密码不传",""
"failed","Mon May 12 11:12:56 CST 2025","Mon May 12 11:12:56 CST 2025","40","test_case.test_zhangsan","test_bpm","TestBPM","","","正向用例",""
{
"uid" : "98d3104e051c652961429bf95fa0b5d6",
"name" : "suites",
"children" : [ {
"name" : "test_case.test_bpm",
"children" : [ {
"name" : "test_bpm",
"children" : [ {
"name" : "TestBPM",
"children" : [ {
"name" : "正向用例-正确的用户名和密码进行登录",
"uid" : "3f0c3973119da4cd",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8='}", "{'username': '超级管理员', 'loginStatus': True}", "'高'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'正向用例-正确的用户名和密码进行登录'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的key为class",
"uid" : "fee0ec635e87eefd",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为class'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的key为空",
"uid" : "17d2b6d9ef085d5b",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码多传",
"uid" : "b7b711200254f51c",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码多传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码不传",
"uid" : "2da261ae2c141e57",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码不传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"uid" : "b62a3b3a7ff376f0",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的参数为特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过长",
"uid" : "cf1d67883d2cbeb7",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过长'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过短",
"uid" : "a98b5debe4dccf75",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"f\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过短'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"uid" : "bb58ae5814657058",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}'", "{'message': '账号或密码错误'}", "'中'", "'json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据错误",
"uid" : "8fe364b42962493a",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据错误'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为空",
"uid" : "221c79a4340c17eb",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"uid" : "a83e51b0c458d7f3",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": class}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为关键字'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "d0b3a3f7156a21a",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "{'message': '刷新成功'}", "'中'", "None", "'认证接口'", "'GET'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/refresh'" ]
}, {
"name" : "正向用例",
"uid" : "a7e24b2e74e20ac7",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "520162bc4dad26ab",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}, {
"name" : "正向用例",
"uid" : "2458fb6e8e87af68",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "7e0b7bd33b895f8a",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "1b1e9e2c670046d",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "cb023bc949d178de",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "passed",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "21553a843b64f89c",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "e2a4d7eb7d2cccf7",
"parentUid" : "182262a0afa1279164d629ed9eb8e19e",
"status" : "failed",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "182262a0afa1279164d629ed9eb8e19e"
} ],
"uid" : "0f85fcab7a4a8f2451d5c0326cd33c94"
} ],
"uid" : "984732065b98c3e55fced1b71055797c"
}, {
"name" : "test_case.test_bpm_dependency",
"children" : [ {
"name" : "test_auth",
"children" : [ {
"name" : "TestAuth",
"children" : [ {
"name" : "正向用例",
"uid" : "d721c3697ca5e8ee",
"parentUid" : "7da76addd84041bfa8d4e4ba285b3e76",
"status" : "passed",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "7da76addd84041bfa8d4e4ba285b3e76"
} ],
"uid" : "252a4e9f1d789c491aad62c5bfabe814"
}, {
"name" : "test_dem",
"children" : [ {
"name" : "正向用例",
"uid" : "b5285477dfeba884",
"parentUid" : "994b7d2ed4aa3a133bba9bc2d33b9422",
"status" : "passed",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "aa0cb0861afc402a",
"parentUid" : "994b7d2ed4aa3a133bba9bc2d33b9422",
"status" : "passed",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "994b7d2ed4aa3a133bba9bc2d33b9422"
}, {
"name" : "test_org",
"children" : [ {
"name" : "正向用例",
"uid" : "5da87b3e30b3287c",
"parentUid" : "32a0d13f60e8f84acadadcceda8944ed",
"status" : "passed",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
} ],
"uid" : "32a0d13f60e8f84acadadcceda8944ed"
} ],
"uid" : "727cdc55e0284d10bada9eae3e5356f7"
}, {
"name" : "test_case.test_zhangsan",
"children" : [ {
"name" : "test_bpm",
"children" : [ {
"name" : "TestBPM",
"children" : [ {
"name" : "正向用例",
"uid" : "457c4c055e391900",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "failed",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "5330d85959a42055",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "passed",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}, {
"name" : "正向用例",
"uid" : "f7d0b47793d227",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "passed",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "正向用例",
"uid" : "b2ab94159d1658f5",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "passed",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "70dd418228effa07",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "passed",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例",
"uid" : "a985f5a47f2f3c88",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "passed",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "722c7525bf5c127a",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "failed",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "787d13f815f637f0",
"parentUid" : "0c106b0b0d4ef2464b8e0d408e586d94",
"status" : "failed",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
} ],
"uid" : "0c106b0b0d4ef2464b8e0d408e586d94"
} ],
"uid" : "8c040a794e1f7ecf0bbbc30c25c59854"
} ],
"uid" : "54dd471d3cdc5328579b44234e5c46f3"
} ]
}
\ No newline at end of file
{
"uid" : "17d2b6d9ef085d5b",
"name" : "反向用例-正确的用户名,密码的key为空",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "622a3347fe4a9dcc000480e8fd9c0ecc",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF6780>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为空', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unexpected c..., column: 23]'\nE \nE + 账号或密码错误\nE - Unexpected character (':' (code 58)): was expecting double-quote to start field name\nE - at [Source: (PushbackInputStream); line: 1, column: 23]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF6780>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为空', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF6780>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为空', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unexpected c..., column: 23]'\nE \nE + 账号或密码错误\nE - Unexpected character (':' (code 58)): was expecting double-quote to start field name\nE - at [Source: (PushbackInputStream); line: 1, column: 23]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF6780>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为空', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "ab8a2b27bc6452cf",
"name" : "log",
"source" : "ab8a2b27bc6452cf.txt",
"type" : "text/plain",
"size" : 1661
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的key为空'"
}, {
"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" : "17d2b6d9ef085d5b.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "1b1e9e2c670046d",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "65973827dcb7e1d88dfc9fc091290c3b",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "23800c21cad70eaf",
"name" : "log",
"source" : "23800c21cad70eaf.txt",
"type" : "text/plain",
"size" : 787
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "保存组织参数"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'保存组织参数'"
}, {
"name" : "case",
"value" : "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}"
}, {
"name" : "expect",
"value" : "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query|json'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "1b1e9e2c670046d.json",
"parameterValues" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}
\ No newline at end of file
{
"uid" : "21553a843b64f89c",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "92ce92b1ce2de0d9e6571fd01eab8678",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763982101192704'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4770>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763982101192704'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4770>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763982101192704'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:{'ids': '1921763982101192704'}, \nE \t期望数据为:{'message': '删除维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763982101192704'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4770>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763982101192704'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4770>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763982101192704'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:{'ids': '1921763982101192704'}, \nE \t期望数据为:{'message': '删除维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "1f3e4d01a5f1bc49",
"name" : "log",
"source" : "1f3e4d01a5f1bc49.txt",
"type" : "text/plain",
"size" : 1611
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case",
"value" : "{'ids': '需要更新'}"
}, {
"name" : "expect",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'DELETE'"
}, {
"name" : "sql_data",
"value" : "'select ID_ from uc_demension where CODE_=\"testDemension\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "21553a843b64f89c.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "221c79a4340c17eb",
"name" : "反向用例-正确的用户名,密码的数据为空",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "89531fdad5fd4b0247c0e8e26f94dae6",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "acd2ff18da54f353",
"name" : "log",
"source" : "acd2ff18da54f353.txt",
"type" : "text/plain",
"size" : 787
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"password\": \"\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的数据为空'"
}, {
"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" : "221c79a4340c17eb.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "2458fb6e8e87af68",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "496af5000f32ab5d6f22ad1a5a9a15d3",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "cbb12ae9e769b91a",
"name" : "log",
"source" : "cbb12ae9e769b91a.txt",
"type" : "text/plain",
"size" : 1231
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'添加组织'"
}, {
"name" : "case",
"value" : "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "expect",
"value" : "{'message': '添加组织成功!'}"
}, {
"name" : "level",
"value" : "'高'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}"
}, {
"name" : "sql_type",
"value" : "'delete|select'"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : [ ],
"tags" : [ ]
},
"source" : "2458fb6e8e87af68.json",
"parameterValues" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', '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" : "2da261ae2c141e57",
"name" : "反向用例-正确的用户名,密码不传",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "b185b27a1a5b2067539258756d0f7e68",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码不传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码不传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码不传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码不传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "bd90256c9da7e6ad",
"name" : "log",
"source" : "bd90256c9da7e6ad.txt",
"type" : "text/plain",
"size" : 1396
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码不传'"
}, {
"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" : "2da261ae2c141e57.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码不传'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "3f0c3973119da4cd",
"name" : "正向用例-正确的用户名和密码进行登录",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "db4660a4865247a399d925b9a4724cbd",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "92db2b3f6a517584",
"name" : "log",
"source" : "92db2b3f6a517584.txt",
"type" : "text/plain",
"size" : 3359
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "{'username': 'admin', 'password': 'fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8='}"
}, {
"name" : "expect",
"value" : "{'username': '超级管理员', 'loginStatus': True}"
}, {
"name" : "level",
"value" : "'高'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例-正确的用户名和密码进行登录'"
}, {
"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" : "3f0c3973119da4cd.json",
"parameterValues" : [ "'登录系统'", "{'username': 'admin', 'password': 'fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8='}", "{'username': '超级管理员', 'loginStatus': True}", "'高'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'正向用例-正确的用户名和密码进行登录'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "457c4c055e391900",
"name" : "正向用例",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "d717d0670b53f15b03daec347766ae53",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1AFB36B0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1AFB36B0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \nE \t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \nE \t期望数据为:{'message': '添加维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1AFB36B0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1AFB36B0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \nE \t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \nE \t期望数据为:{'message': '添加维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "18fa0775e417b61c",
"name" : "log",
"source" : "18fa0775e417b61c.txt",
"type" : "text/plain",
"size" : 4233
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "添加维度"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'添加维度'"
}, {
"name" : "case",
"value" : "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}"
}, {
"name" : "expect",
"value" : "{'message': '添加维度成功'}"
}, {
"name" : "level",
"value" : "'高'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "'delete from uc_demension where CODE_=\"testDemension\";'"
}, {
"name" : "sql_type",
"value" : "'delete'"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "457c4c055e391900.json",
"parameterValues" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}
\ No newline at end of file
{
"uid" : "520162bc4dad26ab",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "c2fd5768cf67220112664c59c15e5d4b",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "ec3a6e18550fd375",
"name" : "log",
"source" : "ec3a6e18550fd375.txt",
"type" : "text/plain",
"size" : 787
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码获取维度信息"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'根据维度编码获取维度信息'"
}, {
"name" : "case",
"value" : "'code=testDemension'"
}, {
"name" : "expect",
"value" : "{'isDelete': '0'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'get'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "520162bc4dad26ab.json",
"parameterValues" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}
\ No newline at end of file
{
"uid" : "5330d85959a42055",
"name" : "正向用例",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "dd1a62ebfc3a9c9b3fd0cac49c43cc48",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "920e78957487cd3a",
"name" : "log",
"source" : "920e78957487cd3a.txt",
"type" : "text/plain",
"size" : 792
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码获取维度信息"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'根据维度编码获取维度信息'"
}, {
"name" : "case",
"value" : "'code=testDemension'"
}, {
"name" : "expect",
"value" : "{'isDelete': '0'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'get'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"name" : "update_key",
"value" : "None"
}, {
"name" : "url",
"value" : "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'"
} ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ ]
},
"source" : "5330d85959a42055.json",
"parameterValues" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}
\ No newline at end of file
{
"uid" : "5da87b3e30b3287c",
"name" : "正向用例",
"fullName" : "test_case.test_bpm_dependency.test_org#test_add_org",
"historyId" : "f7d13324fa5be8896c9957870e56e4e0",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576029,
"stop" : 1747019576138,
"duration" : 109
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "get_depend_data_fix",
"time" : {
"start" : 1747019576235,
"stop" : 1747019576235,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "96fcd23bf7a48a9",
"name" : "stdout",
"source" : "96fcd23bf7a48a9.txt",
"type" : "text/plain",
"size" : 91
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576720,
"stop" : 1747019576720,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "get_depend_data_fix::0",
"time" : {
"start" : 1747019576719,
"stop" : 1747019576719,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM项目-场景测试"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "tag",
"value" : "dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login', 'test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope='session')"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm_dependency"
}, {
"name" : "suite",
"value" : "test_org"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm_dependency.test_org"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ "dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login', 'test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope='session')" ]
},
"source" : "5da87b3e30b3287c.json",
"parameterValues" : [ ]
}
\ No newline at end of file
{
"uid" : "70dd418228effa07",
"name" : "正向用例",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "7d3e66ec146aefcd8a2d784d037febd7",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "198b9fdd7af47607",
"name" : "log",
"source" : "198b9fdd7af47607.txt",
"type" : "text/plain",
"size" : 792
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "保存组织参数"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'保存组织参数'"
}, {
"name" : "case",
"value" : "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}"
}, {
"name" : "expect",
"value" : "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query|json'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "70dd418228effa07.json",
"parameterValues" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}
\ No newline at end of file
{
"uid" : "722c7525bf5c127a",
"name" : "正向用例",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "8fec6960b41998b3624c23fc2c981fb0",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763984835878912'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5190>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763984835878912'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5190>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763984835878912'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:{'ids': '1921763984835878912'}, \nE \t期望数据为:{'message': '删除维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763984835878912'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5190>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763984835878912'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5190>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763984835878912'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:{'ids': '1921763984835878912'}, \nE \t期望数据为:{'message': '删除维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "959089c6a4cc2716",
"name" : "log",
"source" : "959089c6a4cc2716.txt",
"type" : "text/plain",
"size" : 1621
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case",
"value" : "{'ids': '需要更新'}"
}, {
"name" : "expect",
"value" : "{'message': '删除维度成功'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'DELETE'"
}, {
"name" : "sql_data",
"value" : "'select ID_ from uc_demension where CODE_=\"testDemension\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "722c7525bf5c127a.json",
"parameterValues" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "787d13f815f637f0",
"name" : "反向用例-ids为id",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "f0e544d2d1fc32d0184fdce24766dc87",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5340>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度失败' == '删除维度失败,维度ids必填'\nE \nE - 删除维度失败,维度ids必填\nE + 删除维度失败\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5340>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:id=需要更新, \nE \t期望数据为:{'message': '删除维度失败'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5340>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度失败' == '删除维度失败,维度ids必填'\nE \nE - 删除维度失败,维度ids必填\nE + 删除维度失败\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5340>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:id=需要更新, \nE \t期望数据为:{'message': '删除维度失败'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "5e6cf3e175af3806",
"name" : "log",
"source" : "5e6cf3e175af3806.txt",
"type" : "text/plain",
"size" : 2107
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case",
"value" : "'id=需要更新'"
}, {
"name" : "expect",
"value" : "{'message': '删除维度失败'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'DELETE'"
}, {
"name" : "sql_data",
"value" : "'select ID_ from uc_demension where CODE_=\"testDemension\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "title",
"value" : "'反向用例-ids为id'"
}, {
"name" : "update_key",
"value" : "'需要更新'"
}, {
"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" : "787d13f815f637f0.json",
"parameterValues" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "7e0b7bd33b895f8a",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "8687b4a8fef8327a1773b301d65e72ee",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "941496317e8dc508",
"name" : "log",
"source" : "941496317e8dc508.txt",
"type" : "text/plain",
"size" : 787
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "保存组织参数"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'保存组织参数'"
}, {
"name" : "case",
"value" : "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}"
}, {
"name" : "expect",
"value" : "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query|json'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "7e0b7bd33b895f8a.json",
"parameterValues" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}
\ No newline at end of file
{
"uid" : "8fe364b42962493a",
"name" : "反向用例-正确的用户名,密码的数据错误",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "95dc8e84e06c52d8f733ac9b7ef0cd46",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF54F0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据错误', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"123456\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF54F0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据错误', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"123456\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF54F0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据错误', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"123456\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF54F0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据错误', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"123456\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "e712d939a568f86b",
"name" : "log",
"source" : "e712d939a568f86b.txt",
"type" : "text/plain",
"size" : 1417
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"password\": \"123456\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的数据错误'"
}, {
"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" : "8fe364b42962493a.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据错误'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "a7e24b2e74e20ac7",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "2740e00b2e54f83c2febf90a3cf2e96a",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4D70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4D70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \nE \t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \nE \t期望数据为:{'message': '添加维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4D70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4D70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \nE \t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \nE \t期望数据为:{'message': '添加维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "ba1407cec3ee7440",
"name" : "log",
"source" : "ba1407cec3ee7440.txt",
"type" : "text/plain",
"size" : 1651
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "添加维度"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'添加维度'"
}, {
"name" : "case",
"value" : "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}"
}, {
"name" : "expect",
"value" : "{'message': '添加维度成功'}"
}, {
"name" : "level",
"value" : "'高'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "'delete from uc_demension where CODE_=\"testDemension\";'"
}, {
"name" : "sql_type",
"value" : "'delete'"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "a7e24b2e74e20ac7.json",
"parameterValues" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}
\ No newline at end of file
{
"uid" : "a83e51b0c458d7f3",
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "bb07c1a1f7ca44b9010ff1e2c69e67a6",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": class}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5130>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据为关键字', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": class}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unrecognized..., column: 40]'\nE \nE + 账号或密码错误\nE - Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\nE - at [Source: (PushbackInputStream); line: 1, column: 40]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5130>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据为关键字', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": class}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": class}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": class}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5130>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据为关键字', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": class}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unrecognized..., column: 40]'\nE \nE + 账号或密码错误\nE - Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\nE - at [Source: (PushbackInputStream); line: 1, column: 40]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5130>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据为关键字', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": class}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": class}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "22c0aa98b8c4f4a4",
"name" : "log",
"source" : "22c0aa98b8c4f4a4.txt",
"type" : "text/plain",
"size" : 1531
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"password\": class}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的数据为关键字'"
}, {
"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" : "a83e51b0c458d7f3.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": class}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为关键字'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "a985f5a47f2f3c88",
"name" : "正向用例",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "13767a5a1d95d1920ab5a6af624e7396",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "711a09a36a377c12",
"name" : "log",
"source" : "711a09a36a377c12.txt",
"type" : "text/plain",
"size" : 792
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "删除组织"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'删除组织'"
}, {
"name" : "case",
"value" : "'testAddOrg'"
}, {
"name" : "expect",
"value" : "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'text/plain'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : [ ],
"tags" : [ ]
},
"source" : "a985f5a47f2f3c88.json",
"parameterValues" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}
\ No newline at end of file
{
"uid" : "a98b5debe4dccf75",
"name" : "反向用例-正确的用户名,密码的数据过短",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "6b39bc6fdfb4174d32b7985953a6a65e",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "418822dcfee1f26b",
"name" : "log",
"source" : "418822dcfee1f26b.txt",
"type" : "text/plain",
"size" : 787
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"password\": \"f\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的数据过短'"
}, {
"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" : "a98b5debe4dccf75.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"f\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过短'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "aa0cb0861afc402a",
"name" : "正向用例",
"fullName" : "test_case.test_bpm_dependency.test_dem#test_get_dem_msg",
"historyId" : "90cd6f3bc6f1cfa2b74132a2925eee99",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576029,
"stop" : 1747019576138,
"duration" : 109
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "set_depend_data_fix",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576218,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576720,
"stop" : 1747019576720,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "set_depend_data_fix::0",
"time" : {
"start" : 1747019576720,
"stop" : 1747019576720,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "story",
"value" : "根据维度编码获取维度信息"
}, {
"name" : "epic",
"value" : "BPM项目-场景测试"
}, {
"name" : "tag",
"value" : "dependency(depends=['test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope='session')"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm_dependency"
}, {
"name" : "suite",
"value" : "test_dem"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm_dependency.test_dem"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ "dependency(depends=['test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope='session')" ]
},
"source" : "aa0cb0861afc402a.json",
"parameterValues" : [ ]
}
\ No newline at end of file
{
"uid" : "b2ab94159d1658f5",
"name" : "正向用例",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "2aef7075a1de8ae954a70cd34e8897aa",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "7a6793221b744456",
"name" : "log",
"source" : "7a6793221b744456.txt",
"type" : "text/plain",
"size" : 792
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "保存组织参数"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'保存组织参数'"
}, {
"name" : "case",
"value" : "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}"
}, {
"name" : "expect",
"value" : "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query|json'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "b2ab94159d1658f5.json",
"parameterValues" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}
\ No newline at end of file
{
"uid" : "b5285477dfeba884",
"name" : "正向用例",
"fullName" : "test_case.test_bpm_dependency.test_dem#test_add_dem",
"historyId" : "de4a055621280e3226d3dbd2768a235d",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576029,
"stop" : 1747019576138,
"duration" : 109
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576720,
"stop" : 1747019576720,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "story",
"value" : "添加维度"
}, {
"name" : "epic",
"value" : "BPM项目-场景测试"
}, {
"name" : "tag",
"value" : "dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login'], scope='session')"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm_dependency"
}, {
"name" : "suite",
"value" : "test_dem"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm_dependency.test_dem"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ "dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login'], scope='session')" ]
},
"source" : "b5285477dfeba884.json",
"parameterValues" : [ ]
}
\ No newline at end of file
{
"uid" : "b62a3b3a7ff376f0",
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "7349b39c0eaf0219095c3c65b71452e1",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5C70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的参数为特殊字符', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5C70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的参数为特殊字符', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5C70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的参数为特殊字符', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5C70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的参数为特殊字符', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "a5c02ff8e5a41988",
"name" : "log",
"source" : "a5c02ff8e5a41988.txt",
"type" : "text/plain",
"size" : 1608
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的参数为特殊字符'"
}, {
"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" : "b62a3b3a7ff376f0.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的参数为特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "b7b711200254f51c",
"name" : "反向用例-正确的用户名,密码多传",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "c3bc8efa03dea07d8223f0baddabf64b",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D90>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码多传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D90>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码多传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D90>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码多传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D90>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码多传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "6c6a3806dd445f7a",
"name" : "log",
"source" : "6c6a3806dd445f7a.txt",
"type" : "text/plain",
"size" : 1604
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码多传'"
}, {
"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" : "b7b711200254f51c.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码多传'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "bb58ae5814657058",
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "ba4043b38be0e15f921e150f16000bd0",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "5876c2b15e1e53e",
"name" : "log",
"source" : "5876c2b15e1e53e.txt",
"type" : "text/plain",
"size" : 787
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的数据特殊字符'"
}, {
"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" : "bb58ae5814657058.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}'", "{'message': '账号或密码错误'}", "'中'", "'json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "cb023bc949d178de",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "1896d19f0b07a1035f53b8c75b566a87",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "5aa7a6c57357954b",
"name" : "log",
"source" : "5aa7a6c57357954b.txt",
"type" : "text/plain",
"size" : 787
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "删除组织"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'删除组织'"
}, {
"name" : "case",
"value" : "'testAddOrg'"
}, {
"name" : "expect",
"value" : "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'text/plain'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : [ ],
"tags" : [ ]
},
"source" : "cb023bc949d178de.json",
"parameterValues" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}
\ No newline at end of file
{
"uid" : "cf1d67883d2cbeb7",
"name" : "反向用例-正确的用户名,密码的数据过长",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "e798d0eb0ddff963d03b6c2d33c250c5",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5940>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据过长', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4...2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000019E1B1A7100>('message')\nE + where <built-in method get of dict object at 0x0000019E1B1A7100> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5940>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据过长', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4...2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5940>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据过长', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4...2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000019E1B1A7100>('message')\nE + where <built-in method get of dict object at 0x0000019E1B1A7100> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5940>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据过长', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4...2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "a3ee2e6328f12a61",
"name" : "log",
"source" : "a3ee2e6328f12a61.txt",
"type" : "text/plain",
"size" : 1967
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的数据过长'"
}, {
"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" : "cf1d67883d2cbeb7.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过长'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "d0b3a3f7156a21a",
"name" : "正向用例",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "87481f56e4611d24b9acdff82da322c0",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/refresh, \n\t用例数据为:None, \n\t期望数据为:{'message': '刷新成功'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4E00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '刷新token'\ntitle = '正向用例', level = '中', req = 'GET', url = 'http://36.139.193.99:8088/refresh', mime = None, case = None, expect = {'message': '刷新成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019E1B1C6600>('message')\nE + where <built-in method get of dict object at 0x0000019E1B1C6600> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4E00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '刷新token'\ntitle = '正向用例', level = '中', req = 'GET', url = 'http://36.139.193.99:8088/refresh', mime = None, case = None, expect = {'message': '刷新成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/refresh, \nE \t用例数据为:None, \nE \t期望数据为:{'message': '刷新成功'}, \nE \t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/refresh, \n\t用例数据为:None, \n\t期望数据为:{'message': '刷新成功'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4E00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '刷新token'\ntitle = '正向用例', level = '中', req = 'GET', url = 'http://36.139.193.99:8088/refresh', mime = None, case = None, expect = {'message': '刷新成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019E1B1C6600>('message')\nE + where <built-in method get of dict object at 0x0000019E1B1C6600> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4E00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '刷新token'\ntitle = '正向用例', level = '中', req = 'GET', url = 'http://36.139.193.99:8088/refresh', mime = None, case = None, expect = {'message': '刷新成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/refresh, \nE \t用例数据为:None, \nE \t期望数据为:{'message': '刷新成功'}, \nE \t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "8647117dd53d7f26",
"name" : "log",
"source" : "8647117dd53d7f26.txt",
"type" : "text/plain",
"size" : 1544
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "刷新token"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'刷新token'"
}, {
"name" : "case",
"value" : "None"
}, {
"name" : "expect",
"value" : "{'message': '刷新成功'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "None"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'GET'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : "d0b3a3f7156a21a.json",
"parameterValues" : [ "'刷新token'", "None", "{'message': '刷新成功'}", "'中'", "None", "'认证接口'", "'GET'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/refresh'" ]
}
\ No newline at end of file
{
"uid" : "d721c3697ca5e8ee",
"name" : "正向用例",
"fullName" : "test_case.test_bpm_dependency.test_auth.TestAuth#test_login",
"historyId" : "4be1007c29874ad657ed2fcd8a25c996",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576029,
"stop" : 1747019576138,
"duration" : 109
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "86dd3b75d48a77ad",
"name" : "log",
"source" : "86dd3b75d48a77ad.txt",
"type" : "text/plain",
"size" : 2571
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576720,
"stop" : 1747019576720,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "epic",
"value" : "BPM项目-场景测试"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "tag",
"value" : "dependency(scope='session')"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm_dependency"
}, {
"name" : "suite",
"value" : "test_auth"
}, {
"name" : "subSuite",
"value" : "TestAuth"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm_dependency.test_auth"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ ],
"links" : [ ],
"hidden" : false,
"retry" : false,
"extra" : {
"severity" : "normal",
"retries" : [ ],
"categories" : [ ],
"tags" : [ "dependency(scope='session')" ]
},
"source" : "d721c3697ca5e8ee.json",
"parameterValues" : [ ]
}
\ No newline at end of file
{
"uid" : "e2a4d7eb7d2cccf7",
"name" : "反向用例-ids为id",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "fa566eaf579c6b50275b0a55ae3cfa58",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF46E0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度失败' == '删除维度失败,维度ids必填'\nE \nE - 删除维度失败,维度ids必填\nE + 删除维度失败\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF46E0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:id=需要更新, \nE \t期望数据为:{'message': '删除维度失败'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF46E0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度失败' == '删除维度失败,维度ids必填'\nE \nE - 删除维度失败,维度ids必填\nE + 删除维度失败\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF46E0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:id=需要更新, \nE \t期望数据为:{'message': '删除维度失败'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "e01cf78f8687dd3d",
"name" : "log",
"source" : "e01cf78f8687dd3d.txt",
"type" : "text/plain",
"size" : 1631
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "维度管理"
}, {
"name" : "story",
"value" : "根据维度编码删除维度"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'根据维度编码删除维度'"
}, {
"name" : "case",
"value" : "'id=需要更新'"
}, {
"name" : "expect",
"value" : "{'message': '删除维度失败'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'query'"
}, {
"name" : "module",
"value" : "'维度管理'"
}, {
"name" : "req",
"value" : "'DELETE'"
}, {
"name" : "sql_data",
"value" : "'select ID_ from uc_demension where CODE_=\"testDemension\";'"
}, {
"name" : "sql_type",
"value" : "'select'"
}, {
"name" : "title",
"value" : "'反向用例-ids为id'"
}, {
"name" : "update_key",
"value" : "'需要更新'"
}, {
"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" : "e2a4d7eb7d2cccf7.json",
"parameterValues" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}
\ No newline at end of file
{
"uid" : "f7d0b47793d227",
"name" : "正向用例",
"fullName" : "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm",
"historyId" : "cb2f80d173e55aadfac7cbbef293b3bf",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"status" : "passed",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "req_fix",
"time" : {
"start" : 1747019576265,
"stop" : 1747019576334,
"duration" : 69
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "passed",
"steps" : [ ],
"attachments" : [ {
"uid" : "4f019909059398f5",
"name" : "log",
"source" : "4f019909059398f5.txt",
"type" : "text/plain",
"size" : 1236
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : false
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576717,
"stop" : 1747019576718,
"duration" : 1
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "组织管理"
}, {
"name" : "story",
"value" : "添加组织"
}, {
"name" : "severity",
"value" : "高"
}, {
"name" : "epic",
"value" : "BPM项目-张三"
}, {
"name" : "parentSuite",
"value" : "test_case.test_zhangsan"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_zhangsan.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'添加组织'"
}, {
"name" : "case",
"value" : "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"
}, {
"name" : "expect",
"value" : "{'message': '添加组织成功!'}"
}, {
"name" : "level",
"value" : "'高'"
}, {
"name" : "mime",
"value" : "'json'"
}, {
"name" : "module",
"value" : "'组织管理'"
}, {
"name" : "req",
"value" : "'post'"
}, {
"name" : "sql_data",
"value" : "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}"
}, {
"name" : "sql_type",
"value" : "'delete|select'"
}, {
"name" : "title",
"value" : "'正向用例'"
}, {
"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" : [ ],
"tags" : [ ]
},
"source" : "f7d0b47793d227.json",
"parameterValues" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', '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" : "fee0ec635e87eefd",
"name" : "反向用例-正确的用户名,密码的key为class",
"fullName" : "test_case.test_bpm.test_bpm.TestBPM#test_bpm",
"historyId" : "9fe5fecf873e461cfef4201f6117a2c0",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AB5E5D0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为class', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unexpected c..., column: 23]'\nE \nE + 账号或密码错误\nE - Unexpected character ('c' (code 99)): was expecting double-quote to start field name\nE - at [Source: (PushbackInputStream); line: 1, column: 23]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AB5E5D0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为class', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"flaky" : false,
"newFailed" : false,
"beforeStages" : [ {
"name" : "_session_faker",
"time" : {
"start" : 1747019574633,
"stop" : 1747019574796,
"duration" : 163
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
}, {
"name" : "req_fix",
"time" : {
"start" : 1747019574796,
"stop" : 1747019574873,
"duration" : 77
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"testStage" : {
"status" : "failed",
"statusMessage" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}",
"statusTrace" : "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AB5E5D0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为class', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unexpected c..., column: 23]'\nE \nE + 账号或密码错误\nE - Unexpected character ('c' (code 99)): was expecting double-quote to start field name\nE - at [Source: (PushbackInputStream); line: 1, column: 23]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AB5E5D0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为class', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError",
"steps" : [ ],
"attachments" : [ {
"uid" : "a3d504b870345a3f",
"name" : "log",
"source" : "a3d504b870345a3f.txt",
"type" : "text/plain",
"size" : 1666
} ],
"parameters" : [ ],
"hasContent" : true,
"stepsCount" : 0,
"attachmentsCount" : 1,
"shouldDisplayMessage" : true
},
"afterStages" : [ {
"name" : "req_fix::0",
"time" : {
"start" : 1747019576721,
"stop" : 1747019576721,
"duration" : 0
},
"status" : "passed",
"steps" : [ ],
"attachments" : [ ],
"parameters" : [ ],
"hasContent" : false,
"stepsCount" : 0,
"attachmentsCount" : 0,
"shouldDisplayMessage" : false
} ],
"labels" : [ {
"name" : "feature",
"value" : "认证接口"
}, {
"name" : "story",
"value" : "登录系统"
}, {
"name" : "severity",
"value" : "中"
}, {
"name" : "epic",
"value" : "BPM项目"
}, {
"name" : "parentSuite",
"value" : "test_case.test_bpm"
}, {
"name" : "suite",
"value" : "test_bpm"
}, {
"name" : "subSuite",
"value" : "TestBPM"
}, {
"name" : "host",
"value" : "MasterOfTime"
}, {
"name" : "thread",
"value" : "24496-MainThread"
}, {
"name" : "framework",
"value" : "pytest"
}, {
"name" : "language",
"value" : "cpython3"
}, {
"name" : "package",
"value" : "test_case.test_bpm.test_bpm"
}, {
"name" : "resultFormat",
"value" : "allure2"
} ],
"parameters" : [ {
"name" : "api",
"value" : "'登录系统'"
}, {
"name" : "case",
"value" : "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"
}, {
"name" : "expect",
"value" : "{'message': '账号或密码错误'}"
}, {
"name" : "level",
"value" : "'中'"
}, {
"name" : "mime",
"value" : "'application/json'"
}, {
"name" : "module",
"value" : "'认证接口'"
}, {
"name" : "req",
"value" : "'POST'"
}, {
"name" : "sql_data",
"value" : "None"
}, {
"name" : "sql_type",
"value" : "None"
}, {
"name" : "title",
"value" : "'反向用例-正确的用户名,密码的key为class'"
}, {
"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" : "fee0ec635e87eefd.json",
"parameterValues" : [ "'登录系统'", "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为class'", "None", "'http://36.139.193.99:8088/auth'" ]
}
\ No newline at end of file
{
"uid" : "ab17fc5a4eb3bca4b216b548c7f9fcbc",
"name" : "timeline",
"children" : [ {
"name" : "MasterOfTime",
"children" : [ {
"name" : "24496-MainThread",
"children" : [ {
"name" : "正向用例",
"uid" : "1b1e9e2c670046d",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "787d13f815f637f0",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "cb023bc949d178de",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "70dd418228effa07",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "反向用例-正确的用户名,密码的key为class",
"uid" : "fee0ec635e87eefd",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为class'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"uid" : "a83e51b0c458d7f3",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": class}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为关键字'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "f7d0b47793d227",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"uid" : "b62a3b3a7ff376f0",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的参数为特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "7e0b7bd33b895f8a",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
}, {
"name" : "正向用例-正确的用户名和密码进行登录",
"uid" : "3f0c3973119da4cd",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "{'username': 'admin', 'password': 'fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8='}", "{'username': '超级管理员', 'loginStatus': True}", "'高'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'正向用例-正确的用户名和密码进行登录'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过长",
"uid" : "cf1d67883d2cbeb7",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过长'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据错误",
"uid" : "8fe364b42962493a",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据错误'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "a985f5a47f2f3c88",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'删除组织'", "'testAddOrg'", "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}", "'中'", "'text/plain'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'" ]
}, {
"name" : "正向用例",
"uid" : "b5285477dfeba884",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "反向用例-正确的用户名,密码的key为空",
"uid" : "17d2b6d9ef085d5b",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的key为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据过短",
"uid" : "a98b5debe4dccf75",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"f\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据过短'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "a7e24b2e74e20ac7",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "d0b3a3f7156a21a",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'刷新token'", "None", "{'message': '刷新成功'}", "'中'", "None", "'认证接口'", "'GET'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/refresh'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"uid" : "bb58ae5814657058",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}'", "{'message': '账号或密码错误'}", "'中'", "'json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据特殊字符'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "520162bc4dad26ab",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}, {
"name" : "反向用例-ids为id",
"uid" : "e2a4d7eb7d2cccf7",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "'id=需要更新'", "{'message': '删除维度失败'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'反向用例-ids为id'", "'需要更新'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "aa0cb0861afc402a",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "d721c3697ca5e8ee",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "2458fb6e8e87af68",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加组织'", "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}", "{'message': '添加组织成功!'}", "'高'", "'json'", "'组织管理'", "'post'", "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}", "'delete|select'", "'正向用例'", "'demId'", "'http://36.139.193.99:8088/api/org/v1/org/addOrg'" ]
}, {
"name" : "反向用例-正确的用户名,密码多传",
"uid" : "b7b711200254f51c",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码多传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "457c4c055e391900",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'添加维度'", "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}", "{'message': '添加维度成功'}", "'高'", "'application/json'", "'维度管理'", "'post'", "'delete from uc_demension where CODE_=\"testDemension\";'", "'delete'", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'" ]
}, {
"name" : "正向用例",
"uid" : "5da87b3e30b3287c",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ ]
}, {
"name" : "正向用例",
"uid" : "21553a843b64f89c",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "5330d85959a42055",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码获取维度信息'", "'code=testDemension'", "{'isDelete': '0'}", "'中'", "'query'", "'维度管理'", "'get'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'" ]
}, {
"name" : "反向用例-正确的用户名,密码不传",
"uid" : "2da261ae2c141e57",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码不传'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "反向用例-正确的用户名,密码的数据为空",
"uid" : "221c79a4340c17eb",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'登录系统'", "'{\"username\": \"admin\",\"password\": \"\"}'", "{'message': '账号或密码错误'}", "'中'", "'application/json'", "'认证接口'", "'POST'", "None", "None", "'反向用例-正确的用户名,密码的数据为空'", "None", "'http://36.139.193.99:8088/auth'" ]
}, {
"name" : "正向用例",
"uid" : "722c7525bf5c127a",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "failed",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'根据维度编码删除维度'", "{'ids': '需要更新'}", "{'message': '删除维度成功'}", "'中'", "'query'", "'维度管理'", "'DELETE'", "'select ID_ from uc_demension where CODE_=\"testDemension\";'", "'select'", "'正向用例'", "'ids'", "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'" ]
}, {
"name" : "正向用例",
"uid" : "b2ab94159d1658f5",
"parentUid" : "799d5fe833c7b11fa749fa6b19dba67a",
"status" : "passed",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"flaky" : false,
"newFailed" : false,
"parameters" : [ "'保存组织参数'", "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}", "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}", "'中'", "'query|json'", "'组织管理'", "'post'", "None", "None", "'正向用例'", "None", "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'" ]
} ],
"uid" : "799d5fe833c7b11fa749fa6b19dba67a"
} ],
"uid" : "caef606ebd9d7c2a5f5a0b38e7b44993"
} ]
}
\ No newline at end of file
launch_status failed=15 1747019612000000000
launch_status broken=0 1747019612000000000
launch_status passed=18 1747019612000000000
launch_status skipped=0 1747019612000000000
launch_status unknown=0 1747019612000000000
launch_time duration=1827 1747019612000000000
launch_time min_duration=13 1747019612000000000
launch_time max_duration=53 1747019612000000000
launch_time sum_duration=917 1747019612000000000
launch_problems product_defects=15 1747019612000000000
launch_retries retries=0 1747019612000000000
launch_retries run=33 1747019612000000000
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Allure Report summary mail</title>
</head>
<body>
Mail body
</body>
</html>
launch_status_failed 15
launch_status_broken 0
launch_status_passed 18
launch_status_skipped 0
launch_status_unknown 0
launch_time_duration 1827
launch_time_min_duration 13
launch_time_max_duration 53
launch_time_sum_duration 917
launch_problems_product_defects 15
launch_retries_retries 0
launch_retries_run 33
module.exports = __webpack_public_path__ + "favicon.ico";
\ No newline at end of file
[ {
"data" : {
"Product defects" : 15
}
} ]
\ No newline at end of file
[ {
"data" : {
"duration" : 1827
}
} ]
\ No newline at end of file
[ {
"data" : {
"failed" : 15,
"broken" : 0,
"skipped" : 0,
"passed" : 18,
"unknown" : 0,
"total" : 33
}
} ]
\ No newline at end of file
{
"c3bc8efa03dea07d8223f0baddabf64b" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "b7b711200254f51c",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
}
} ]
},
"2740e00b2e54f83c2febf90a3cf2e96a" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "a7e24b2e74e20ac7",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
}
} ]
},
"fa566eaf579c6b50275b0a55ae3cfa58" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "e2a4d7eb7d2cccf7",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
}
} ]
},
"89531fdad5fd4b0247c0e8e26f94dae6" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "221c79a4340c17eb",
"status" : "passed",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
}
} ]
},
"496af5000f32ab5d6f22ad1a5a9a15d3" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "2458fb6e8e87af68",
"status" : "passed",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
}
} ]
},
"92ce92b1ce2de0d9e6571fd01eab8678" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "21553a843b64f89c",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763982101192704'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
}
} ]
},
"bb07c1a1f7ca44b9010ff1e2c69e67a6" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "a83e51b0c458d7f3",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": class}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
}
} ]
},
"f0e544d2d1fc32d0184fdce24766dc87" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "787d13f815f637f0",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
}
} ]
},
"f7d13324fa5be8896c9957870e56e4e0" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "5da87b3e30b3287c",
"status" : "passed",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
}
} ]
},
"7349b39c0eaf0219095c3c65b71452e1" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "b62a3b3a7ff376f0",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
}
} ]
},
"db4660a4865247a399d925b9a4724cbd" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "3f0c3973119da4cd",
"status" : "passed",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
}
} ]
},
"87481f56e4611d24b9acdff82da322c0" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "d0b3a3f7156a21a",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/refresh, \n\t用例数据为:None, \n\t期望数据为:{'message': '刷新成功'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
}
} ]
},
"95dc8e84e06c52d8f733ac9b7ef0cd46" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "8fe364b42962493a",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
}
} ]
},
"2aef7075a1de8ae954a70cd34e8897aa" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "b2ab94159d1658f5",
"status" : "passed",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
}
} ]
},
"b185b27a1a5b2067539258756d0f7e68" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "2da261ae2c141e57",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
}
} ]
},
"ba4043b38be0e15f921e150f16000bd0" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "bb58ae5814657058",
"status" : "passed",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
}
} ]
},
"de4a055621280e3226d3dbd2768a235d" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "b5285477dfeba884",
"status" : "passed",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
}
} ]
},
"90cd6f3bc6f1cfa2b74132a2925eee99" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "aa0cb0861afc402a",
"status" : "passed",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
}
} ]
},
"13767a5a1d95d1920ab5a6af624e7396" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "a985f5a47f2f3c88",
"status" : "passed",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
}
} ]
},
"65973827dcb7e1d88dfc9fc091290c3b" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "1b1e9e2c670046d",
"status" : "passed",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
}
} ]
},
"cb2f80d173e55aadfac7cbbef293b3bf" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "f7d0b47793d227",
"status" : "passed",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
}
} ]
},
"9fe5fecf873e461cfef4201f6117a2c0" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "fee0ec635e87eefd",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
}
} ]
},
"4be1007c29874ad657ed2fcd8a25c996" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "d721c3697ca5e8ee",
"status" : "passed",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
}
} ]
},
"c2fd5768cf67220112664c59c15e5d4b" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "520162bc4dad26ab",
"status" : "passed",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
}
} ]
},
"dd1a62ebfc3a9c9b3fd0cac49c43cc48" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "5330d85959a42055",
"status" : "passed",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
}
} ]
},
"e798d0eb0ddff963d03b6c2d33c250c5" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "cf1d67883d2cbeb7",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
}
} ]
},
"6b39bc6fdfb4174d32b7985953a6a65e" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "a98b5debe4dccf75",
"status" : "passed",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
}
} ]
},
"8687b4a8fef8327a1773b301d65e72ee" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "7e0b7bd33b895f8a",
"status" : "passed",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
}
} ]
},
"8fec6960b41998b3624c23fc2c981fb0" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "722c7525bf5c127a",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763984835878912'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
}
} ]
},
"622a3347fe4a9dcc000480e8fd9c0ecc" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "17d2b6d9ef085d5b",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
}
} ]
},
"7d3e66ec146aefcd8a2d784d037febd7" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "70dd418228effa07",
"status" : "passed",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
}
} ]
},
"d717d0670b53f15b03daec347766ae53" : {
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "457c4c055e391900",
"status" : "failed",
"statusDetails" : "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
}
} ]
},
"1896d19f0b07a1035f53b8c75b566a87" : {
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 1
},
"items" : [ {
"uid" : "cb023bc949d178de",
"status" : "passed",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
}
} ]
}
}
\ No newline at end of file
[ {
"data" : {
"run" : 33,
"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" : 3,
"items" : [ {
"uid" : "3b0c860e826bdb0ac19bd7cb60857b89",
"name" : "BPM项目",
"statistic" : {
"failed" : 2,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 3
}
}, {
"uid" : "76c18cc8f6208673d0c44358a39dd6ab",
"name" : "BPM项目-张三",
"statistic" : {
"failed" : 1,
"broken" : 0,
"skipped" : 0,
"passed" : 1,
"unknown" : 0,
"total" : 2
}
}, {
"uid" : "be26b43cea4866b1893be8ec3cd265e9",
"name" : "BPM项目-场景测试",
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 3,
"unknown" : 0,
"total" : 3
}
} ]
}
\ No newline at end of file
[ {
"data" : {
"Product defects" : 15
}
} ]
\ No newline at end of file
{
"total" : 1,
"items" : [ {
"uid" : "8fb3a91ba5aaf9de24cc8a92edc82b5d",
"name" : "Product defects",
"statistic" : {
"failed" : 15,
"broken" : 0,
"skipped" : 0,
"passed" : 0,
"unknown" : 0,
"total" : 15
}
} ]
}
\ No newline at end of file
[ {
"data" : {
"duration" : 1827
}
} ]
\ No newline at end of file
[ {
"uid" : "a985f5a47f2f3c88",
"name" : "正向用例",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "221c79a4340c17eb",
"name" : "反向用例-正确的用户名,密码的数据为空",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "17d2b6d9ef085d5b",
"name" : "反向用例-正确的用户名,密码的key为空",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "520162bc4dad26ab",
"name" : "正向用例",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "8fe364b42962493a",
"name" : "反向用例-正确的用户名,密码的数据错误",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "e2a4d7eb7d2cccf7",
"name" : "反向用例-ids为id",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "aa0cb0861afc402a",
"name" : "正向用例",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7e0b7bd33b895f8a",
"name" : "正向用例",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "d0b3a3f7156a21a",
"name" : "正向用例",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "d721c3697ca5e8ee",
"name" : "正向用例",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b7b711200254f51c",
"name" : "反向用例-正确的用户名,密码多传",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b5285477dfeba884",
"name" : "正向用例",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b2ab94159d1658f5",
"name" : "正向用例",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "2458fb6e8e87af68",
"name" : "正向用例",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "bb58ae5814657058",
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5330d85959a42055",
"name" : "正向用例",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a98b5debe4dccf75",
"name" : "反向用例-正确的用户名,密码的数据过短",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a7e24b2e74e20ac7",
"name" : "正向用例",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cf1d67883d2cbeb7",
"name" : "反向用例-正确的用户名,密码的数据过长",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1b1e9e2c670046d",
"name" : "正向用例",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "fee0ec635e87eefd",
"name" : "反向用例-正确的用户名,密码的key为class",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "70dd418228effa07",
"name" : "正向用例",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "722c7525bf5c127a",
"name" : "正向用例",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "787d13f815f637f0",
"name" : "反向用例-ids为id",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "3f0c3973119da4cd",
"name" : "正向用例-正确的用户名和密码进行登录",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b62a3b3a7ff376f0",
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "f7d0b47793d227",
"name" : "正向用例",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a83e51b0c458d7f3",
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "5da87b3e30b3287c",
"name" : "正向用例",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "21553a843b64f89c",
"name" : "正向用例",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cb023bc949d178de",
"name" : "正向用例",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "2da261ae2c141e57",
"name" : "反向用例-正确的用户名,密码不传",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "457c4c055e391900",
"name" : "正向用例",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"status" : "failed",
"severity" : "normal"
} ]
\ No newline at end of file
[ {
"data" : {
"failed" : 15,
"broken" : 0,
"skipped" : 0,
"passed" : 18,
"unknown" : 0,
"total" : 33
}
} ]
\ No newline at end of file
[ {
"data" : {
"run" : 33,
"retry" : 0
}
} ]
\ No newline at end of file
[ {
"uid" : "457c4c055e391900",
"name" : "正向用例",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b62a3b3a7ff376f0",
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b2ab94159d1658f5",
"name" : "正向用例",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5da87b3e30b3287c",
"name" : "正向用例",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "3f0c3973119da4cd",
"name" : "正向用例-正确的用户名和密码进行登录",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "8fe364b42962493a",
"name" : "反向用例-正确的用户名,密码的数据错误",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "787d13f815f637f0",
"name" : "反向用例-ids为id",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a83e51b0c458d7f3",
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a985f5a47f2f3c88",
"name" : "正向用例",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "e2a4d7eb7d2cccf7",
"name" : "反向用例-ids为id",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "f7d0b47793d227",
"name" : "正向用例",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "17d2b6d9ef085d5b",
"name" : "反向用例-正确的用户名,密码的key为空",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cb023bc949d178de",
"name" : "正向用例",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "70dd418228effa07",
"name" : "正向用例",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7e0b7bd33b895f8a",
"name" : "正向用例",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "aa0cb0861afc402a",
"name" : "正向用例",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "2458fb6e8e87af68",
"name" : "正向用例",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "d721c3697ca5e8ee",
"name" : "正向用例",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5330d85959a42055",
"name" : "正向用例",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "cf1d67883d2cbeb7",
"name" : "反向用例-正确的用户名,密码的数据过长",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "a7e24b2e74e20ac7",
"name" : "正向用例",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "21553a843b64f89c",
"name" : "正向用例",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "fee0ec635e87eefd",
"name" : "反向用例-正确的用户名,密码的key为class",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "2da261ae2c141e57",
"name" : "反向用例-正确的用户名,密码不传",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1b1e9e2c670046d",
"name" : "正向用例",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "221c79a4340c17eb",
"name" : "反向用例-正确的用户名,密码的数据为空",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "722c7525bf5c127a",
"name" : "正向用例",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b5285477dfeba884",
"name" : "正向用例",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "d0b3a3f7156a21a",
"name" : "正向用例",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "bb58ae5814657058",
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "520162bc4dad26ab",
"name" : "正向用例",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a98b5debe4dccf75",
"name" : "反向用例-正确的用户名,密码的数据过短",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b7b711200254f51c",
"name" : "反向用例-正确的用户名,密码多传",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
} ]
\ No newline at end of file
[ {
"uid" : "a985f5a47f2f3c88",
"name" : "正向用例",
"time" : {
"start" : 1747019576563,
"stop" : 1747019576616,
"duration" : 53
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "221c79a4340c17eb",
"name" : "反向用例-正确的用户名,密码的数据为空",
"time" : {
"start" : 1747019575570,
"stop" : 1747019575597,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "17d2b6d9ef085d5b",
"name" : "反向用例-正确的用户名,密码的key为空",
"time" : {
"start" : 1747019575242,
"stop" : 1747019575257,
"duration" : 15
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "520162bc4dad26ab",
"name" : "正向用例",
"time" : {
"start" : 1747019575737,
"stop" : 1747019575758,
"duration" : 21
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "8fe364b42962493a",
"name" : "反向用例-正确的用户名,密码的数据错误",
"time" : {
"start" : 1747019575529,
"stop" : 1747019575549,
"duration" : 20
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "e2a4d7eb7d2cccf7",
"name" : "反向用例-ids为id",
"time" : {
"start" : 1747019575991,
"stop" : 1747019576010,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "aa0cb0861afc402a",
"name" : "正向用例",
"time" : {
"start" : 1747019576218,
"stop" : 1747019576231,
"duration" : 13
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "7e0b7bd33b895f8a",
"name" : "正向用例",
"time" : {
"start" : 1747019575819,
"stop" : 1747019575846,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "d0b3a3f7156a21a",
"name" : "正向用例",
"time" : {
"start" : 1747019575643,
"stop" : 1747019575670,
"duration" : 27
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "d721c3697ca5e8ee",
"name" : "正向用例",
"time" : {
"start" : 1747019576139,
"stop" : 1747019576167,
"duration" : 28
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b7b711200254f51c",
"name" : "反向用例-正确的用户名,密码多传",
"time" : {
"start" : 1747019575276,
"stop" : 1747019575297,
"duration" : 21
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "b5285477dfeba884",
"name" : "正向用例",
"time" : {
"start" : 1747019576171,
"stop" : 1747019576215,
"duration" : 44
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b2ab94159d1658f5",
"name" : "正向用例",
"time" : {
"start" : 1747019576476,
"stop" : 1747019576503,
"duration" : 27
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "2458fb6e8e87af68",
"name" : "正向用例",
"time" : {
"start" : 1747019575768,
"stop" : 1747019575808,
"duration" : 40
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "bb58ae5814657058",
"name" : "反向用例-正确的用户名,密码的数据特殊字符",
"time" : {
"start" : 1747019575492,
"stop" : 1747019575517,
"duration" : 25
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "5330d85959a42055",
"name" : "正向用例",
"time" : {
"start" : 1747019576395,
"stop" : 1747019576410,
"duration" : 15
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a98b5debe4dccf75",
"name" : "反向用例-正确的用户名,密码的数据过短",
"time" : {
"start" : 1747019575458,
"stop" : 1747019575479,
"duration" : 21
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a7e24b2e74e20ac7",
"name" : "正向用例",
"time" : {
"start" : 1747019575686,
"stop" : 1747019575719,
"duration" : 33
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cf1d67883d2cbeb7",
"name" : "反向用例-正确的用户名,密码的数据过长",
"time" : {
"start" : 1747019575400,
"stop" : 1747019575438,
"duration" : 38
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "1b1e9e2c670046d",
"name" : "正向用例",
"time" : {
"start" : 1747019575856,
"stop" : 1747019575887,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "fee0ec635e87eefd",
"name" : "反向用例-正确的用户名,密码的key为class",
"time" : {
"start" : 1747019574926,
"stop" : 1747019574941,
"duration" : 15
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "70dd418228effa07",
"name" : "正向用例",
"time" : {
"start" : 1747019576527,
"stop" : 1747019576552,
"duration" : 25
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "722c7525bf5c127a",
"name" : "正向用例",
"time" : {
"start" : 1747019576624,
"stop" : 1747019576668,
"duration" : 44
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "787d13f815f637f0",
"name" : "反向用例-ids为id",
"time" : {
"start" : 1747019576685,
"stop" : 1747019576703,
"duration" : 18
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "3f0c3973119da4cd",
"name" : "正向用例-正确的用户名和密码进行登录",
"time" : {
"start" : 1747019574876,
"stop" : 1747019574907,
"duration" : 31
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "b62a3b3a7ff376f0",
"name" : "反向用例-正确的用户名,密码的参数为特殊字符",
"time" : {
"start" : 1747019575356,
"stop" : 1747019575378,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "f7d0b47793d227",
"name" : "正向用例",
"time" : {
"start" : 1747019576419,
"stop" : 1747019576465,
"duration" : 46
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "a83e51b0c458d7f3",
"name" : "反向用例-正确的用户名,密码的数据为关键字",
"time" : {
"start" : 1747019575607,
"stop" : 1747019575626,
"duration" : 19
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "5da87b3e30b3287c",
"name" : "正向用例",
"time" : {
"start" : 1747019576236,
"stop" : 1747019576262,
"duration" : 26
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "21553a843b64f89c",
"name" : "正向用例",
"time" : {
"start" : 1747019575943,
"stop" : 1747019575971,
"duration" : 28
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "cb023bc949d178de",
"name" : "正向用例",
"time" : {
"start" : 1747019575898,
"stop" : 1747019575934,
"duration" : 36
},
"status" : "passed",
"severity" : "normal"
}, {
"uid" : "2da261ae2c141e57",
"name" : "反向用例-正确的用户名,密码不传",
"time" : {
"start" : 1747019575317,
"stop" : 1747019575339,
"duration" : 22
},
"status" : "failed",
"severity" : "normal"
}, {
"uid" : "457c4c055e391900",
"name" : "正向用例",
"time" : {
"start" : 1747019576335,
"stop" : 1747019576375,
"duration" : 40
},
"status" : "failed",
"severity" : "normal"
} ]
\ No newline at end of file
{
"total" : 3,
"items" : [ {
"uid" : "984732065b98c3e55fced1b71055797c",
"name" : "test_case.test_bpm",
"statistic" : {
"failed" : 12,
"broken" : 0,
"skipped" : 0,
"passed" : 9,
"unknown" : 0,
"total" : 21
}
}, {
"uid" : "54dd471d3cdc5328579b44234e5c46f3",
"name" : "test_case.test_zhangsan",
"statistic" : {
"failed" : 3,
"broken" : 0,
"skipped" : 0,
"passed" : 5,
"unknown" : 0,
"total" : 8
}
}, {
"uid" : "727cdc55e0284d10bada9eae3e5356f7",
"name" : "test_case.test_bpm_dependency",
"statistic" : {
"failed" : 0,
"broken" : 0,
"skipped" : 0,
"passed" : 4,
"unknown" : 0,
"total" : 4
}
} ]
}
\ No newline at end of file
{
"reportName" : "Allure Report",
"testRuns" : [ ],
"statistic" : {
"failed" : 15,
"broken" : 0,
"skipped" : 0,
"passed" : 18,
"unknown" : 0,
"total" : 33
},
"time" : {
"start" : 1747019574876,
"stop" : 1747019576703,
"duration" : 1827,
"minDuration" : 13,
"maxDuration" : 53,
"sumDuration" : 917
}
}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin",class: "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 1, column: 23]","code":200,"logId":"1921763978854801408"}
\ No newline at end of file
{"uuid": "d492dd61-5240-4d93-9a4f-6d225e74a42f", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575349}
\ No newline at end of file
{"uuid": "f71918b5-8843-40ad-8403-63b95e106e6e", "befores": [{"name": "expect", "status": "passed", "start": 1747019575943, "stop": 1747019575943}], "start": 1747019575943, "stop": 1747019575983}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "5bfb8c1c-fc67-4493-b3a9-5857097894fd-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'删除组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'"}, {"name": "mime", "value": "'text/plain'"}, {"name": "case", "value": "'testAddOrg'"}, {"name": "expect", "value": "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575898, "stop": 1747019575934, "uuid": "a2e8e07b-29ee-43a5-93a1-cf2811413a86", "historyId": "1896d19f0b07a1035f53b8c75b566a87", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "删除组织"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "0f5ca119-d902-452d-aee1-052327aa7a4d", "befores": [{"name": "module", "status": "passed", "start": 1747019574874, "stop": 1747019574874}], "start": 1747019574874, "stop": 1747019574921}
\ No newline at end of file
{"uuid": "982ac470-23c9-4422-a4cd-344469489ca3", "befores": [{"name": "api", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575237}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": "123456"},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763981413326848"}
\ No newline at end of file
{"uuid": "144c3ece-b60f-4f0d-bd61-353f37e11720", "befores": [{"name": "req", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576390}
\ No newline at end of file
{"uuid": "df36f65a-2ac0-4315-a55f-280da05ffda7", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575450}
\ No newline at end of file
{"uuid": "d6fb279a-fdca-498e-8f72-1860527b61ec", "befores": [{"name": "module", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575564}
\ No newline at end of file
{"uuid": "bc8c3012-d06b-4e8c-b230-7723c8ac3a47", "befores": [{"name": "title", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575453}
\ No newline at end of file
{"uuid": "53702289-2875-441a-b385-728442e5eb6c", "befores": [{"name": "module", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575851}
\ No newline at end of file
{"uuid": "565fc4f2-b4e2-4980-93df-75b49cae381d", "befores": [{"name": "level", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576391}
\ No newline at end of file
{"uuid": "f1fa2741-899c-495b-af68-031cc7d58ce3", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575935}
\ No newline at end of file
{"uuid": "a11b40ae-9ae5-4fdd-9923-cb1ad5da3735", "befores": [{"name": "case", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575848}
\ No newline at end of file
{"uuid": "6038cfe6-692b-45a6-bf08-7ab72bf9d418", "befores": [{"name": "api", "status": "passed", "start": 1747019574874, "stop": 1747019574874}], "start": 1747019574874, "stop": 1747019574919}
\ No newline at end of file
{"uuid": "e57df22b-680e-4834-8374-50c19fa08922", "befores": [{"name": "req", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575235}
\ No newline at end of file
{"uuid": "6e4a1a80-9022-430f-8ba4-5136eb305cc5", "children": ["38b4c742-e72f-460a-bf89-c64b19fc8f04", "12ba8787-17cb-44fb-b54c-5739c5ccc811", "cad43113-c822-45dc-84bb-39898123affd", "cb7547bf-b4db-4e57-8760-7a14d8a805ab", "d7d8abcc-24ce-49d3-9c47-d8e34d3480c6", "9b2f76ee-f2a7-40e6-a2e5-bcd9f4457aee", "93c1ddfd-a2ec-4e69-baf4-c9af513623de", "e10831ec-e834-4811-9db0-c0a7c0032998"], "befores": [{"name": "req_fix", "status": "passed", "start": 1747019576265, "stop": 1747019576334}], "afters": [{"name": "req_fix::0", "status": "passed", "start": 1747019576717, "stop": 1747019576718}], "start": 1747019576265, "stop": 1747019576718}
\ No newline at end of file
{"uuid": "370a498f-1361-449d-8bab-1b6b0c1845e0", "befores": [{"name": "title", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575522}
\ No newline at end of file
{"uuid": "389c34fb-74f6-4bd1-a214-fc49bd7e0572", "befores": [{"name": "title", "status": "passed", "start": 1747019576334, "stop": 1747019576334}], "start": 1747019576334, "stop": 1747019576391}
\ No newline at end of file
{"uuid": "5f7397fd-eb89-4eb4-8c5a-1296c76de732", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576711}
\ No newline at end of file
{"uuid": "2a3e8ef8-2998-4589-994a-a3a4ad2ce8cf", "befores": [{"name": "module", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575238}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}", "trace": "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1AFB36B0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1AFB36B0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \nE \t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \nE \t期望数据为:{'message': '添加维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError"}, "attachments": [{"name": "log", "source": "d570ab48-d828-499a-8fe7-27f2782200a0-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'添加维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}"}, {"name": "expect", "value": "{'message': '添加维度成功'}"}, {"name": "sql_type", "value": "'delete'"}, {"name": "sql_data", "value": "'delete from uc_demension where CODE_=\"testDemension\";'"}, {"name": "update_key", "value": "None"}], "start": 1747019576335, "stop": 1747019576375, "uuid": "38b4c742-e72f-460a-bf89-c64b19fc8f04", "historyId": "d717d0670b53f15b03daec347766ae53", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "添加维度"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "a12123ce-beec-4ba1-a422-f397c13fb852", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575556}
\ No newline at end of file
{"uuid": "dc527225-cc95-439d-9774-67d72a193a52", "befores": [{"name": "url", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575452}
\ No newline at end of file
{"uuid": "b951d16a-2014-40e3-b037-4eedf6f18ec5", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576563, "stop": 1747019576563}], "start": 1747019576563, "stop": 1747019576616}
\ No newline at end of file
{"uuid": "280a4071-dcc5-4852-8ada-293608c2d101", "befores": [{"name": "mime", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576388}
\ No newline at end of file
{"uuid": "769e463b-3472-44bc-a74d-f07114d2336b", "befores": [{"name": "module", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575603}
\ No newline at end of file
{"uuid": "84462d87-8fc6-4808-94eb-4d5f3cf3c8be", "befores": [{"name": "url", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576714}
\ No newline at end of file
{"name": "反向用例-ids为id", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF46E0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度失败' == '删除维度失败,维度ids必填'\nE \nE - 删除维度失败,维度ids必填\nE + 删除维度失败\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF46E0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:id=需要更新, \nE \t期望数据为:{'message': '删除维度失败'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763983346900992\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "ef2cf3fd-3fa2-409e-95a4-387d1c9edd0b-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'反向用例-ids为id'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'DELETE'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case", "value": "'id=需要更新'"}, {"name": "expect", "value": "{'message': '删除维度失败'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'select ID_ from uc_demension where CODE_=\"testDemension\";'"}, {"name": "update_key", "value": "'需要更新'"}], "start": 1747019575991, "stop": 1747019576010, "uuid": "c970f423-164f-40db-9344-4aed6a135682", "historyId": "fa566eaf579c6b50275b0a55ae3cfa58", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "a540137e-b2d9-4732-b366-2487cf59ee97", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576527, "stop": 1747019576527}], "start": 1747019576526, "stop": 1747019576552}
\ No newline at end of file
{"uuid": "c5ca0585-367a-43fa-9b80-18c9d686f428", "befores": [{"name": "mime", "status": "passed", "start": 1747019575942, "stop": 1747019575943}], "start": 1747019575942, "stop": 1747019575984}
\ No newline at end of file
{"uuid": "b0218ab9-ef13-420f-a86d-8fd31efde33b", "befores": [{"name": "level", "status": "passed", "start": 1747019575990, "stop": 1747019575990}], "start": 1747019575990, "stop": 1747019576022}
\ No newline at end of file
{"uuid": "e1497828-2a9f-4b44-b7d5-a195b92f341d", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575679}
\ No newline at end of file
{"uuid": "e9a86c59-ec9b-4450-b5b9-1f75b43810c8", "befores": [{"name": "expect", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575598}
\ No newline at end of file
{"uuid": "856b2616-3845-4170-bf17-180f38ce8b60", "befores": [{"name": "api", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575563}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763984835878912'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}", "trace": "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5190>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763984835878912'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5190>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763984835878912'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:{'ids': '1921763984835878912'}, \nE \t期望数据为:{'message': '删除维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError"}, "attachments": [{"name": "log", "source": "ef91eaa2-4e9a-4162-a89d-ce44deff94ba-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'DELETE'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case", "value": "{'ids': '需要更新'}"}, {"name": "expect", "value": "{'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'select ID_ from uc_demension where CODE_=\"testDemension\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1747019576624, "stop": 1747019576668, "uuid": "93c1ddfd-a2ec-4e69-baf4-c9af513623de", "historyId": "8fec6960b41998b3624c23fc2c981fb0", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "9f345919-0ede-4978-9707-fb9ffd3fc184", "befores": [{"name": "url", "status": "passed", "start": 1747019575942, "stop": 1747019575942}], "start": 1747019575942, "stop": 1747019575985}
\ No newline at end of file
{"uuid": "28d05722-334a-41f0-bec4-6d3d1c24bee3", "befores": [{"name": "req", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575521}
\ No newline at end of file
{"uuid": "a63f8786-a8c4-4514-a8e5-3ccbda072f51", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576710}
\ No newline at end of file
{"uuid": "f5890008-c76f-469a-848a-d653f16edf5c", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575597}
\ No newline at end of file
{"uuid": "a6a3c409-bc67-491e-a0e0-a19bee68f8a2", "befores": [{"name": "mime", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575311}
\ No newline at end of file
{"uuid": "454d73c1-fbdc-49a7-a4cb-d8c2228ff8eb", "befores": [{"name": "case", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575679}
\ No newline at end of file
{"uuid": "5876b520-50d2-4129-925e-454ae3153259", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575678}
\ No newline at end of file
{"uuid": "d31b458f-50ab-4612-a42a-9b0966598297", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576018}
\ No newline at end of file
{"uuid": "8f868193-a30a-4ddb-be69-0356dbe161f1", "befores": [{"name": "api", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575814}
\ No newline at end of file
{"uuid": "1e076291-2768-4eb3-8984-c35fba2bf9a1", "befores": [{"name": "module", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575394}
\ No newline at end of file
{"uuid": "b4eeae11-dec9-45bf-b21d-c3319ba777da", "befores": [{"name": "module", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575272}
\ No newline at end of file
{"name": "正向用例-正确的用户名和密码进行登录", "status": "passed", "attachments": [{"name": "log", "source": "ff91b96c-afad-44ed-9fb5-2960c7d17c54-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'正向用例-正确的用户名和密码进行登录'"}, {"name": "level", "value": "'高'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "{'username': 'admin', 'password': 'fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8='}"}, {"name": "expect", "value": "{'username': '超级管理员', 'loginStatus': True}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019574876, "stop": 1747019574907, "uuid": "95a4a934-1512-4666-a291-79b7b054cfeb", "historyId": "db4660a4865247a399d925b9a4724cbd", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "99850d4a-91b6-48f8-97cd-b4e92dccc53b", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576476, "stop": 1747019576476}], "start": 1747019576476, "stop": 1747019576505}
\ No newline at end of file
{"uuid": "6ff39126-65be-47b7-827a-69f07a88550d", "befores": [{"name": "level", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575682}
\ No newline at end of file
{"uuid": "4e2c7e11-198d-4aac-8b07-e278d08ae4ac", "befores": [{"name": "case", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575350}
\ No newline at end of file
{"uuid": "f10e81e3-0427-49df-81f9-9965f174d615", "befores": [{"name": "title", "status": "passed", "start": 1747019575942, "stop": 1747019575942}], "start": 1747019575942, "stop": 1747019575986}
\ No newline at end of file
{"uuid": "32a9c4d3-03f0-4c23-9074-73dcb9f91b05", "befores": [{"name": "api", "status": "passed", "start": 1747019575942, "stop": 1747019575942}], "start": 1747019575942, "stop": 1747019575987}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin"},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763980532523008"}
\ No newline at end of file
{"uuid": "a60f6318-fc30-4124-8c6b-2ef155501833", "befores": [{"name": "level", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576558}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
\ No newline at end of file
{"uuid": "adbd5a14-a5f4-4919-9ee2-7cb0f80d594b", "befores": [{"name": "title", "status": "passed", "start": 1747019575990, "stop": 1747019575990}], "start": 1747019575990, "stop": 1747019576022}
\ No newline at end of file
{"uuid": "5ca32e07-515c-434c-adce-db2299f626bf", "befores": [{"name": "api", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576472}
\ No newline at end of file
{"uuid": "42c268bc-98b3-4e48-9e35-d4c63ac3339e", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575307}
\ No newline at end of file
{"uuid": "f4d6d60d-675e-40e5-b527-d633940c6f7c", "befores": [{"name": "expect", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576677}
\ No newline at end of file
{"uuid": "876322a6-3efa-4b26-abde-e07af4079c20", "befores": [{"name": "module", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575640}
\ No newline at end of file
{"uuid": "b472ddf5-cc08-4200-9b5a-09bb596e9d9d", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575317, "stop": 1747019575317}], "start": 1747019575317, "stop": 1747019575349}
\ No newline at end of file
{"uuid": "0e734a2f-f056-44ac-8657-6063556cfb79", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575308}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "c848d5b1-f205-48ce-9a6a-90e43f647ae9-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'添加组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case", "value": "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect", "value": "{'message': '添加组织成功!'}"}, {"name": "sql_type", "value": "'delete|select'"}, {"name": "sql_data", "value": "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}"}, {"name": "update_key", "value": "'demId'"}], "start": 1747019576419, "stop": 1747019576465, "uuid": "cad43113-c822-45dc-84bb-39898123affd", "historyId": "cb2f80d173e55aadfac7cbbef293b3bf", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "9ca7971e-a425-478c-b810-c2c0ad89f20d", "befores": [{"name": "module", "status": "passed", "start": 1747019576562, "stop": 1747019576562}], "start": 1747019576562, "stop": 1747019576622}
\ No newline at end of file
{"uuid": "82029f1c-7d8d-4ab1-98f4-d4c07b125fc3", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019574875, "stop": 1747019574875}], "start": 1747019574875, "stop": 1747019574910}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的数据错误", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF54F0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据错误', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"123456\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF54F0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据错误', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"123456\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"123456\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763981413326848\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "040b7b90-5050-484e-9193-823a8e2322e4-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的数据错误'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"password\": \"123456\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575529, "stop": 1747019575549, "uuid": "453bd97a-0687-4d72-bb91-acb5bd65bb00", "historyId": "95dc8e84e06c52d8f733ac9b7ef0cd46", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "8c008416-459c-40d8-b591-9b419325fd67", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576563, "stop": 1747019576563}], "start": 1747019576563, "stop": 1747019576618}
\ No newline at end of file
{"uuid": "962e343d-203e-4be4-91b3-c4f3195e72fa", "befores": [{"name": "module", "status": "passed", "start": 1747019576623, "stop": 1747019576623}], "start": 1747019576623, "stop": 1747019576681}
\ No newline at end of file
{"uuid": "b694f839-b6c5-4c95-a5e2-e74e132e5753", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575943, "stop": 1747019575943}], "start": 1747019575943, "stop": 1747019575981}
\ No newline at end of file
{"uuid": "cbd6cfb1-e0ea-4fe2-8b66-432d901f73ef", "befores": [{"name": "req", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575484}
\ No newline at end of file
{"uuid": "daf58c97-e627-405f-9caf-7c3eddc599af", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575943, "stop": 1747019575943}], "start": 1747019575943, "stop": 1747019575982}
\ No newline at end of file
{"uuid": "d23e2994-6188-47d6-ab04-4175f240c730", "befores": [{"name": "api", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575851}
\ No newline at end of file
{"uuid": "f346560c-7439-415b-a4b4-22c4a3ed8b60", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576476, "stop": 1747019576476}], "start": 1747019576476, "stop": 1747019576505}
\ No newline at end of file
{"uuid": "ca691e32-9e9f-427e-81da-86972163a168", "befores": [{"name": "title", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575562}
\ No newline at end of file
{"uuid": "c6bd28b2-9bd0-4680-9625-d185cd596fc8", "befores": [{"name": "req", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575600}
\ No newline at end of file
{"uuid": "747c7721-150e-4233-916f-6483bfbf934d", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575555}
\ No newline at end of file
{"uuid": "16d334de-f947-42ab-9550-cafbf512c264", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575448}
\ No newline at end of file
{"uuid": "04d583ae-9f09-434d-9dc8-a1d7bf77f232", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575809}
\ No newline at end of file
{"uuid": "617ad002-6f77-412d-8508-92b533dacbe8", "befores": [{"name": "api", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575522}
\ No newline at end of file
{"uuid": "92775999-bed7-4327-878a-f56a8a54f888", "befores": [{"name": "expect", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575233}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "0f66dd7d-aed5-45e3-a0f6-ebe7636095d3", "befores": [{"name": "req", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575638}
\ No newline at end of file
{"uuid": "d5693171-88e9-419a-97a3-6ca9fd0d7bfc", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575934}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": class},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\n at [Source: (PushbackInputStream); line: 1, column: 40]","code":200,"logId":"1921763981732093952"}
\ No newline at end of file
{"uuid": "a3dcf7fb-baa7-48a6-87f1-bd9cc811b779", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575809}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:id=需要更新,
期望数据为:{'message': '删除维度失败'},
服务器返回的数据为:{"state":false,"message":"删除维度失败,维度ids必填","code":200,"logId":"1921763986257747968"}
INFO  root:__init__.py:45 执行的功能为:close, 功能的描述为:先关闭游标对象,再关闭链接对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:31
INFO  root:__init__.py:45 执行的功能为:close, 功能的描述为:先关闭游标对象,再关闭链接对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:31
\ No newline at end of file
{"uuid": "c858022e-d674-4529-90c3-20d1fddb0fe7", "befores": [{"name": "update_key", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575232}
\ No newline at end of file
{"uuid": "25247ab7-f4c2-44fa-a405-8839d6339eaf", "befores": [{"name": "req", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575312}
\ No newline at end of file
{"uuid": "f62654e9-d3cd-4bde-bb8c-e58c0332c446", "befores": [{"name": "title", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575312}
\ No newline at end of file
{"uuid": "7dd11703-cd1f-4acb-b475-e54c339dc884", "befores": [{"name": "expect", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576388}
\ No newline at end of file
{"uuid": "87790782-96ea-4c69-b43d-02438fd1b130", "befores": [{"name": "level", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575521}
\ No newline at end of file
{"uuid": "c2589a0f-33f3-4583-b0db-ca2395189b4c", "befores": [{"name": "case", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576019}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin",: "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"Unexpected character (':' (code 58)): was expecting double-quote to start field name\n at [Source: (PushbackInputStream); line: 1, column: 23]","code":200,"logId":"1921763980196978688"}
\ No newline at end of file
{"uuid": "fbeac622-114c-4b52-89cc-20fa4270fe5f", "befores": [{"name": "mime", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576678}
\ No newline at end of file
{"uuid": "9c43d1ef-e2f3-4e11-998f-5fbcdb31ba51", "befores": [{"name": "mime", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575811}
\ No newline at end of file
{"uuid": "64fcb715-8beb-406c-82df-81c4c9320623", "befores": [{"name": "api", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575313}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "51580d67-25f1-40de-aef7-c241a6f55623", "befores": [{"name": "mime", "status": "passed", "start": 1747019576476, "stop": 1747019576476}], "start": 1747019576476, "stop": 1747019576507}
\ No newline at end of file
{"uuid": "ce96946f-1279-4796-8f53-183a4721a94b", "befores": [{"name": "mime", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575234}
\ No newline at end of file
{"uuid": "3d32552d-c435-4a96-b917-407eabcd865e", "befores": [{"name": "url", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575560}
\ No newline at end of file
{"uuid": "f87d492e-65f4-4604-921e-baabcdb32c1e", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576387}
\ No newline at end of file
{"uuid": "8301a3b9-d615-44fc-a74f-f6ce68cca87a", "befores": [{"name": "level", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575484}
\ No newline at end of file
{"uuid": "09a56b12-6b24-4765-a887-52cdb21d65b7", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575759}
\ No newline at end of file
{"uuid": "0d5aac29-dc64-4f97-8f8c-8d88498afe0d", "befores": [{"name": "api", "status": "passed", "start": 1747019575897, "stop": 1747019575897}], "start": 1747019575897, "stop": 1747019575939}
\ No newline at end of file
{"uuid": "3a79d2bc-9139-466e-bfb5-9bb7a4b95df0", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575242, "stop": 1747019575242}], "start": 1747019575242, "stop": 1747019575268}
\ No newline at end of file
{"uuid": "93593334-d64b-4ad7-be97-38daabe8962a", "befores": [{"name": "level", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575638}
\ No newline at end of file
{"uuid": "4d165722-9a02-45c6-830a-064a19543f6b", "befores": [{"name": "case", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575310}
\ No newline at end of file
{"uuid": "29ee8017-f0bd-4cf2-9d6a-d5019537d4e7", "befores": [{"name": "level", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575763}
\ No newline at end of file
{"uuid": "1f3960e2-19bf-40de-b19f-ef7d184d81db", "befores": [{"name": "req", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575850}
\ No newline at end of file
{"uuid": "ca889e8e-2654-4254-850e-df1473a317a9", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575810}
\ No newline at end of file
{"uuid": "83c5e6b0-1c12-4b8e-a615-9c04f21d32e9", "befores": [{"name": "api", "status": "passed", "start": 1747019576334, "stop": 1747019576334}], "start": 1747019576334, "stop": 1747019576391}
\ No newline at end of file
{"uuid": "421d124d-8eca-4aaa-8306-0637c336fd81", "befores": [{"name": "expect", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576555}
\ No newline at end of file
{"uuid": "ae4f7e28-c6e0-4c79-95df-b7e6861c2f97", "befores": [{"name": "api", "status": "passed", "start": 1747019575736, "stop": 1747019575736}], "start": 1747019575736, "stop": 1747019575764}
\ No newline at end of file
{"uuid": "ff42777a-de1d-4ad7-b777-1bb0e04df7e4", "befores": [{"name": "module", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575814}
\ No newline at end of file
{"uuid": "aa2c3939-79e9-4a61-a8d2-42340586f7f2", "befores": [{"name": "expect", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575519}
\ No newline at end of file
{"uuid": "2f9c2d35-f7d6-4a34-ad61-d6ff5f3a2661", "befores": [{"name": "req", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575561}
\ No newline at end of file
{"uuid": "dec22354-8c16-4e73-8d6d-b4fe002f7df2", "befores": [{"name": "api", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575642, "stop": 1747019575682}
\ No newline at end of file
{"uuid": "af0f9713-c0c6-46fc-93d5-dd68dc6d2a15", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576676}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "0370c73f-84ab-4ea9-83bc-0822961363b1-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'保存组织参数'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'"}, {"name": "mime", "value": "'query|json'"}, {"name": "case", "value": "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}"}, {"name": "expect", "value": "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019576476, "stop": 1747019576503, "uuid": "cb7547bf-b4db-4e57-8760-7a14d8a805ab", "historyId": "2aef7075a1de8ae954a70cd34e8897aa", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "保存组织参数"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "69db3b6d-5f2b-4ee5-9db8-760b437b96f9", "befores": [{"name": "url", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575681}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:关联被测系统的状态, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:18
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_host, 功能的描述为:根据key,获取被测系统的域名, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:24
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:创建链接对象和游标对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:17
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
\ No newline at end of file
{"uuid": "831e642e-90a3-4dd1-a2f1-51923c65ec1f", "befores": [{"name": "api", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576559}
\ No newline at end of file
{"uuid": "a6daaf1d-b3c0-4a8f-b182-6c0e559aea7a", "befores": [{"name": "module", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575353}
\ No newline at end of file
{"uuid": "06b06e81-00ef-4985-937b-6b157af39921", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575847}
\ No newline at end of file
{"uuid": "448e5609-af73-4ecc-a61f-4e7730e959b2", "befores": [{"name": "title", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575850}
\ No newline at end of file
{"uuid": "8bbbcfde-6e32-4c6c-afc4-5d3ecb6b6c01", "befores": [{"name": "url", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575600}
\ No newline at end of file
{"uuid": "92b235ea-f93e-4127-b88e-e43c68918267", "befores": [{"name": "api", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575353}
\ No newline at end of file
{"uuid": "1129fa73-d3e8-4ea4-b7aa-bdf4eeefa73a", "befores": [{"name": "title", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576471}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "86d893d5-9265-4112-abe7-0edee12e940c", "befores": [{"name": "expect", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576412}
\ No newline at end of file
{"uuid": "d98cde0a-4e0d-4d4b-873b-0d81b8dc895d", "befores": [{"name": "req", "status": "passed", "start": 1747019576475, "stop": 1747019576476}], "start": 1747019576475, "stop": 1747019576508}
\ No newline at end of file
{"uuid": "cd580819-a919-47f6-b388-77af7d762d3e", "befores": [{"name": "req", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575762}
\ No newline at end of file
{"uuid": "c93c645b-3b01-472b-9091-5928e8dea78e", "befores": [{"name": "module", "status": "passed", "start": 1747019575642, "stop": 1747019575642}], "start": 1747019575642, "stop": 1747019575683}
\ No newline at end of file
{"uuid": "8067538e-a8cc-4988-882a-6cc66ceb1a69", "befores": [{"name": "url", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576469}
\ No newline at end of file
{"uuid": "e47b08da-cf2f-4671-babf-e95255b921c4", "befores": [{"name": "api", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576716}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "413f292e-4659-47f2-8c1b-9160984e0cc3-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'删除组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/org/deleteOrg'"}, {"name": "mime", "value": "'text/plain'"}, {"name": "case", "value": "'testAddOrg'"}, {"name": "expect", "value": "{'state': True, 'message': '删除组织成功!', 'value': '', 'code': 200}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019576563, "stop": 1747019576616, "uuid": "9b2f76ee-f2a7-40e6-a2e5-bcd9f4457aee", "historyId": "13767a5a1d95d1920ab5a6af624e7396", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "删除组织"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "d0a01c0b-321e-4e83-a892-fa80b5abbc4d", "befores": [{"name": "api", "status": "passed", "start": 1747019576623, "stop": 1747019576624}], "start": 1747019576623, "stop": 1747019576680}
\ No newline at end of file
{"uuid": "11787cd7-e4c9-4df2-8a78-9400f8718e5e", "befores": [{"name": "mime", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575350}
\ No newline at end of file
{"uuid": "0b7f7de3-6330-4476-a493-ec2df6fa5ed4", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576476, "stop": 1747019576476}], "start": 1747019576476, "stop": 1747019576504}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \n\t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \n\t期望数据为:{'message': '添加维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4D70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '添加维度成功' == '添加维度成功!'\nE \nE - 添加维度成功!\nE ? -\nE + 添加维度成功\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4D70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '添加维度'\ntitle = '正向用例', level = '高', req = 'post', url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem', mime = 'application/json'\ncase = {'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, expect = {'message': '添加维度成功'}, sql_type = 'delete'\nsql_data = 'delete from uc_demension where CODE_=\"testDemension\";', update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem, \nE \t用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}, \nE \t期望数据为:{'message': '添加维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"添加维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "bf571cc1-f541-4c0f-a8af-a0c4e7b17e59-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'添加维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/addDem'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'}"}, {"name": "expect", "value": "{'message': '添加维度成功'}"}, {"name": "sql_type", "value": "'delete'"}, {"name": "sql_data", "value": "'delete from uc_demension where CODE_=\"testDemension\";'"}, {"name": "update_key", "value": "None"}], "start": 1747019575686, "stop": 1747019575719, "uuid": "7ed79b92-4afc-446f-a278-7d800af57485", "historyId": "2740e00b2e54f83c2febf90a3cf2e96a", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "添加维度"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "ab25fd10-314d-4738-848a-11aa1158ff1d", "befores": [{"name": "title", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576680}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的key为空", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF6780>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为空', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unexpected c..., column: 23]'\nE \nE + 账号或密码错误\nE - Unexpected character (':' (code 58)): was expecting double-quote to start field name\nE - at [Source: (PushbackInputStream); line: 1, column: 23]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF6780>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为空', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character (':' (code 58)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763980196978688\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "3d63157e-ae15-4747-abd6-210504b49c41-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的key为空'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575242, "stop": 1747019575257, "uuid": "bf9ba7dd-ebed-477f-8fc1-0483ce60ac4e", "historyId": "622a3347fe4a9dcc000480e8fd9c0ecc", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "c5c8c80c-0337-48e9-9a04-fb93638eb694", "befores": [{"name": "module", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575313}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:{'ids': '1921763982101192704'},
期望数据为:{'message': '删除维度成功'},
服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":"","code":200}
\ No newline at end of file
{"uuid": "8db116dc-868d-4986-8bda-e8ec380f3387", "befores": [{"name": "case", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575937}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "0678a8e8-ca30-40a7-a7f9-fa9769120322", "befores": [{"name": "level", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576415}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "4d130b65-109a-4f42-b50a-795ac7900842-attachment.txt", "type": "text/plain"}], "start": 1747019576139, "stop": 1747019576167, "uuid": "dc3af78a-f11f-4e88-884e-9a20ac255d06", "historyId": "4be1007c29874ad657ed2fcd8a25c996", "testCaseId": "4be1007c29874ad657ed2fcd8a25c996", "fullName": "test_case.test_bpm_dependency.test_auth.TestAuth#test_login", "labels": [{"name": "epic", "value": "BPM项目-场景测试"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "高"}, {"name": "feature", "value": "认证接口"}, {"name": "tag", "value": "dependency(scope='session')"}, {"name": "parentSuite", "value": "test_case.test_bpm_dependency"}, {"name": "suite", "value": "test_auth"}, {"name": "subSuite", "value": "TestAuth"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm_dependency.test_auth"}]}
\ No newline at end of file
{"uuid": "a03efa45-9bcc-4a52-a14d-e90b01e7a652", "befores": [{"name": "title", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576716}
\ No newline at end of file
{"uuid": "5a2820ee-348e-405e-bb65-a69294ae58a1", "children": ["dc3af78a-f11f-4e88-884e-9a20ac255d06", "3599990c-b2d1-477c-b039-04f042a8e846", "e9c2401f-4050-4da7-ade9-ca224264f7fe", "3b94f6fe-44a0-4544-a31e-e7cefa37bb19"], "befores": [{"name": "req_fix", "status": "passed", "start": 1747019576029, "stop": 1747019576138}], "afters": [{"name": "req_fix::0", "status": "passed", "start": 1747019576720, "stop": 1747019576720}], "start": 1747019576029, "stop": 1747019576720}
\ No newline at end of file
{"uuid": "f571dbd4-fd40-40e1-82ff-341f8b502c7e", "befores": [{"name": "expect", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575268}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=","password": "123456"},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763980360556544"}
\ No newline at end of file
{"uuid": "78f38343-cc7c-4dd6-a47d-490f1aec6763", "befores": [{"name": "mime", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575762}
\ No newline at end of file
{"uuid": "95936c37-4824-47e4-8e10-9a124991e33e", "befores": [{"name": "title", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575732}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的参数为特殊字符", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5C70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的参数为特殊字符', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5C70>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的参数为特殊字符', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980700295168\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "811b30c2-4d75-4447-b136-ab311b573857-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的参数为特殊字符'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"♠♣▣▤▥▦▩◘◙◈♫\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575356, "stop": 1747019575378, "uuid": "11da6938-dd4d-43d4-b22c-c56f34b632ae", "historyId": "7349b39c0eaf0219095c3c65b71452e1", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "9fd2865a-58d7-4a04-ba60-fb2386b99ab4", "befores": [{"name": "update_key", "status": "passed", "start": 1747019574875, "stop": 1747019574875}], "start": 1747019574875, "stop": 1747019574908}
\ No newline at end of file
{"uuid": "8edd2922-e6b6-4a99-83e3-dcbc4c37009b", "befores": [{"name": "mime", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575269}
\ No newline at end of file
{"uuid": "32af157d-df49-4564-908f-50d717c9be89", "befores": [{"name": "title", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575236}
\ No newline at end of file
{"uuid": "a3440cef-5e1a-4de2-b00c-f5efe319534b", "befores": [{"name": "case", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575390}
\ No newline at end of file
{"uuid": "6a8d76f5-cf97-450c-af80-c386697da05d", "befores": [{"name": "case", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575892}
\ No newline at end of file
{"uuid": "a86e69d3-6ea8-41e0-ad79-bbb66cbec8ec", "befores": [{"name": "case", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576713}
\ No newline at end of file
{"uuid": "41d7c4f1-b797-44ae-9503-4e5e846b8333", "befores": [{"name": "mime", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576414}
\ No newline at end of file
{"uuid": "f6b74901-3be0-416f-9c43-dde5b951e494", "befores": [{"name": "api", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575485}
\ No newline at end of file
{"uuid": "b77cbf85-4b53-4c7d-9c90-f371323febb4", "befores": [{"name": "title", "status": "passed", "start": 1747019574874, "stop": 1747019574874}], "start": 1747019574874, "stop": 1747019574919}
\ No newline at end of file
{"uuid": "1d2f34b1-de58-4634-9185-c56c6bb4d31f", "befores": [{"name": "level", "status": "passed", "start": 1747019574874, "stop": 1747019574874}], "start": 1747019574874, "stop": 1747019574917}
\ No newline at end of file
1921763984085098496
{"state":true,"message":"添加组织成功!","value":"","code":200}
{"uuid": "527af32a-3883-49d7-a459-cc4114bdc397", "befores": [{"name": "mime", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576557}
\ No newline at end of file
{"uuid": "03590474-dc38-47e6-81fd-41960e1dd32d", "befores": [{"name": "case", "status": "passed", "start": 1747019576563, "stop": 1747019576563}], "start": 1747019576563, "stop": 1747019576618}
\ No newline at end of file
{"uuid": "48b9f8be-1299-4223-93c9-d526b46f7cf3", "befores": [{"name": "expect", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575679}
\ No newline at end of file
{"uuid": "05b7080d-4593-4582-bf94-1634ff4e07f9", "befores": [{"name": "title", "status": "passed", "start": 1747019575736, "stop": 1747019575736}], "start": 1747019575736, "stop": 1747019575764}
\ No newline at end of file
{"uuid": "6bfc9b0c-c6f7-4523-9370-da942884c0f2", "befores": [{"name": "api", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575272}
\ No newline at end of file
{"uuid": "0049591f-2168-4459-946d-6b43e7dfddda", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575727}
\ No newline at end of file
{"uuid": "e48b05d9-e89a-40b4-bc70-ccec54c8dddc", "befores": [{"name": "expect", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575636}
\ No newline at end of file
{"uuid": "9cb6ed67-4827-405f-a90e-d43e7c07ac9c", "befores": [{"name": "req", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575391}
\ No newline at end of file
{"uuid": "c3e1b522-31ff-47d7-9e32-70f2aad7b112", "children": ["95a4a934-1512-4666-a291-79b7b054cfeb", "73d7fe01-8016-4ce5-b69c-2f11b81129ec", "bf9ba7dd-ebed-477f-8fc1-0483ce60ac4e", "bc08fee1-386b-4dae-be78-a9cc2d09720d", "464b896c-0f42-4cbc-aad0-73834467ac91", "11da6938-dd4d-43d4-b22c-c56f34b632ae", "b691f315-561a-4693-a386-ce39ab50c626", "1edaf472-6681-420e-88d0-d0069403483a", "36bc3ed0-2be7-4a4e-9672-f4afbedbc0ed", "453bd97a-0687-4d72-bb91-acb5bd65bb00", "f9940974-f07d-48fa-a8d0-77179145cad8", "7f0a46a5-716b-4a76-9e8b-0b5c67e640cf", "d51193d5-cc3a-44cd-9447-33df0ec3b8af", "7ed79b92-4afc-446f-a278-7d800af57485", "5f99e821-c014-4608-a694-dfa80313f6c4", "7244b708-7ff1-47cd-8ed7-0ceaeb5bbf47", "37d921ec-09e2-4adb-8158-23c559982748", "003a3d34-4076-41e7-85ad-fc8d814d10d7", "a2e8e07b-29ee-43a5-93a1-cf2811413a86", "1db6f35b-dd16-4efa-b9b3-3285848ef280", "c970f423-164f-40db-9344-4aed6a135682", "dc3af78a-f11f-4e88-884e-9a20ac255d06", "3599990c-b2d1-477c-b039-04f042a8e846", "e9c2401f-4050-4da7-ade9-ca224264f7fe", "3b94f6fe-44a0-4544-a31e-e7cefa37bb19", "38b4c742-e72f-460a-bf89-c64b19fc8f04", "12ba8787-17cb-44fb-b54c-5739c5ccc811", "cad43113-c822-45dc-84bb-39898123affd", "cb7547bf-b4db-4e57-8760-7a14d8a805ab", "d7d8abcc-24ce-49d3-9c47-d8e34d3480c6", "9b2f76ee-f2a7-40e6-a2e5-bcd9f4457aee", "93c1ddfd-a2ec-4e69-baf4-c9af513623de", "e10831ec-e834-4811-9db0-c0a7c0032998"], "befores": [{"name": "_session_faker", "status": "passed", "start": 1747019574633, "stop": 1747019574796}], "start": 1747019574633, "stop": 1747019576722}
\ No newline at end of file
{"uuid": "a12a5a6e-bd9f-4d46-9b57-56b021e702a1", "befores": [{"name": "module", "status": "passed", "start": 1747019575942, "stop": 1747019575942}], "start": 1747019575942, "stop": 1747019575987}
\ No newline at end of file
{"uuid": "4cdbda83-c38c-4129-b233-d01cd489ae2b", "befores": [{"name": "req", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575270}
\ No newline at end of file
{"uuid": "bdb5737d-f800-427e-849b-17ee7bb24d4d", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576677}
\ No newline at end of file
{"uuid": "9e94c6c7-2b18-4bc6-9911-479b2d1dc62d", "befores": [{"name": "expect", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575350}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的key为class", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AB5E5D0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为class', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unexpected c..., column: 23]'\nE \nE + 账号或密码错误\nE - Unexpected character ('c' (code 99)): was expecting double-quote to start field name\nE - at [Source: (PushbackInputStream); line: 1, column: 23]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AB5E5D0>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的key为class', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unexpected character ('c' (code 99)): was expecting double-quote to start field name\\n at [Source: (PushbackInputStream); line: 1, column: 23]\",\"code\":200,\"logId\":\"1921763978854801408\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "00b52916-74c4-492a-b510-de86b5c82484-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的key为class'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",class: \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019574926, "stop": 1747019574941, "uuid": "73d7fe01-8016-4ce5-b69c-2f11b81129ec", "historyId": "9fe5fecf873e461cfef4201f6117a2c0", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "6fa90305-cbc5-431c-be70-739dc12245fd", "befores": [{"name": "title", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575640}
\ No newline at end of file
{"uuid": "bb653fe3-d01d-42c7-8757-b83c853b14a8", "befores": [{"name": "module", "status": "passed", "start": 1747019575736, "stop": 1747019575736}], "start": 1747019575736, "stop": 1747019575765}
\ No newline at end of file
{"uuid": "ddce538d-4b09-4fbf-95f9-ffa7b8d55842", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575356, "stop": 1747019575356}], "start": 1747019575356, "stop": 1747019575387}
\ No newline at end of file
{"uuid": "9ebad7b0-98dd-4ad0-b90c-88e59cbbd003", "befores": [{"name": "case", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575559}
\ No newline at end of file
{"uuid": "2137cee4-6495-459e-94a7-aa84c01c388d", "befores": [{"name": "mime", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575730}
\ No newline at end of file
{"uuid": "c8a81ed1-5624-4b7e-b462-e2fb54ce9b51", "befores": [{"name": "req", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576679}
\ No newline at end of file
{"uuid": "156295cb-b24a-48ed-9daa-c0afba9f8800", "befores": [{"name": "req", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575351}
\ No newline at end of file
{"uuid": "980a72f6-cb27-40ee-8cd1-ceda8df4f2e5", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575887}
\ No newline at end of file
{"uuid": "f69ba119-29db-41da-847f-d3efd47dfdd5", "befores": [{"name": "case", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576468}
\ No newline at end of file
{"uuid": "3b821944-f306-4be2-9e90-306496f66687", "befores": [{"name": "url", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575270}
\ No newline at end of file
{"uuid": "3a3dfbaa-7c64-46ef-b0bc-f56d0852189c", "befores": [{"name": "api", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576416}
\ No newline at end of file
{"uuid": "b487c211-3070-4345-b464-ca65fd5da6ed", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575598}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码不传", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码不传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码不传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\"}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980532523008\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "25c1320b-b9b7-462d-a7e2-a20d1f319fd3-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码不传'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575317, "stop": 1747019575339, "uuid": "464b896c-0f42-4cbc-aad0-73834467ac91", "historyId": "b185b27a1a5b2067539258756d0f7e68", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "0d1d325d-9ac0-4fb0-bbfc-b8456b5b32f7", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575936}
\ No newline at end of file
{"uuid": "630b489e-e1a3-420e-bf88-93df42fd2c80", "befores": [{"name": "module", "status": "passed", "start": 1747019575897, "stop": 1747019575897}], "start": 1747019575897, "stop": 1747019575940}
\ No newline at end of file
{"uuid": "e3d12de0-9c61-4af2-8680-35ef29fc58e7", "befores": [{"name": "module", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575488}
\ No newline at end of file
{"uuid": "a7dc4e9f-e2e4-4c9f-9156-8dfb4aad1ac5", "befores": [{"name": "case", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575269}
\ No newline at end of file
{"uuid": "8996d09f-909a-4722-bd4f-3b18c692f6fe", "befores": [{"name": "level", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575600}
\ No newline at end of file
{"uuid": "7b24cc02-1505-4373-887a-d931641392b8", "befores": [{"name": "mime", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575391}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","♠♣▣▤▥▦▩◘◙◈♫": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"state":false,"message":"解密密码异常,请检查RSA公钥和私钥配置","code":200,"logId":"1921763980700295168"}
\ No newline at end of file
{"uuid": "703bd75e-7ab3-48e9-9127-782b33c5cb60", "befores": [{"name": "expect", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575810}
\ No newline at end of file
{"uuid": "246d07bd-92c9-4b42-84fb-985ba4a9649a", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576388}
\ No newline at end of file
{"uuid": "a8170aa9-c7bc-40a0-980a-f14bcbab19e4", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575891}
\ No newline at end of file
{"uuid": "1687282c-e959-440e-b4b0-a37bb046f10d", "befores": [{"name": "expect", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575892}
\ No newline at end of file
{"uuid": "4a35ac9d-4fcf-4956-b6fe-874eca8aa1c2", "befores": [{"name": "level", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576715}
\ No newline at end of file
{"uuid": "5e34dd5e-606f-44d2-8a2d-e86abaa95990", "befores": [{"name": "api", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575640}
\ No newline at end of file
{"uuid": "2c62ea08-ff56-47fe-bef4-5b9f802762db", "befores": [{"name": "level", "status": "passed", "start": 1747019575897, "stop": 1747019575898}], "start": 1747019575897, "stop": 1747019575938}
\ No newline at end of file
{"uuid": "2fda6d02-6b66-497a-a5a5-54970eb3f9f1", "befores": [{"name": "case", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575729}
\ No newline at end of file
{"uuid": "a032afe4-4be9-43a5-9bee-b9ff5f32e0e5", "befores": [{"name": "expect", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575848}
\ No newline at end of file
{"uuid": "557c9630-9d0c-45e2-93d5-99a5820b14b7", "befores": [{"name": "title", "status": "passed", "start": 1747019576562, "stop": 1747019576562}], "start": 1747019576562, "stop": 1747019576621}
\ No newline at end of file
{"uuid": "f2911c7d-2fb3-48d6-8e9d-e85a43d03d3b", "children": ["e9c2401f-4050-4da7-ade9-ca224264f7fe"], "befores": [{"name": "set_depend_data_fix", "status": "passed", "start": 1747019576218, "stop": 1747019576218}], "afters": [{"name": "set_depend_data_fix::0", "status": "passed", "start": 1747019576720, "stop": 1747019576720}], "start": 1747019576218, "stop": 1747019576720}
\ No newline at end of file
{"uuid": "2412a302-33b9-4e7b-922f-bba8371a55a2", "befores": [{"name": "level", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575561}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的数据过短", "status": "passed", "attachments": [{"name": "log", "source": "f2984bee-87f5-41cd-a26a-6fe6acc0d8be-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的数据过短'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"password\": \"f\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575458, "stop": 1747019575479, "uuid": "1edaf472-6681-420e-88d0-d0069403483a", "historyId": "6b39bc6fdfb4174d32b7985953a6a65e", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "d2404b22-06ba-49ff-9c8f-5847441cb2cd", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575518}
\ No newline at end of file
{"uuid": "5cb42018-7c7c-4510-a0ea-0e551351e2d3", "befores": [{"name": "url", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575483}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "fef2d52d-83c4-46b7-b629-f83fbdf369bf-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'保存组织参数'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'"}, {"name": "mime", "value": "'query|json'"}, {"name": "case", "value": "{'query': 'orgCode=testAddOrg', 'body': '[{\"alias\":\"test0428\",\"value\":500}]'}"}, {"name": "expect", "value": "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575819, "stop": 1747019575846, "uuid": "37d921ec-09e2-4adb-8158-23c559982748", "historyId": "8687b4a8fef8327a1773b301d65e72ee", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "保存组织参数"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "065b6a16-59c8-4cf9-94da-02664aa1ed80", "befores": [{"name": "case", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576388}
\ No newline at end of file
{"uuid": "dd906eef-e74e-463d-ab40-755bdd1da0f7", "befores": [{"name": "level", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575894}
\ No newline at end of file
{"uuid": "040cfa2e-7636-4411-bca3-453c2983c59b", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575758}
\ No newline at end of file
{"uuid": "c5cded38-4109-4104-9358-b1f2100c866c", "befores": [{"name": "mime", "status": "passed", "start": 1747019576563, "stop": 1747019576563}], "start": 1747019576563, "stop": 1747019576619}
\ No newline at end of file
{"uuid": "251a77c5-71f2-4be3-814b-48e4c8175a18", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575388}
\ No newline at end of file
{"uuid": "034e07ee-e8e0-459c-a212-6e87046d2672", "befores": [{"name": "mime", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575681}
\ No newline at end of file
{"uuid": "c9888616-a336-476d-9a3f-f90332968003", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575233}
\ No newline at end of file
{"uuid": "c755cc82-6d84-436e-9ac7-4efa4098b2e8", "befores": [{"name": "url", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575762}
\ No newline at end of file
{"uuid": "d32e889a-f7c3-43b2-87b9-18c00a7d0f41", "befores": [{"name": "url", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576021}
\ No newline at end of file
{"uuid": "4c80aaed-81f5-4ae8-a99d-9a7c7d7c4585", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575480}
\ No newline at end of file
{"uuid": "3366cf9a-fd05-40c3-b386-8678e7ffd72f", "befores": [{"name": "level", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575850}
\ No newline at end of file
{"uuid": "b05bc3a0-2c18-4db7-920c-190dd7b40155", "befores": [{"name": "module", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575454}
\ No newline at end of file
{"uuid": "578dd47e-33f5-4cfc-82bd-e7dd96634935", "befores": [{"name": "case", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575811}
\ No newline at end of file
{"uuid": "cfb68873-d09e-494e-a86b-29fcb3e96b11", "befores": [{"name": "case", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576555}
\ No newline at end of file
{"uuid": "2ad7ec5a-e6f6-4b74-b9cd-fab70641c909", "befores": [{"name": "title", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576559}
\ No newline at end of file
{"uuid": "3e7d532c-6c6b-4922-a5b7-13255dac2b3f", "befores": [{"name": "title", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576415}
\ No newline at end of file
{"uuid": "da6f5bf0-07e7-4cbd-ad40-c47750721529", "befores": [{"name": "title", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575271}
\ No newline at end of file
{"uuid": "9a954c3b-fad7-49dd-99d8-d61f57129065", "befores": [{"name": "api", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575732}
\ No newline at end of file
{"uuid": "d0cdda63-b170-4233-9186-069f39681de4", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019574875, "stop": 1747019574875}], "start": 1747019574875, "stop": 1747019574912}
\ No newline at end of file
{"uuid": "1fb7324b-0a6d-42a7-9737-1c5f8301c37b", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575819, "stop": 1747019575819}], "start": 1747019575819, "stop": 1747019575846}
\ No newline at end of file
{"uuid": "48004403-7bcc-49c1-99af-f9da861805a4", "befores": [{"name": "url", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575311}
\ No newline at end of file
{"uuid": "5cb3d8d8-82a6-4615-affa-c5bd0f3ff6eb", "befores": [{"name": "case", "status": "passed", "start": 1747019575943, "stop": 1747019575943}], "start": 1747019575943, "stop": 1747019575984}
\ No newline at end of file
{"uuid": "5b3f2e0b-582c-4b3c-b89d-8a226c954ccb", "befores": [{"name": "expect", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576468}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:{'ids': '1921763982101192704'}, \n\t期望数据为:{'message': '删除维度成功'}, \n\t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4770>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763982101192704'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度成功' == '删除维度成功!'\nE \nE - 删除维度成功!\nE ? -\nE + 删除维度成功\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4770>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '正向用例', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = {'ids': '1921763982101192704'}, expect = {'message': '删除维度成功'}, sql_type = 'select'\nsql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";', update_key = 'ids'\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:{'ids': '1921763982101192704'}, \nE \t期望数据为:{'message': '删除维度成功'}, \nE \t服务器返回的数据为:{\"state\":true,\"message\":\"删除维度成功!\",\"value\":\"\",\"code\":200}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "5b24c560-7737-4cf0-9a0a-4af73845fc93-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'DELETE'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case", "value": "{'ids': '需要更新'}"}, {"name": "expect", "value": "{'message': '删除维度成功'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'select ID_ from uc_demension where CODE_=\"testDemension\";'"}, {"name": "update_key", "value": "'ids'"}], "start": 1747019575943, "stop": 1747019575971, "uuid": "1db6f35b-dd16-4efa-b9b3-3285848ef280", "historyId": "92ce92b1ce2de0d9e6571fd01eab8678", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "c5386199-93cf-479c-818e-0def10d662ba", "befores": [{"name": "req", "status": "passed", "start": 1747019576562, "stop": 1747019576562}], "start": 1747019576562, "stop": 1747019576620}
\ No newline at end of file
{"uuid": "1c7c8399-edca-4cb3-8ec8-4ac6cb859fda", "befores": [{"name": "url", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575521}
\ No newline at end of file
{"uuid": "c10c30bc-96f4-4003-bed5-d1d84500ec09", "befores": [{"name": "case", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576412}
\ No newline at end of file
{"uuid": "5b64d927-be22-412e-8833-12e1f73adc52", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576411}
\ No newline at end of file
{"uuid": "70f2acbc-e3da-4279-bf6b-f79bdaaa0c56", "befores": [{"name": "req", "status": "passed", "start": 1747019575942, "stop": 1747019575942}], "start": 1747019575942, "stop": 1747019575985}
\ No newline at end of file
{"uuid": "a58462ab-7141-4d25-8dee-7fb764da0590", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575517}
\ No newline at end of file
{"uuid": "833da4e0-c839-401a-bed5-94ff89b536ee", "befores": [{"name": "expect", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576712}
\ No newline at end of file
{"uuid": "f9c24992-89c0-4d72-9fdf-2dc23d9af837", "befores": [{"name": "mime", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575637}
\ No newline at end of file
{"uuid": "c9a06116-3bdb-4400-ac01-5c2a79a4e66e", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575728}
\ No newline at end of file
{"uuid": "8469a1e8-c1a6-4803-b5a9-62a87010b4e8", "befores": [{"name": "api", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575453}
\ No newline at end of file
{"uuid": "86b4f295-660f-493b-a8f2-eb4896018956", "befores": [{"name": "module", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575895}
\ No newline at end of file
{"uuid": "20aa4eb8-58bf-4969-878f-a487667af6ba", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576712}
\ No newline at end of file
{"uuid": "ff6d53cf-d527-4d8f-b6ef-79b6ab292276", "befores": [{"name": "level", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575236}
\ No newline at end of file
{"uuid": "7d57aca8-9e26-4ea6-9e1f-75a462c2d6c9", "befores": [{"name": "level", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576471}
\ No newline at end of file
{"uuid": "2ddc3aa7-f2e5-4ef1-81c8-0ba61304f841", "befores": [{"name": "api", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575602}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/auth,
用例数据为:{"username": "admin","password": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="},
期望数据为:{'message': '账号或密码错误'},
服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g","username":"超级管理员","account":"admin","userId":"1","expiration":86400,"loginStatus":true,"userAttrs":{"tenantId":"-1"}}
\ No newline at end of file
{"uuid": "567950bb-6366-418c-906d-1accfe9c96a3", "children": ["3b94f6fe-44a0-4544-a31e-e7cefa37bb19"], "befores": [{"name": "get_depend_data_fix", "status": "passed", "start": 1747019576235, "stop": 1747019576235}], "afters": [{"name": "get_depend_data_fix::0", "status": "passed", "start": 1747019576719, "stop": 1747019576719}], "start": 1747019576235, "stop": 1747019576719}
\ No newline at end of file
{"uuid": "72200ece-81e8-42f2-9009-de3a24ec8b66", "befores": [{"name": "title", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575682}
\ No newline at end of file
{"uuid": "4b5b203b-bf1f-43a0-a139-6f2705799a4f", "befores": [{"name": "module", "status": "passed", "start": 1747019576394, "stop": 1747019576395}], "start": 1747019576394, "stop": 1747019576416}
\ No newline at end of file
{"uuid": "c29c44ce-03af-42a2-8b7f-a9ead19dad3f", "befores": [{"name": "level", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575452}
\ No newline at end of file
{"uuid": "7531847c-b7e7-4403-8cc6-b51b8a7d8cfc", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576019}
\ No newline at end of file
{"uuid": "49558327-1083-4d73-98fc-0da00229f01b", "befores": [{"name": "expect", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575481}
\ No newline at end of file
{"uuid": "d7278f43-7619-4191-9c80-4b35ebf4d7ce", "befores": [{"name": "req", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575731}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/refresh, \n\t用例数据为:None, \n\t期望数据为:{'message': '刷新成功'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4E00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '刷新token'\ntitle = '正向用例', level = '中', req = 'GET', url = 'http://36.139.193.99:8088/refresh', mime = None, case = None, expect = {'message': '刷新成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '刷新成功' == None\nE + where None = <built-in method get of dict object at 0x0000019E1B1C6600>('message')\nE + where <built-in method get of dict object at 0x0000019E1B1C6600> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF4E00>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '刷新token'\ntitle = '正向用例', level = '中', req = 'GET', url = 'http://36.139.193.99:8088/refresh', mime = None, case = None, expect = {'message': '刷新成功'}\nsql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/refresh, \nE \t用例数据为:None, \nE \t期望数据为:{'message': '刷新成功'}, \nE \t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"admin\",\"account\":\"admin\",\"userId\":\"\",\"expiration\":86400,\"loginStatus\":true}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "bb3c9877-0299-453f-8446-a3b1ce8ece33-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'刷新token'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'GET'"}, {"name": "url", "value": "'http://36.139.193.99:8088/refresh'"}, {"name": "mime", "value": "None"}, {"name": "case", "value": "None"}, {"name": "expect", "value": "{'message': '刷新成功'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575643, "stop": 1747019575670, "uuid": "d51193d5-cc3a-44cd-9447-33df0ec3b8af", "historyId": "87481f56e4611d24b9acdff82da322c0", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "刷新token"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "18ae95e2-ce8d-49d5-ae01-840da04c58a6", "befores": [{"name": "url", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576557}
\ No newline at end of file
{"uuid": "932987ec-bd7a-46aa-a80f-2e9994e69bf6", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576563, "stop": 1747019576563}], "start": 1747019576563, "stop": 1747019576617}
\ No newline at end of file
{"uuid": "dd7cab3f-b059-43df-b674-cd38f9960032", "befores": [{"name": "mime", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576469}
\ No newline at end of file
{"uuid": "b13a7241-dafa-4b39-8b10-bb9b0acf8a60", "befores": [{"name": "level", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575393}
\ No newline at end of file
{"uuid": "466c9317-ac4b-46b5-bbf2-e808b7667e7d", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575308}
\ No newline at end of file
{"uuid": "5e26abe6-39de-4013-bf08-3de7cb5680b6", "befores": [{"name": "expect", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575389}
\ No newline at end of file
{"uuid": "39511160-8abc-4a1b-ab49-f5d4e68943f3", "befores": [{"name": "expect", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575729}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "2759eb1b-d19c-4bcc-beb9-dddfe6f1c231-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'添加组织'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'高'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/org/addOrg'"}, {"name": "mime", "value": "'json'"}, {"name": "case", "value": "{'code': 'testAddOrg', 'demId': '需要更新', 'exceedLimitNum': 0, 'grade': '', 'limitNum': 0, 'name': '测试添加的组织', 'nowNum': 0, 'orderNo': 0, 'parentId': '0'}"}, {"name": "expect", "value": "{'message': '添加组织成功!'}"}, {"name": "sql_type", "value": "'delete|select'"}, {"name": "sql_data", "value": "{'select': 'select ID_ from uc_demension where CODE_=\"testDemension\";', 'delete': 'delete from uc_org where CODE_=\"testAddOrg\";'}"}, {"name": "update_key", "value": "'demId'"}], "start": 1747019575768, "stop": 1747019575808, "uuid": "7244b708-7ff1-47cd-8ed7-0ceaeb5bbf47", "historyId": "496af5000f32ab5d6f22ad1a5a9a15d3", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "添加组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "ddd7ee88-2338-4a60-9d62-56f10f84368b", "befores": [{"name": "url", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575849}
\ No newline at end of file
{"uuid": "68fde1d7-77c8-406f-b95e-76f731537e8d", "befores": [{"name": "level", "status": "passed", "start": 1747019576475, "stop": 1747019576475}], "start": 1747019576475, "stop": 1747019576510}
\ No newline at end of file
{"uuid": "d773fc9f-f70d-4f2e-b7d0-d53997085e59", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575598}
\ No newline at end of file
{"uuid": "06ea2e11-0f2d-4b79-9454-e52e1ce3605d", "befores": [{"name": "req", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576715}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "5079d6ba-30bd-4868-abc8-6c2d030a7ccf-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'根据维度编码获取维度信息'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'get'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'"}, {"name": "mime", "value": "'query'"}, {"name": "case", "value": "'code=testDemension'"}, {"name": "expect", "value": "{'isDelete': '0'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019576395, "stop": 1747019576410, "uuid": "12ba8787-17cb-44fb-b54c-5739c5ccc811", "historyId": "dd1a62ebfc3a9c9b3fd0cac49c43cc48", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码获取维度信息"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "e1e5bd9d-bad7-425d-9a75-1e5ef1135ec9", "befores": [{"name": "api", "status": "passed", "start": 1747019576562, "stop": 1747019576562}], "start": 1747019576562, "stop": 1747019576621}
\ No newline at end of file
{"uuid": "043a0777-ac01-4567-955b-00026e84aebf", "befores": [{"name": "level", "status": "passed", "start": 1747019575942, "stop": 1747019575942}], "start": 1747019575942, "stop": 1747019575986}
\ No newline at end of file
{"uuid": "e2f9e4c8-c0d6-43dc-91af-4089b0d663ba", "befores": [{"name": "expect", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575559}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "65c73c63-7ae4-491b-aca6-cef1ae0063cf", "befores": [{"name": "level", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575813}
\ No newline at end of file
{"uuid": "d0e807d6-f933-4d79-892c-75ad82bb8ac6", "befores": [{"name": "req", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576558}
\ No newline at end of file
{"uuid": "34cdc4a8-c6d4-4174-a01c-60dd9d5de105", "befores": [{"name": "module", "status": "passed", "start": 1747019576475, "stop": 1747019576475}], "start": 1747019576475, "stop": 1747019576513}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "cfc077ba-83a2-4b55-be5f-4fa52df25276", "befores": [{"name": "case", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575451}
\ No newline at end of file
{"uuid": "27af6523-771f-407f-aaef-40d0545d22ac", "befores": [{"name": "expect", "status": "passed", "start": 1747019576476, "stop": 1747019576476}], "start": 1747019576476, "stop": 1747019576507}
\ No newline at end of file
{"uuid": "3422c888-4319-472e-8ec2-a3e487afa773", "befores": [{"name": "req", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575452}
\ No newline at end of file
{"uuid": "53434155-9d4f-4f21-b3af-c8a38bb9a790", "befores": [{"name": "level", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575312}
\ No newline at end of file
{"uuid": "f86d46c1-b9dd-4265-bde1-db7caa42135a", "befores": [{"name": "module", "status": "passed", "start": 1747019576334, "stop": 1747019576334}], "start": 1747019576334, "stop": 1747019576392}
\ No newline at end of file
{"uuid": "7096c1a8-4122-4161-b4e3-18e0b5aadeeb", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575232}
\ No newline at end of file
{"uuid": "063b356c-a0d6-4211-a673-60a97d665553", "befores": [{"name": "title", "status": "passed", "start": 1747019576475, "stop": 1747019576475}], "start": 1747019576475, "stop": 1747019576512}
\ No newline at end of file
{"uuid": "e8949ff2-201d-4cbc-a9cc-59bdb117dceb", "befores": [{"name": "req", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576469}
\ No newline at end of file
{"uuid": "8896398e-2aa0-4409-b1c7-0a3d80a1b357", "befores": [{"name": "mime", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576021}
\ No newline at end of file
{"uuid": "ceadfb43-cac1-49ac-bed3-9909182caa25", "befores": [{"name": "url", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576679}
\ No newline at end of file
{"uuid": "71cb1f60-ea43-474d-b457-7c08f937c915", "befores": [{"name": "case", "status": "passed", "start": 1747019576476, "stop": 1747019576476}], "start": 1747019576476, "stop": 1747019576507}
\ No newline at end of file
{"uuid": "673da3b6-078c-4c56-9d90-aeb6064e3b98", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576017}
\ No newline at end of file
{"uuid": "d66536ca-60ad-4843-ac35-cc66b1b48c59", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576386}
\ No newline at end of file
{"uuid": "a66564cb-6fed-4533-b5f5-ac3be3067a46", "befores": [{"name": "url", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576414}
\ No newline at end of file
{"uuid": "840a0d2f-3603-4087-b095-41233d54f7f3", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576467}
\ No newline at end of file
{"uuid": "2201c3db-806b-4d65-b1f9-1224d8c5442f", "befores": [{"name": "url", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575730}
\ No newline at end of file
{"uuid": "69d6d796-163c-4476-8ae8-e42d328b5056", "befores": [{"name": "req", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575894}
\ No newline at end of file
{"uuid": "e6572291-054a-4282-be7a-a7b258007029", "befores": [{"name": "mime", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575599}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/refresh,
用例数据为:None,
期望数据为:{'message': '刷新成功'},
服务器返回的数据为:{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g","username":"admin","account":"admin","userId":"","expiration":86400,"loginStatus":true}
\ No newline at end of file
{"uuid": "70fe8400-fbc6-43e0-b676-ec6922d88057", "befores": [{"name": "expect", "status": "passed", "start": 1747019574875, "stop": 1747019574875}], "start": 1747019574875, "stop": 1747019574912}
\ No newline at end of file
{"uuid": "a31bc5e1-f6f0-4c27-8f4f-f4755116b5ec", "befores": [{"name": "url", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575391}
\ No newline at end of file
{"uuid": "e48a4cee-9879-4302-a0fc-095e2d5f054a", "befores": [{"name": "req", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575681}
\ No newline at end of file
{"uuid": "6a576d72-6ea8-4476-b161-f19899206a67", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575634}
\ No newline at end of file
{"uuid": "d8e9d47c-bf2a-4cb3-9a87-c9b0fc725baf", "befores": [{"name": "mime", "status": "passed", "start": 1747019575818, "stop": 1747019575818}], "start": 1747019575818, "stop": 1747019575849}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem,
用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'},
期望数据为:{'message': '添加维度成功'},
服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":"","code":200}
\ No newline at end of file
{"uuid": "e8f1bb06-899b-4533-9e9c-18c730a60bd8", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576412}
\ No newline at end of file
{"uuid": "47731145-b86c-4c29-8bec-0ab7aabae6e4", "befores": [{"name": "mime", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575451}
\ No newline at end of file
{"uuid": "bc584832-4e85-4d13-968b-a6c83639ef46", "befores": [{"name": "url", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575812}
\ No newline at end of file
{"uuid": "46bdd955-3b49-4311-bf40-3e5ea5c87a0c", "befores": [{"name": "api", "status": "passed", "start": 1747019576475, "stop": 1747019576475}], "start": 1747019576475, "stop": 1747019576513}
\ No newline at end of file
{"uuid": "bdba8508-8334-40e8-8daf-224e58dc9cd6", "befores": [{"name": "req", "status": "passed", "start": 1747019574874, "stop": 1747019574874}], "start": 1747019574874, "stop": 1747019574916}
\ No newline at end of file
{"uuid": "891120ab-2333-4f43-84e2-61cacb1f214a", "befores": [{"name": "url", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575351}
\ No newline at end of file
{"uuid": "d705e529-3f64-48a2-84e6-09dc908d1e1f", "befores": [{"name": "module", "status": "passed", "start": 1747019575990, "stop": 1747019575990}], "start": 1747019575990, "stop": 1747019576023}
\ No newline at end of file
{"uuid": "7266e0e8-ff1b-4991-a284-eeb6d557b757", "befores": [{"name": "api", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575894}
\ No newline at end of file
{"uuid": "df2da217-96bb-4f7c-b60e-4a5573807a08", "befores": [{"name": "url", "status": "passed", "start": 1747019574874, "stop": 1747019574874}], "start": 1747019574874, "stop": 1747019574915}
\ No newline at end of file
{"name": "反向用例-ids为id", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \n\t用例数据为:id=需要更新, \n\t期望数据为:{'message': '删除维度失败'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}", "trace": "self = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5340>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '删除维度失败' == '删除维度失败,维度ids必填'\nE \nE - 删除维度失败,维度ids必填\nE + 删除维度失败\n\ntest_case\\test_zhangsan\\test_bpm.py:37: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_zhangsan.test_bpm.TestBPM object at 0x0000019E1B0D5340>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AFB33E0>, module = '维度管理', api = '根据维度编码删除维度'\ntitle = '反向用例-ids为id', level = '中', req = 'DELETE', url = 'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds', mime = 'query'\ncase = 'id=需要更新', expect = {'message': '删除维度失败'}, sql_type = 'select', sql_data = 'select ID_ from uc_demension where CODE_=\"testDemension\";'\nupdate_key = '需要更新'\n\n @log_decorator\n @allure.epic(\"BPM项目-张三\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds, \nE \t用例数据为:id=需要更新, \nE \t期望数据为:{'message': '删除维度失败'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"删除维度失败,维度ids必填\",\"code\":200,\"logId\":\"1921763986257747968\"}\n\ntest_case\\test_zhangsan\\test_bpm.py:39: AssertionError"}, "attachments": [{"name": "log", "source": "393a6456-f97f-4637-9e21-e43c1c180594-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'根据维度编码删除维度'"}, {"name": "title", "value": "'反向用例-ids为id'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'DELETE'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds'"}, {"name": "mime", "value": "'query'"}, {"name": "case", "value": "'id=需要更新'"}, {"name": "expect", "value": "{'message': '删除维度失败'}"}, {"name": "sql_type", "value": "'select'"}, {"name": "sql_data", "value": "'select ID_ from uc_demension where CODE_=\"testDemension\";'"}, {"name": "update_key", "value": "'需要更新'"}], "start": 1747019576685, "stop": 1747019576703, "uuid": "e10831ec-e834-4811-9db0-c0a7c0032998", "historyId": "f0e544d2d1fc32d0184fdce24766dc87", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码删除维度"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "996e5985-0cfc-46be-a910-cb7a157a7f40", "befores": [{"name": "case", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575483}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "ff24e925-1ab8-4373-abfa-51a5211c9145", "befores": [{"name": "level", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575732}
\ No newline at end of file
{"uuid": "09d544c2-dc3a-4ce4-b9a9-f4d80836b3e3", "befores": [{"name": "mime", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575937}
\ No newline at end of file
{"uuid": "b1b5cd0d-9a17-4d59-a5c9-8fc4f86aadfe", "befores": [{"name": "level", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575352}
\ No newline at end of file
{"uuid": "fdebd06e-6940-4b0b-b734-4421705fa3a9", "befores": [{"name": "expect", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575760}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
\ No newline at end of file
{"uuid": "e679f01a-686c-4df3-b531-71c27ed35518", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575635}
\ No newline at end of file
{"uuid": "eb0d2df0-f512-4050-bb3c-87ea91ff1c77", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575890}
\ No newline at end of file
{"uuid": "76d17e97-ce24-4178-93ae-bf09fc8da519", "befores": [{"name": "mime", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575521}
\ No newline at end of file
{"uuid": "0518dc0a-95ba-48ed-acec-c59127e024d1", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575242, "stop": 1747019575242}], "start": 1747019575242, "stop": 1747019575267}
\ No newline at end of file
{"uuid": "a52eb659-5ba6-47d0-ba93-f60afecc6611", "befores": [{"name": "mime", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575560}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "start": 1747019576218, "stop": 1747019576231, "uuid": "e9c2401f-4050-4da7-ade9-ca224264f7fe", "historyId": "90cd6f3bc6f1cfa2b74132a2925eee99", "testCaseId": "90cd6f3bc6f1cfa2b74132a2925eee99", "fullName": "test_case.test_bpm_dependency.test_dem#test_get_dem_msg", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "severity", "value": "高"}, {"name": "story", "value": "根据维度编码获取维度信息"}, {"name": "epic", "value": "BPM项目-场景测试"}, {"name": "tag", "value": "dependency(depends=['test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope='session')"}, {"name": "parentSuite", "value": "test_case.test_bpm_dependency"}, {"name": "suite", "value": "test_dem"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm_dependency.test_dem"}]}
\ No newline at end of file
{"uuid": "196a0eac-e9b1-4905-97fe-50a836afe8ef", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575643, "stop": 1747019575643}], "start": 1747019575643, "stop": 1747019575677}
\ No newline at end of file
{"uuid": "effe45af-ec9a-4489-a416-6fd3551eaa6e", "befores": [{"name": "title", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575602}
\ No newline at end of file
{"uuid": "c9ddaed1-9b16-4f7d-885a-16402c3a81d4", "befores": [{"name": "case", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575234}
\ No newline at end of file
{"uuid": "ad9e09b1-6441-4624-85ca-9cb6d2c5a2d6", "befores": [{"name": "expect", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575450}
\ No newline at end of file
{"uuid": "e140f814-c139-4cf2-97c8-fb64529f9cdb", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576553}
\ No newline at end of file
{"uuid": "2ed7c0fc-4e2b-43d2-893a-e6a12d6ce300", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575317, "stop": 1747019575317}], "start": 1747019575317, "stop": 1747019575347}
\ No newline at end of file
{"uuid": "89a4e52a-756e-4071-b0cd-c7c6aad1c996", "befores": [{"name": "expect", "status": "passed", "start": 1747019575275, "stop": 1747019575275}], "start": 1747019575275, "stop": 1747019575310}
\ No newline at end of file
{"uuid": "11afc613-5efb-4c9f-b6f7-a0deb44c2a33", "befores": [{"name": "case", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575520}
\ No newline at end of file
{"uuid": "465bd52f-8bd7-4327-8ae8-00935f0d541b", "befores": [{"name": "case", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575760}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:关联被测系统的状态, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:18
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_host, 功能的描述为:根据key,获取被测系统的域名, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:24
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:创建链接对象和游标对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:17
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:delete, 功能的描述为:执行删除的sql语句, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:37
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/addDem,
用例数据为:{'code': 'testDemension', 'description': '测试维度', 'isDefault': 0, 'name': '测试维度'},
期望数据为:{'message': '添加维度成功'},
服务器返回的数据为:{"state":true,"message":"添加维度成功!","value":"","code":200}
\ No newline at end of file
{"uuid": "f5f6ee43-c53d-4eac-83de-e699142000a1", "befores": [{"name": "req", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575812}
\ No newline at end of file
{"uuid": "f58f0e07-474c-4df5-a57f-f282cca15f7d", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575242, "stop": 1747019575242}], "start": 1747019575242, "stop": 1747019575266}
\ No newline at end of file
{"uuid": "fe652b86-a946-4ca6-ac35-33c8e0fa04be", "befores": [{"name": "expect", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576019}
\ No newline at end of file
{"uuid": "bea1b2b1-eef6-456a-97d1-eebab625afbb", "befores": [{"name": "case", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576678}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的数据过长", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5940>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据过长', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4...2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == None\nE + where None = <built-in method get of dict object at 0x0000019E1B1A7100>('message')\nE + where <built-in method get of dict object at 0x0000019E1B1A7100> = {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...}.get\nE + where {'account': 'admin', 'expiration': 86400, 'loginStatus': True, 'token': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRl...IsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g', ...} = json()\nE + where json = <Response [200]>.json\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5940>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据过长', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4...2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"token\":\"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInRlbmFudElkIjoiLTEiLCJleHAiOjE3NDcxMDU2MTIsImlhdCI6MTc0NzAxOTIxMn0.R0-njG2mtPurC3CSGzV0WuCZWVuD72sTdhToGsT-HlAAMJiVs1uiAj95CtNB2dU1Sg0XbBWMz4_tjj54Q9Qv5g\",\"username\":\"超级管理员\",\"account\":\"admin\",\"userId\":\"1\",\"expiration\":86400,\"loginStatus\":true,\"userAttrs\":{\"tenantId\":\"-1\"}}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "a039084d-8f51-4ac2-a898-d8e3f3117ccf-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的数据过长'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575400, "stop": 1747019575438, "uuid": "b691f315-561a-4693-a386-ce39ab50c626", "historyId": "e798d0eb0ddff963d03b6c2d33c250c5", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "4ddf7d69-0984-452c-8d0c-a8eb772de6c6", "befores": [{"name": "level", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576680}
\ No newline at end of file
{"uuid": "6618cd04-a063-44d4-8d75-0774ca42038a", "befores": [{"name": "req", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575938}
\ No newline at end of file
{"uuid": "c94ea6f9-287d-4d2c-9fba-ffc2313b7ed2", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575399, "stop": 1747019575399}], "start": 1747019575399, "stop": 1747019575450}
\ No newline at end of file
{"uuid": "2f6e7a1c-1f0c-4b72-a31d-d5249985ecb7", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575481}
\ No newline at end of file
{"uuid": "3406495b-6430-4231-b6a8-b9395ef415c5", "befores": [{"name": "url", "status": "passed", "start": 1747019576335, "stop": 1747019576335}], "start": 1747019576335, "stop": 1747019576390}
\ No newline at end of file
{"uuid": "959cd0c6-c11d-4e37-9204-7361eee8a7da", "befores": [{"name": "module", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576560}
\ No newline at end of file
{"uuid": "a532c9b2-f703-4cb6-acad-9c064ecf8002", "befores": [{"name": "api", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575394}
\ No newline at end of file
{"uuid": "c9e2f6dd-4014-4689-a589-93d3c45c3297", "befores": [{"name": "mime", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575483}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的数据特殊字符", "status": "passed", "attachments": [{"name": "log", "source": "df79b368-f781-4e33-b5ce-cf0a1fb37711-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的数据特殊字符'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"password\": \"♠♣▣▤▥▦▩◘◙◈♫\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575492, "stop": 1747019575517, "uuid": "36bc3ed0-2be7-4a4e-9672-f4afbedbc0ed", "historyId": "ba4043b38be0e15f921e150f16000bd0", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "746618d6-e692-40f8-b50c-a595412761a1", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576466}
\ No newline at end of file
{"uuid": "36d9e794-511b-4f9b-9879-6c627644bb3e", "befores": [{"name": "title", "status": "passed", "start": 1747019575316, "stop": 1747019575316}], "start": 1747019575316, "stop": 1747019575352}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "2be5aab3-be9a-4b5c-8f1a-6b90ded3d51c", "befores": [{"name": "title", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575894}
\ No newline at end of file
{"uuid": "30e87b31-7f8e-4a38-a5fc-9f6e32559e19", "befores": [{"name": "url", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575638}
\ No newline at end of file
{"uuid": "32a6574a-31b1-4020-b36d-9d772f50e9f5", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576624, "stop": 1747019576624}], "start": 1747019576624, "stop": 1747019576676}
\ No newline at end of file
{"uuid": "adc94af7-a7e2-4e21-9cdc-7aa4c30496ae", "befores": [{"name": "module", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576716}
\ No newline at end of file
{"uuid": "190f432e-860c-4719-a9b8-2701d62c58a7", "befores": [{"name": "level", "status": "passed", "start": 1747019575241, "stop": 1747019575241}], "start": 1747019575241, "stop": 1747019575271}
\ No newline at end of file
{"uuid": "d1fdc7cb-7690-4a55-86af-277c904cea50", "befores": [{"name": "case", "status": "passed", "start": 1747019574875, "stop": 1747019574875}], "start": 1747019574875, "stop": 1747019574913}
\ No newline at end of file
{"uuid": "df76bfb3-b56e-478b-96b8-148b2860d870", "befores": [{"name": "level", "status": "passed", "start": 1747019576562, "stop": 1747019576562}], "start": 1747019576562, "stop": 1747019576620}
\ No newline at end of file
{"uuid": "44cf2c3f-9dc8-4346-9230-0d943f397d80", "befores": [{"name": "case", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575637}
\ No newline at end of file
{"uuid": "53e16349-4b1d-4605-9f3b-ba6bf1eb11ac", "befores": [{"name": "mime", "status": "passed", "start": 1747019574874, "stop": 1747019574874}], "start": 1747019574874, "stop": 1747019574914}
\ No newline at end of file
{"uuid": "50411306-8297-48bc-ae20-3eaa042bfd0c", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575943, "stop": 1747019575943}], "start": 1747019575943, "stop": 1747019575980}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的数据为空", "status": "passed", "attachments": [{"name": "log", "source": "3730a028-6cf5-4103-ab52-c4bca392661e-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的数据为空'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"password\": \"\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575570, "stop": 1747019575597, "uuid": "f9940974-f07d-48fa-a8d0-77179145cad8", "historyId": "89531fdad5fd4b0247c0e8e26f94dae6", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "d6a6f67f-76d6-451b-8e2d-6a49a08b9bf9", "befores": [{"name": "api", "status": "passed", "start": 1747019575990, "stop": 1747019575990}], "start": 1747019575990, "stop": 1747019576023}
\ No newline at end of file
{"uuid": "20ee89b1-deef-4764-9311-af903c8afb04", "befores": [{"name": "url", "status": "passed", "start": 1747019576563, "stop": 1747019576563}], "start": 1747019576563, "stop": 1747019576619}
\ No newline at end of file
{"uuid": "e181bf2c-7642-443f-b3ae-b1127fe44ef2", "befores": [{"name": "title", "status": "passed", "start": 1747019575897, "stop": 1747019575897}], "start": 1747019575897, "stop": 1747019575939}
\ No newline at end of file
{"uuid": "c3250272-082a-4f6d-b387-cda90a16bcf1", "befores": [{"name": "expect", "status": "passed", "start": 1747019576563, "stop": 1747019576563}], "start": 1747019576563, "stop": 1747019576618}
\ No newline at end of file
{"uuid": "b9569b50-21b7-400c-8185-8d5899008eaf", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575818, "stop": 1747019575819}], "start": 1747019575818, "stop": 1747019575847}
\ No newline at end of file
{"uuid": "b5b8ca15-2721-4d8d-a3eb-a9c43103aabd", "befores": [{"name": "req", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576415}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "c57e05fb-16d6-4206-80ee-44e0c2d5fb17-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'维度管理'"}, {"name": "api", "value": "'根据维度编码获取维度信息'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'get'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/demension/v1/dem/getDem'"}, {"name": "mime", "value": "'query'"}, {"name": "case", "value": "'code=testDemension'"}, {"name": "expect", "value": "{'isDelete': '0'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575737, "stop": 1747019575758, "uuid": "5f99e821-c014-4608-a694-dfa80313f6c4", "historyId": "c2fd5768cf67220112664c59c15e5d4b", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "story", "value": "根据维度编码获取维度信息"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "7a322322-919e-4253-9f10-c5e350e436bf", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019576526, "stop": 1747019576526}], "start": 1747019576526, "stop": 1747019576553}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "add84589-e5bb-4ed8-a1ef-9f0a792c1780-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'保存组织参数'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'"}, {"name": "mime", "value": "'query|json'"}, {"name": "case", "value": "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}"}, {"name": "expect", "value": "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575856, "stop": 1747019575887, "uuid": "003a3d34-4076-41e7-85ad-fc8d814d10d7", "historyId": "65973827dcb7e1d88dfc9fc091290c3b", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "保存组织参数"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "de92c879-aa72-4bd4-a021-e2fe2957b4ea", "befores": [{"name": "case", "status": "passed", "start": 1747019575569, "stop": 1747019575569}], "start": 1747019575569, "stop": 1747019575599}
\ No newline at end of file
{"uuid": "4623c207-69a7-4907-8ccd-bbc13b3a0d0e", "befores": [{"name": "module", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575523}
\ No newline at end of file
{"uuid": "2679045a-7698-4154-a0f6-064e6042b9ed", "befores": [{"name": "title", "status": "passed", "start": 1747019575767, "stop": 1747019575767}], "start": 1747019575767, "stop": 1747019575814}
\ No newline at end of file
{"uuid": "8e92fef2-a167-40c2-84f1-2b59730ab2f3", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575491, "stop": 1747019575491}], "start": 1747019575491, "stop": 1747019575519}
\ No newline at end of file
{"uuid": "c94ad365-213b-49d9-b8bc-09e2902d3ad9", "befores": [{"name": "url", "status": "passed", "start": 1747019576476, "stop": 1747019576476}], "start": 1747019576476, "stop": 1747019576508}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:id=需要更新,
期望数据为:{'message': '删除维度失败'},
服务器返回的数据为:{"state":false,"message":"删除维度失败,维度ids必填","code":200,"logId":"1921763983346900992"}
\ No newline at end of file
{"uuid": "565f2954-47f8-4b97-871c-36fdb06401a9", "befores": [{"name": "req", "status": "passed", "start": 1747019575991, "stop": 1747019575991}], "start": 1747019575991, "stop": 1747019576021}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
INFO  root:__init__.py:45 执行的功能为:select, 功能的描述为:执行查询的sql语句,并返回查询, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:46
ERROR  root:__init__.py:50 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_zhangsan\test_bpm.py, 所在的行为:20.报错,错误为:<class 'AssertionError'>, 错误的描述为:断言失败,
请求的url为:http://36.139.193.99:8088/api/demension/v1/dem/deleteDemByIds,
用例数据为:{'ids': '1921763984835878912'},
期望数据为:{'message': '删除维度成功'},
服务器返回的数据为:{"state":true,"message":"删除维度成功!","value":"","code":200}
\ No newline at end of file
{"uuid": "cfd8ce6c-fd9b-4785-8266-c0ee939be3c7", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576467}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "stdout", "source": "697c0d33-80a8-435a-8c2d-a5cef400eace-attachment.txt", "type": "text/plain"}], "start": 1747019576236, "stop": 1747019576262, "uuid": "3b94f6fe-44a0-4544-a31e-e7cefa37bb19", "historyId": "f7d13324fa5be8896c9957870e56e4e0", "testCaseId": "f7d13324fa5be8896c9957870e56e4e0", "fullName": "test_case.test_bpm_dependency.test_org#test_add_org", "labels": [{"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM项目-场景测试"}, {"name": "story", "value": "添加组织"}, {"name": "feature", "value": "组织管理"}, {"name": "tag", "value": "dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login', 'test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope='session')"}, {"name": "parentSuite", "value": "test_case.test_bpm_dependency"}, {"name": "suite", "value": "test_org"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm_dependency.test_org"}]}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "95014266-b7e7-4e02-acf3-ec9b822a60a2", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575479}
\ No newline at end of file
{"uuid": "44b26c52-1d27-429e-8a37-10147e21382f", "befores": [{"name": "module", "status": "passed", "start": 1747019576419, "stop": 1747019576419}], "start": 1747019576419, "stop": 1747019576472}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "start": 1747019576171, "stop": 1747019576215, "uuid": "3599990c-b2d1-477c-b039-04f042a8e846", "historyId": "de4a055621280e3226d3dbd2768a235d", "testCaseId": "de4a055621280e3226d3dbd2768a235d", "fullName": "test_case.test_bpm_dependency.test_dem#test_add_dem", "labels": [{"name": "feature", "value": "维度管理"}, {"name": "severity", "value": "高"}, {"name": "story", "value": "添加维度"}, {"name": "epic", "value": "BPM项目-场景测试"}, {"name": "tag", "value": "dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login'], scope='session')"}, {"name": "parentSuite", "value": "test_case.test_bpm_dependency"}, {"name": "suite", "value": "test_dem"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm_dependency.test_dem"}]}
\ No newline at end of file
{"uuid": "49c1085c-884b-4d02-8e92-8763549628bc", "befores": [{"name": "url", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575893}
\ No newline at end of file
{"uuid": "954af460-03f5-445e-b4c5-86821a1c8ada", "befores": [{"name": "expect", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575936}
\ No newline at end of file
{"name": "正向用例", "status": "passed", "attachments": [{"name": "log", "source": "af9fc7df-853a-413b-bbc8-3129f58261a6-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'组织管理'"}, {"name": "api", "value": "'保存组织参数'"}, {"name": "title", "value": "'正向用例'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'post'"}, {"name": "url", "value": "'http://36.139.193.99:8088/api/org/v1/orgParam/saveOrgParams'"}, {"name": "mime", "value": "'query|json'"}, {"name": "case", "value": "{'query': {'orgCode': 'testAddOrg'}, 'body': [{'alias': 'test0428', 'value': 100}]}"}, {"name": "expect", "value": "{'state': True, 'message': '保存组织参数成功!', 'value': '', 'code': 200}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019576527, "stop": 1747019576552, "uuid": "d7d8abcc-24ce-49d3-9c47-d8e34d3480c6", "historyId": "7d3e66ec146aefcd8a2d784d037febd7", "testCaseId": "7313ea18e628429ba9747a9ce28f04ea", "fullName": "test_case.test_zhangsan.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "保存组织参数"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目-张三"}, {"name": "parentSuite", "value": "test_case.test_zhangsan"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_zhangsan.test_bpm"}]}
\ No newline at end of file
{"uuid": "ed218352-52cf-4ba6-892c-91c88c094ea4", "children": ["95a4a934-1512-4666-a291-79b7b054cfeb", "73d7fe01-8016-4ce5-b69c-2f11b81129ec", "bf9ba7dd-ebed-477f-8fc1-0483ce60ac4e", "bc08fee1-386b-4dae-be78-a9cc2d09720d", "464b896c-0f42-4cbc-aad0-73834467ac91", "11da6938-dd4d-43d4-b22c-c56f34b632ae", "b691f315-561a-4693-a386-ce39ab50c626", "1edaf472-6681-420e-88d0-d0069403483a", "36bc3ed0-2be7-4a4e-9672-f4afbedbc0ed", "453bd97a-0687-4d72-bb91-acb5bd65bb00", "f9940974-f07d-48fa-a8d0-77179145cad8", "7f0a46a5-716b-4a76-9e8b-0b5c67e640cf", "d51193d5-cc3a-44cd-9447-33df0ec3b8af", "7ed79b92-4afc-446f-a278-7d800af57485", "5f99e821-c014-4608-a694-dfa80313f6c4", "7244b708-7ff1-47cd-8ed7-0ceaeb5bbf47", "37d921ec-09e2-4adb-8158-23c559982748", "003a3d34-4076-41e7-85ad-fc8d814d10d7", "a2e8e07b-29ee-43a5-93a1-cf2811413a86", "1db6f35b-dd16-4efa-b9b3-3285848ef280", "c970f423-164f-40db-9344-4aed6a135682"], "befores": [{"name": "req_fix", "status": "passed", "start": 1747019574796, "stop": 1747019574873}], "afters": [{"name": "req_fix::0", "status": "passed", "start": 1747019576721, "stop": 1747019576721}], "start": 1747019574796, "stop": 1747019576721}
\ No newline at end of file
{"uuid": "306e8ace-e05a-473d-b611-196278eba4ba", "befores": [{"name": "update_key", "status": "passed", "start": 1747019576395, "stop": 1747019576395}], "start": 1747019576395, "stop": 1747019576411}
\ No newline at end of file
{"uuid": "9b0c1b50-8ec5-4bbd-bf97-410fd20a3a48", "befores": [{"name": "mime", "status": "passed", "start": 1747019575855, "stop": 1747019575855}], "start": 1747019575855, "stop": 1747019575893}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码的数据为关键字", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": class}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5130>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据为关键字', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": class}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == 'Unrecognized..., column: 40]'\nE \nE + 账号或密码错误\nE - Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\nE - at [Source: (PushbackInputStream); line: 1, column: 40]\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5130>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码的数据为关键字', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": class}', expect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": class}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"Unrecognized token 'class': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')\\n at [Source: (PushbackInputStream); line: 1, column: 40]\",\"code\":200,\"logId\":\"1921763981732093952\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "38658ce9-bbf4-4318-8c4f-0993edb5d3c9-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码的数据为关键字'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"password\": class}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575607, "stop": 1747019575626, "uuid": "7f0a46a5-716b-4a76-9e8b-0b5c67e640cf", "historyId": "bb07c1a1f7ca44b9010ff1e2c69e67a6", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "c3e5542f-4880-4bf6-9ad1-d47f42265c4a", "befores": [{"name": "title", "status": "passed", "start": 1747019575457, "stop": 1747019575457}], "start": 1747019575457, "stop": 1747019575485}
\ No newline at end of file
{"uuid": "1949c9aa-b9a4-4701-b453-7ade780b0555", "befores": [{"name": "title", "status": "passed", "start": 1747019575355, "stop": 1747019575355}], "start": 1747019575355, "stop": 1747019575393}
\ No newline at end of file
{"uuid": "d07b0550-51eb-44e2-9c16-d3f8b165b908", "befores": [{"name": "url", "status": "passed", "start": 1747019574925, "stop": 1747019574925}], "start": 1747019574925, "stop": 1747019575235}
\ No newline at end of file
{"name": "反向用例-正确的用户名,密码多传", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败,\n\t请求的url为:http://36.139.193.99:8088/auth, \n\t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \n\t期望数据为:{'message': '账号或密码错误'}, \n\t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}", "trace": "self = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D90>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码多传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n> assert expect[key] == res.json().get(key)\nE AssertionError: assert '账号或密码错误' == '解密密码异常,请检查RSA公钥和私钥配置'\nE \nE - 解密密码异常,请检查RSA公钥和私钥配置\nE + 账号或密码错误\n\ntest_case\\test_bpm\\test_bpm.py:39: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <APIAutoTest_v3.test_case.test_bpm.test_bpm.TestBPM object at 0x0000019E1AFF5D90>\nreq_fix = <APIAutoTest_v3.request_method.request_method.RequestMethod object at 0x0000019E1AB65EE0>, module = '认证接口', api = '登录系统'\ntitle = '反向用例-正确的用户名,密码多传', level = '中', req = 'POST', url = 'http://36.139.193.99:8088/auth', mime = 'application/json'\ncase = '{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'\nexpect = {'message': '账号或密码错误'}, sql_type = None, sql_data = None, update_key = None\n\n @log_decorator\n @allure.epic(\"BPM项目\")\n # @allure.feature(\"模块名称\")\n # @allure.story(\"接口名称\")\n # @allure.title(\"用例标题\")\n # @allure.severity(\"用例的等级\")\n @pytest.mark.parametrize(\"module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key\", datas)\n def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):\n # 生成allure报告的结果\n allure.dynamic.feature(module)\n allure.dynamic.story(api)\n allure.dynamic.title(title)\n allure.dynamic.severity(level)\n \n res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)\n \n try:\n for key in expect:\n assert expect[key] == res.json().get(key)\n except AssertionError:\n> raise AssertionError(f\"断言失败,\\n\\t请求的url为:{url}, \\n\\t用例数据为:{case}, \\n\\t期望数据为:{expect}, \\n\\t服务器返回的数据为:{res.text}\")\nE AssertionError: 断言失败,\nE \t请求的url为:http://36.139.193.99:8088/auth, \nE \t用例数据为:{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}, \nE \t期望数据为:{'message': '账号或密码错误'}, \nE \t服务器返回的数据为:{\"state\":false,\"message\":\"解密密码异常,请检查RSA公钥和私钥配置\",\"code\":200,\"logId\":\"1921763980360556544\"}\n\ntest_case\\test_bpm\\test_bpm.py:41: AssertionError"}, "attachments": [{"name": "log", "source": "60492bd9-6ab9-4820-8b61-96fc8026e342-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "module", "value": "'认证接口'"}, {"name": "api", "value": "'登录系统'"}, {"name": "title", "value": "'反向用例-正确的用户名,密码多传'"}, {"name": "level", "value": "'中'"}, {"name": "req", "value": "'POST'"}, {"name": "url", "value": "'http://36.139.193.99:8088/auth'"}, {"name": "mime", "value": "'application/json'"}, {"name": "case", "value": "'{\"username\": \"admin\",\"password\": \"fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8=\",\"password\": \"123456\"}'"}, {"name": "expect", "value": "{'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1747019575276, "stop": 1747019575297, "uuid": "bc08fee1-386b-4dae-be78-a9cc2d09720d", "historyId": "c3bc8efa03dea07d8223f0baddabf64b", "testCaseId": "7ef4da15e0946ca293c8e0b6457e0add", "fullName": "test_case.test_bpm.test_bpm.TestBPM#test_bpm", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM项目"}, {"name": "parentSuite", "value": "test_case.test_bpm"}, {"name": "suite", "value": "test_bpm"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "MasterOfTime"}, {"name": "thread", "value": "24496-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_case.test_bpm.test_bpm"}]}
\ No newline at end of file
{"uuid": "e6be77da-e4bf-4bc8-9e08-af6c369196bb", "befores": [{"name": "mime", "status": "passed", "start": 1747019576684, "stop": 1747019576684}], "start": 1747019576684, "stop": 1747019576714}
\ No newline at end of file
{"uuid": "4116790c-30f3-4250-853d-66952bc27ecf", "befores": [{"name": "sql_type", "status": "passed", "start": 1747019575528, "stop": 1747019575528}], "start": 1747019575528, "stop": 1747019575557}
\ No newline at end of file
{"uuid": "34f0955f-feae-4bc9-b764-314b0402599c", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575356, "stop": 1747019575356}], "start": 1747019575356, "stop": 1747019575388}
\ No newline at end of file
{"uuid": "b8ddd3be-7072-4d09-a2df-407c1e803469", "befores": [{"name": "url", "status": "passed", "start": 1747019575898, "stop": 1747019575898}], "start": 1747019575898, "stop": 1747019575937}
\ No newline at end of file
{"uuid": "f35f190b-ef98-4196-b8eb-6abfcc13c562", "befores": [{"name": "update_key", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575727}
\ No newline at end of file
{"uuid": "c073f334-2739-4ff5-a9ed-8615bfa70f44", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575737, "stop": 1747019575737}], "start": 1747019575737, "stop": 1747019575759}
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:关联被测系统的状态, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:18
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_host, 功能的描述为:根据key,获取被测系统的域名, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:24
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:创建链接对象和游标对象, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\db.py, 所在的行为:17
INFO  root:__init__.py:45 执行的功能为:__init__, 功能的描述为:获取系统配置ini文件的路径,并创建Configparser对象,在读取ini文件, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:16
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:get_sql_connect_msg, 功能的描述为:根据key,获取数据库的链接信息, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\common\read_system_ini.py, 所在的行为:29
INFO  root:__init__.py:45 执行的功能为:test_bpm, 功能的描述为:None, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\test_case\test_bpm\test_bpm.py, 所在的行为:21
INFO  root:__init__.py:45 执行的功能为:request_all, 功能的描述为:
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
, 所在的文件为:D:\Project\PythonDoc\test66\APIAutoTest_v3\request_method\request_method.py, 所在的行为:32
\ No newline at end of file
{"uuid": "853c345e-f6b5-4e41-bf8a-e65e8632f12d", "befores": [{"name": "sql_data", "status": "passed", "start": 1747019575606, "stop": 1747019575606}], "start": 1747019575606, "stop": 1747019575635}
\ No newline at end of file
{"uuid": "5259e966-ac6f-4d28-bb3f-c88abbe64bf9", "befores": [{"name": "module", "status": "passed", "start": 1747019575686, "stop": 1747019575686}], "start": 1747019575686, "stop": 1747019575732}
\ No newline at end of file
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.
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.
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:10
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: request_method.py
# Author: lao_zhao
# Datetime: 2025/5/9 14:17
# Description:
#
# ---------------------------------------------------------------------------
import requests
from APIAutoTest_v3 import log_decorator
from APIAutoTest_v3.common.db import DB
from APIAutoTest_v3.common.read_system_ini import ReadSystemIni
class RequestMethod:
@log_decorator
def __init__(self):
"""关联被测系统的状态"""
login_url = ReadSystemIni().get_host("host") + "/auth"
log_data = {
"username": "admin",
"password": "fWwO5OcV0c5AZfgOohpm4OE/FjKMc5wcjjaJvfbnrTIQMG5d3htn2aFA2iZGkSgYZ+9liGgmple6bCp+NT4PnY2Jlov8tV8Q/+nn2IZTuPCMwHqRrUchpPUr4wXWuQ+Gk55DNu4CZgxWQ5HxfzixGHJT29D6TUiz5Ea+mLm3fg8="
}
self.bpm_session = requests.sessions.Session()
self.header = {"Authorization": "Bearer "+self.bpm_session.request(method="post", url=login_url, json=log_data).json().get("token")}
self.bpm_session.headers.update(self.header)
self.db = DB()
@log_decorator
def request_all(self, req_method, req_url, req_mime, case_data, sql_type, sql_data, update_key):
"""
封装一个公共的请求方法
:param req_method: 请求方法
:param req_url: 请求的url
:param req_mime: 请求的媒体类型
:param case_data: 用例数据
:param sql_type: sql语句类型
:param sql_data: sql语句
:param update_key: 更新的key
:return: Response Type
"""
# 先执行sql语句---该删除的就删除,如果有查询就需要更新用例数据,更新时,需要注意用例数据的类型
if sql_type == "delete":
self.db.delete(sql_data)
elif sql_type == "select":
select_result = self.db.select(sql_data)
if isinstance(case_data, str):
case_data = case_data.replace(update_key, select_result)
else:
case_data[update_key] = select_result
# 判断sql语句的类型是否为delete|select,或者为select|delete
elif sql_type == "delete|select" or sql_type == "select|delete":
# 删除执行删除的sql语句
self.db.delete(sql_data["delete"])
# 再执行查询的sql语句,获取查询结果,将查询结果更新到用例数据中
select_result = self.db.select(sql_data["select"])
if isinstance(case_data, str):
case_data = case_data.replace(update_key, select_result)
else:
case_data[update_key] = select_result
# 后发送请求--判断媒体类型,不同的媒体类型使用不同的关键字传参
if req_mime == "json" or req_mime == "application/json":
self.bpm_session.headers["content-type"] = "application/json"
if isinstance(case_data, str):
# 除了上传文件-files和发送python对象给服务器-json,以外的所以数据如果要在请求体中发送给服务器,全部使用data发送给服务器。
return self.bpm_session.request(method=req_method, url=req_url, data=case_data)
else:
return self.bpm_session.request(method=req_method, url=req_url, json=case_data)
elif req_mime == "text" or req_mime == "text/plain":
self.bpm_session.headers["content-type"] = "text/plain"
return self.bpm_session.request(method=req_method, url=req_url, data=case_data)
elif req_mime == "form" or req_mime == "x-www-form-urlencoded" or req_mime == "application/x-www-form-urlencoded":
self.bpm_session.headers["content-type"] = "application/x-www-form-urlencoded"
return self.bpm_session.request(method=req_method, url=req_url, data=case_data)
elif req_mime == "query":
return self.bpm_session.request(method=req_method, url=req_url, params=case_data)
# 判断媒体类型是否为query|json或者为json|query,表示请求体和地址栏同时传参
elif req_mime == "query|json" or req_mime == "json|query":
# 先取出请求体和地址栏传参的数据
body = case_data.get("body")
query = case_data.get("query")
# 更改请求的媒体类型
self.bpm_session.headers["content-type"] = "application/json"
# 判断请求的数据类型是否为字符串,如果是使用data传参,如果不是使用json传参
if isinstance(body, str):
return self.bpm_session.request(method=req_method, url=req_url, data=body, params=query)
else:
return self.bpm_session.request(method=req_method, url=req_url, json=body, params=query)
elif req_mime is None:
return self.bpm_session.request(method=req_method, url=req_url)
elif req_mime == "multipart/form-data" or req_mime == "form-data":
# 更新下用例数据,需要注意上传文件的参数名
return requests.request(method=req_method, url=req_url, files=case_data, headers=self.header)
else:
raise ValueError("媒体类型错误")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2025/5/9 11:10
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: conftest.py
# Author: lao_zhao
# Datetime: 2025/5/12 10:00
# Description:
#
# ---------------------------------------------------------------------------
# def pytest_collection_modifyitems(items):
# # item表示每个测试用例,解决用例名称中文显示问题
# for item in items:
# item.name = item.name.encode("utf-8").decode("unicode-escape")
# item._nodeid = item._nodeid.encode("utf-8").decode("unicode-escape")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2025/5/9 14:29
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: conftest.py
# Author: lao_zhao
# Datetime: 2025/5/9 14:29
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from APIAutoTest_v3.request_method.request_method import RequestMethod
@pytest.fixture(scope="session")
def req_fix():
req = RequestMethod()
yield req
req.db.close()
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: test_bpm.py
# Author: lao_zhao
# Datetime: 2025/5/9 14:30
# Description:
#
# ---------------------------------------------------------------------------
import pytest
import allure
from APIAutoTest_v3 import log_decorator
from APIAutoTest_v3.common.read_excel import ReadExcel
from APIAutoTest_v3.common.read_system_ini import ReadSystemIni
datas = ReadExcel(ReadSystemIni().get_username("user1")).get_data()
class TestBPM:
@log_decorator
@allure.epic("BPM项目")
# @allure.feature("模块名称")
# @allure.story("接口名称")
# @allure.title("用例标题")
# @allure.severity("用例的等级")
@pytest.mark.parametrize("module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key", datas)
def test_bpm(self, req_fix, module, api, title, level, req, url, mime, case, expect, sql_type, sql_data, update_key):
# 生成allure报告的结果
allure.dynamic.feature(module)
allure.dynamic.story(api)
allure.dynamic.title(title)
allure.dynamic.severity(level)
res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)
try:
for key in expect:
assert expect[key] == res.json().get(key)
except AssertionError:
raise AssertionError(f"断言失败,\n\t请求的url为:{url}, \n\t用例数据为:{case}, \n\t期望数据为:{expect}, \n\t服务器返回的数据为:{res.text}")
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2025/5/8 10:20
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: conftest.py
# Author: lao_zhao
# Datetime: 2025/5/8 10:22
# Description:
#
# ---------------------------------------------------------------------------
# dependency
import pytest
from APIAutoTest_v3.request_method.request_method import RequestMethod
depend_dict = {}
@pytest.fixture(scope="session")
def req_fix():
yield RequestMethod()
@pytest.fixture(scope="session")
def depend_data_fix():
return depend_dict
# 了解
@pytest.fixture(scope="session")
def set_depend_data_fix():
def set_value(key, value):
# ...
depend_dict[key] = value
# ...
yield set_value
@pytest.fixture(scope="session")
def get_depend_data_fix():
def get_value(key):
# ...
value = depend_dict.get(key)
# ...
return value
yield get_value
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: test_auth.py
# Author: lao_zhao
# Datetime: 2025/5/8 10:20
# Description:
#
# ---------------------------------------------------------------------------
import allure
import pytest
class TestAuth:
# 登录
# 标记当前的用例被后续的用例依赖
@allure.epic("BPM项目-场景测试")
@allure.feature("认证接口")
@allure.story("登录系统")
@allure.title("正向用例")
@allure.severity("高")
@pytest.mark.dependency(scope="session")
def test_login(self, req_fix):
login_data = {"username": "admin",
"password": "BEYEoXxKBfk7COvpsAMhEw9laWTPr4PUoREUqe5tssyIl+omAR0uCUS5by+/Ky87hBUOvKrNQkMdHac46fInGWQ4nguGERyyG5pAfNC9rhtiM73iFU2ql2zConiIMZ8aZ9fUhSd1JK+JJnopIgUNAdpWDbG9sCnXng6HjIsD+BM="}
login_url = 'http://36.139.193.99:8088/auth'
res = req_fix.bpm_session.request(method="post", url=login_url, json=login_data)
assert "超级管理员" in res.text
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: test_dem.py
# Author: lao_zhao
# Datetime: 2025/5/8 10:21
# Description:
#
# ---------------------------------------------------------------------------
import allure
import pytest
from faker import Faker
data = Faker(locale="zh_cn")
depend_data = {}
@allure.epic("BPM项目-场景测试")
@allure.feature("维度管理")
@allure.story("添加维度")
@allure.title("正向用例")
@allure.severity("高")
@pytest.mark.dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login'], scope="session")
def test_add_dem(req_fix):
dem_name = data.company()
dem_code = data.phone_number()
add_dem_data = {"name": dem_name,"code": dem_code,"description":""}
add_dem_url = 'http://36.139.193.99:8088/api/demension/v1/dem/addDem'
res = req_fix.bpm_session.request(method="post", url=add_dem_url, json=add_dem_data)
assert "添加维度成功" in res.text
depend_data["demCode"] = dem_code
# @pytest.mark.dependency(depends=['test_bpm/test_dem.py::test_add_dem'], scope="session")
# def test_get_dem_msg(req_fix, depend_data_fix):
# get_dem_msg_url = 'http://36.139.193.99:8088/api/demension/v1/dem/getDem'
# get_dem_msg_data = {"code": depend_data["demCode"]}
# res = req_fix.bpm_session.request(method="get", url=get_dem_msg_url, params=get_dem_msg_data)
# assert '"isDelete":"0"' in res.text
# dem_id = res.json()['id']
# depend_data_fix["DEMID"] = dem_id
@allure.epic("BPM项目-场景测试")
@allure.feature("维度管理")
@allure.story("根据维度编码获取维度信息")
@allure.title("正向用例")
@allure.severity("高")
@pytest.mark.dependency(depends=['test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope="session")
def test_get_dem_msg(req_fix, set_depend_data_fix):
get_dem_msg_url = 'http://36.139.193.99:8088/api/demension/v1/dem/getDem'
get_dem_msg_data = {"code": depend_data["demCode"]}
res = req_fix.bpm_session.request(method="get", url=get_dem_msg_url, params=get_dem_msg_data)
assert '"isDelete":"0"' in res.text
dem_id = res.json()['id']
set_depend_data_fix("DEMID", dem_id)
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: test_org.py
# Author: lao_zhao
# Datetime: 2025/5/8 10:21
# Description:
#
# ---------------------------------------------------------------------------
import allure
import pytest
from faker import Faker
data = Faker(locale="zh_cn")
'''
# 添加组织
@pytest.mark.dependency(depends=['test_bpm/test_auth.py::TestAuth::test_login', 'test_bpm/test_dem.py::test_add_dem'], scope="session")
def test_add_org(req_fix, depend_data_fix):
print(depend_data_fix["DEMID"])
add_org_url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'
add_org_data = {
"code": data.phone_number(),
"demId": depend_data_fix["DEMID"],
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": data.company(),
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
res = req_fix.bpm_session.request(method="post", url=add_org_url, json=add_org_data)
print(res.text)
assert "成功" in res.text
'''
# 添加组织
@allure.epic("BPM项目-场景测试")
@allure.feature("组织管理")
@allure.story("添加组织")
@allure.title("正向用例")
@allure.severity("高")
@pytest.mark.dependency(depends=['test_case/test_bpm_dependency/test_auth.py::TestAuth::test_login', 'test_case/test_bpm_dependency/test_dem.py::test_add_dem'], scope="session")
def test_add_org(req_fix, get_depend_data_fix):
print(get_depend_data_fix("DEMID"))
add_org_url = 'http://36.139.193.99:8088/api/org/v1/org/addOrg'
add_org_data = {
"code": data.phone_number(),
"demId": get_depend_data_fix("DEMID"),
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": data.company(),
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
res = req_fix.bpm_session.request(method="post", url=add_org_url, json=add_org_data)
print(res.text)
assert "成功" in res.text
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: __init__.py
# Author: lao_zhao
# Datetime: 2025/5/9 15:41
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: conftest.py
# Author: lao_zhao
# Datetime: 2025/5/9 14:29
# Description:
#
# ---------------------------------------------------------------------------
import pytest
from APIAutoTest_v3.request_method.request_method import RequestMethod
@pytest.fixture(scope="session")
def req_fix():
req = RequestMethod()
yield req
req.db.close()
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: test66
# FileName: test_bpm.py
# Author: lao_zhao
# Datetime: 2025/5/9 14:30
# Description:
#
# ---------------------------------------------------------------------------
import pytest
import allure
from APIAutoTest_v3 import log_decorator
from APIAutoTest_v3.common.read_excel import ReadExcel
from APIAutoTest_v3.common.read_system_ini import ReadSystemIni
datas = ReadExcel(ReadSystemIni().get_username("user2")).get_data()
class TestBPM:
@log_decorator
@allure.epic("BPM项目-张三")
# @allure.feature("模块名称")
# @allure.story("接口名称")
# @allure.title("用例标题")
# @allure.severity("用例的等级")
@pytest.mark.parametrize("module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key", datas)
def test_bpm(self, req_fix, module, api, title, level,req, url, mime, case, expect, sql_type, sql_data, update_key):
# 生成allure报告的结果
allure.dynamic.feature(module)
allure.dynamic.story(api)
allure.dynamic.title(title)
allure.dynamic.severity(level)
res = req_fix.request_all(req_method=req,req_url=url,req_mime=mime,case_data=case,sql_type=sql_type,sql_data=sql_data,update_key=update_key)
try:
for key in expect:
assert expect[key] == res.json().get(key)
except AssertionError:
raise AssertionError(f"断言失败,\n\t请求的url为:{url}, \n\t用例数据为:{case}, \n\t期望数据为:{expect}, \n\t服务器返回的数据为:{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