Commit 0cb63906 by fc

第一次脚本提交

parents
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: pythonProject
# FileName: __init__.py
# Author: xxxxxxx
# Datetime: 2023/8/7 10:27
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: pythonProject
# FileName: __init__.py
# Author: xxxxxxx
# Datetime: 2023/8/7 10:27
# Description:
#
# ---------------------------------------------------------------------------
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: pythonProject
# FileName: request_methid.py
# Author: xxxxxxx
# Datetime: 2023/8/5 16:39
# Description:
#
# ---------------------------------------------------------------------------
import base64
import requests
from interface_bpm.data_extraction.read_ini import ReadIni
class Request:
def __init__(self):
domain_name = ReadIni().read_host("test_bpm")
login_path = domain_name + "/auth"
login_data = {"username": "admin", "password": "123456"}
login_data["password"] = base64.b64encode(login_data["password"].encode("utf-8")).decode("utf-8")
self.req = requests.sessions.Session()
result = self.req.request(method="post", url=login_path, json=login_data)
token = result.json()["token"]
self.req.headers["Authorization"] = "Bearer " + token
def all_request(self, method, url, mime, data):
if mime == "application/x-www-form-urlencoded" or mime == "x-www-form-urlencoded":
return self.req.request(method=method, url=url, data=data)
elif mime == "application/json" or mime == "json":
return self.req.request(method=method, url=url, json=data)
elif mime == "multipart/form-data" or mime == "form-data":
return self.req.request(method=method, url=url, files=data)
elif mime == "query" or mime == "params":
return self.req.request(method=method, url=url, params=data)
elif mime == "text/plain" or mime == "text":
return self.req.request(method=method, url=url, data=data)
elif mime == "application/Json|query" or mime == "json|query" or mime == "json|params":
return self.req.request(method=method, url=url, params=data["query"], json=data["body"])
elif mime is None:
return self.req.request(method=method, url=url)
else:
raise AssertionError("输入的媒体类型错误")
if __name__ == '__main__':
re = Request()
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: pythonProject
# FileName: db_sql.py
# Author: xxxxxxx
# Datetime: 2023/8/5 13:59
# Description:
#
# ---------------------------------------------------------------------------
"""
连接数据库的流程
一:构造方法
1.从ini文件中获取连接的信息
2.创建连接对象
3.使用连接对象创建游标对象
二:
"""
import pymysql
from interface_bpm.data_extraction.read_excel import ReadExcel
from interface_bpm.data_extraction.read_ini import ReadIni
class DB:
def __init__(self):
read_ini = ReadIni()
self.read_excel = ReadExcel()
host = read_ini.read_sql("host")
port = read_ini.read_sql("port")
user = read_ini.read_sql("user")
password = read_ini.read_sql("password")
database = read_ini.read_sql("database")
self.con = pymysql.connect(host=host, port=int(port), user=user, password=password, database=database, charset='utf8')
self.yb = self.con.cursor()
def delete_sql(self, sql_data):
self.yb.execute(sql_data)
self.con.commit()
def select_sql(self, sql_data):
self.yb.execute(sql_data)
result = self.yb.fetchall()
return result[0][0]
if __name__ == '__main__':
db = DB()
print(db.select_sql("""SELECT ID_ FROM uc_demension WHERE `CODE_`="test56_dem";"""))
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: pythonProject
# FileName: read_excel.py
# Author: xxxxxxx
# Datetime: 2023/8/5 9:57
# Description:
# ---------------------------------------------------------------------------
"""
读取excel文件的步骤
一:构造方法
1.获取excel文件的路径
2.获取表名
3.打开工作簿
4.打开工作表
5.获取json文件的值
二:方法
1.先对表中所有的数据提取出来进行格式处理,如果为空返回None,如果有空格取消空格
2,分别取出对应列的数据
"""
import openpyxl
from openpyxl.utils import get_column_letter
from interface_bpm.data_extraction.read_ini import ReadIni
from interface_bpm.data_extraction.read_json import read_json
class ReadExcel:
# 读取excel表中的文件,获取json文件的值
def __init__(self):
self.read_ini = ReadIni()
self.case_json_data = read_json(self.read_ini.read_file("case"))
self.expect_json_data = read_json(self.read_ini.read_file("expect"))
self.sql_json_data = read_json(self.read_ini.read_file("sql"))
excel_path = self.read_ini.read_file("excel")
excel_sheet = self.read_ini.read_sheet("sheet")
self.wb = openpyxl.load_workbook(excel_path)
self.ws = self.wb[excel_sheet]
# 获取所有的单元格数据,如果为空返回None,如果有空格取消空格
def data_process(self, column, row):
if self.ws[str(column)+str(row)].value is None:
return None
elif self.ws[str(column)+str(row)].value.strip():
return self.ws[str(column)+str(row)].value.strip()
# 根据首行的内容获取对应的列号
def get_name(self, name):
for i in range(1, self.ws.max_column+1):
if self.ws[get_column_letter(i) + str(1)].value == name:
return get_column_letter(i)
# 获取模块名称的值
def get_mokuai(self, row):
return self.data_process(self.get_name('模块名称'), row)
def get_jk(self, row):
return self.data_process(self.get_name('接口名称'), row)
# 获取用例标题
def get_title(self, row):
return self.data_process(self.get_name('标题'), row)
# 获取用例级别
def get_level(self, row):
return self.data_process(self.get_name('用例等级'), row)
def get_method(self, row):
return self.data_process(self.get_name('请求方法'), row)
def get_url(self, row):
host = self.read_ini.read_host("test_bpm")
ulr = self.data_process(self.get_name('请求路径'), row)
return host + ulr
def get_mime(self, row):
if self.data_process(self.get_name('媒体类型'), row):
return self.data_process(self.get_name('媒体类型'), row).lower()
# 获取excel表中关键字对应json文件用例数据的值
def get_case_data(self, row):
if self.data_process(self.get_name('用例数据'), row) is None:
return None
elif self.data_process(self.get_name('用例数据'), row):
mokuai_name = self.get_mokuai(row)
jk_name = self.get_jk(row)
data = self.case_json_data[mokuai_name][jk_name][self.data_process(self.get_name('用例数据'), row)]
return data
# 获取excel表中关键字对应json文件期望数据的值
def get_expect(self, row):
if self.data_process(self.get_name("期望数据"), row) is None:
return None
elif self.data_process(self.get_name("期望数据"), row):
mokuai_name = self.get_mokuai(row)
jk_name = self.get_jk(row)
expect_data = self.expect_json_data[mokuai_name][jk_name][self.data_process(self.get_name("期望数据"), row)]
return expect_data
# 获取sql语句的类型的值
def get_sql_type(self, row):
sql_type = self.data_process(self.get_name('SQL语句的类型'), row)
if sql_type:
return sql_type.lower()
# 根据excel表的值获取存放在json文件中的sql语句
def get_sql(self, row):
sql_name = self.data_process(self.get_name('SQL语句'), row)
if sql_name is None:
return None
elif sql_name.lower():
mokuai_name = self.get_mokuai(row)
jk_name = self.get_jk(row)
sql_data = self.sql_json_data[mokuai_name][jk_name][sql_name]
return sql_data
# 根据表首行对应的列号获取更新的key的值
def get_update_key(self, row):
return self.data_process(self.get_name('更新的key'), row)
# 将获取的值根据行号存放到一个二维列表中
def all_data(self):
lists_data = []
for row in range(2, self.ws.max_row+1):
mokuai_data = self.get_mokuai(row)
jk_data = self.get_jk(row)
title_data = self.get_title(row)
level_data = self.get_level(row)
method_data = self.get_method(row)
mime_data = self.get_mime(row)
url_data = self.get_url(row)
case_data = self.get_case_data(row)
expect_data = self.get_expect(row)
sql_type = self.get_sql_type(row)
sql_data = self.get_sql(row)
update_key = self.get_update_key(row)
lists_data.append([mokuai_data, jk_data, title_data, level_data, method_data, mime_data, url_data, case_data, expect_data, sql_type, sql_data, update_key])
return lists_data
if __name__ == '__main__':
read_excel = ReadExcel()
print(read_excel.all_data())
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: pythonProject
# FileName: read_ini.py
# Author: xxxxxxx
# Datetime: 2023/8/5 9:15
# Description:
#
# ---------------------------------------------------------------------------
"""
读取ini文件的流程
一。构造函数
1.获取ini文件的路径
2.获取存放文件的父目录
3.使用configparser创建configparser对象
4.使用对象的read方法读取ini文件
二。方法
1.使用对象的get方法获取对应节点下key对应的值
"""
import configparser
import os
class ReadIni:
def __init__(self):
# 获取存放文件的父级目录
self.data_management_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "data_management")
# 获取ini文件的目录
ini_path = os.path.join(self.data_management_path, "config.ini")
# 创建configparser的对象
self.conf = configparser.ConfigParser()
# 使用对象的read方法读取文件内容到对象中
self.conf.read(ini_path, encoding='utf-8')
# 根据key的值获取节点下对于文件的目录
def read_file(self, key):
value = self.conf.get("file", key)
return os.path.join(self.data_management_path, value)
# 根据key获取节点下host对应域名的值
def read_host(self, key):
return self.conf.get("host", key)
# 根据key获取节点下excel表的表名
def read_sheet(self, key):
return self.conf.get("sheet_name", key)
# 根据key获取节点下对应的数据库连接信息的值
def read_sql(self, key):
return self.conf.get("sql", key)
if __name__ == '__main__':
read_ini = ReadIni()
print(read_ini.read_sheet("sheet"))
\ No newline at end of file
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName: pythonProject
# FileName: read_json.py
# Author: xxxxxxx
# Datetime: 2023/8/5 9:59
# Description:
#
# ---------------------------------------------------------------------------
import json
def read_json(name):
with open(name, mode='r', encoding='utf-8') as fp:
return json.loads(fp.read())
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"password": "MTIzNDU2","username": "admin"},
"LoginFailUsernameIsNone":{"password": "MTIzNDU2","username": ""},
"LoginFailUsernameIsLong":{"password": "MTIzNDU2","username": "adminadminadminadminadminadminadminadminan"},
"LoginFailUsernameIsShort":{"password": "MTIzNDU2","username": "a"},
"LoginFailUsernameIsSpecialChar":{"password": "MTIzNDU2","username": "▬♦◊◦☼♠♣"},
"LoginFailUsernameIsError":{"password": "MTIzNDU2","username": "tomcat"},
"LoginFailPWDIsNone":{"password": "","username": "admin"},
"LoginFailPWDIsLong":{"password": "MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2MTIzNDU2","username": "admin"},
"LoginFailPWDIsShort":{"password": "1","username": "admin"},
"LoginFailPWDIsSpecial":{"password": "▬♦◊◦☼♠♣","username": "admin"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {
"code": "一个不知名维度",
"description": "无名之辈",
"isDefault": 0,
"name": "明珠"
}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"ids": "等待查询"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"code": "soory",
"demId": "等待查询",
"exceedLimitNum": 0,
"grade": "",
"limitNum": 0,
"name": "一个不知名的组织名称",
"nowNum": 0,
"orderNo": 0,
"parentId": "0"
}
},
"删除组织": {
"DeleteOrgSuccess": "soory"
},
"保存组织参数": {
"SaveOrgParamSuccess": {
"query": {"orgCode": "soory"},
"body": [
{"alias":"sz","value":0},
{"alias":"zy","value":"math"},
{"alias":"rq","value":"2023-08-04"},
{"alias":"ah","value":"lq"},
{"alias":"yyyy","value":"诶嘿"},
{"alias":"xb","value":"200"}]
}
}
}
}
[file]
excel=APIAutoTest.xlsx
case=case_data.json
expect=expect_data.json
sql=sql.json
[host]
test_bpm=http://120.46.172.186:8080
[sheet_name]
sheet=BPM接口
[sql]
host=120.46.172.186
port=3306
user=root
password=root@2023
database=eipsaas
\ No newline at end of file
{
"认证接口":{
"登录系统":{
"LoginSuccess": {"username": "超级管理员","account": "admin"},
"LoginFailUsernameIsNone":{"state": false,"message": "账号或密码错误"},
"LoginFailUsernameIsLong":{"state": false,"message": "账号或密码错误"},
"LoginFailUsernameIsShort":{"state": false,"message": "账号或密码错误"},
"LoginFailUsernameIsSpecialChar":{"state": false,"message": "账号或密码错误"},
"LoginFailUsernameIsError":{"state": false,"message": "账号或密码错误"},
"LoginFailPWDIsNone":{"state": false,"message": "账号或密码错误"},
"LoginFailPWDIsLong":{"state": false,"message": "账号或密码错误"},
"LoginFailPWDIsShort":{"state": false,"message": "账号或密码错误"},
"LoginFailPWDIsSpecial":{"state": false,"message": "账号或密码错误"}},
"刷新token": {"RefreshSuccess": {"message": "刷新token成功"}
}
},
"维度管理": {
"添加维度": {
"AddDemSuccess": {"state": true, "message": "添加维度成功!"}
},
"根据维度编码删除维度": {
"DeleteDemSuccess": {"state": true, "message": "删除维度成功!"}
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {"state": true, "message": "添加组织成功!"}
},
"删除组织": {
"DeleteOrgSuccess": {"state": true, "message": "删除组织成功!"}
},
"保存组织参数": {
"SaveOrgParamSuccess": {"state": true, "message": "保存组织参数成功!"}
}
}
}
{
"维度管理": {
"添加维度": {
"AddDemSuccess": "DELETE FROM uc_demension WHERE `CODE_`=\"一个不知名维度\";"
},
"根据维度编码删除维度": {
"DeleteDemSuccess": "SELECT ID_ FROM uc_demension WHERE `CODE_`=\"一个不知名维度\";"
}
},
"组织管理": {
"添加组织": {
"AddOrgSuccess": {
"select": "SELECT ID_ FROM uc_demension WHERE `CODE_`=\"一个不知名维度\";",
"delete": "DELETE FROM uc_org WHERE `CODE_`=\"soory\";"
}
}
}
}
\ No newline at end of file
{"uuid": "6bb30dd8-0b02-4861-8a50-c74e5e94ee94", "befores": [{"name": "case_data", "status": "passed", "start": 1691390528228, "stop": 1691390528228}], "start": 1691390528228, "stop": 1691390528361}
\ No newline at end of file
{"uuid": "b098f755-5491-4fc5-b395-61c9d1b4d994", "befores": [{"name": "sql_data", "status": "passed", "start": 1691390530324, "stop": 1691390530324}], "start": 1691390530323, "stop": 1691390530519}
\ No newline at end of file
{"uuid": "9278b29a-d828-4425-afb2-3bfbb8e5b864", "befores": [{"name": "sql_type", "status": "passed", "start": 1691390527773, "stop": 1691390527773}], "start": 1691390527773, "stop": 1691390527836}
\ No newline at end of file
{"uuid": "763f53d8-e98b-4ef2-be71-fa700d1265fb", "befores": [{"name": "url_data", "status": "passed", "start": 1691390530661, "stop": 1691390530661}], "start": 1691390530661, "stop": 1691390530749}
\ No newline at end of file
{"uuid": "8c940c21-4124-4738-98fb-864e38aa930c", "befores": [{"name": "expect_data", "status": "passed", "start": 1691390528685, "stop": 1691390528685}], "start": 1691390528685, "stop": 1691390528814}
\ No newline at end of file
{"uuid": "a5ade9e8-6bd1-4e8c-89ef-7647f4cf0ede", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390527857, "stop": 1691390527857}], "start": 1691390527857, "stop": 1691390527938}
\ No newline at end of file
{"uuid": "fd381b84-9221-4256-8027-cedd9e404010", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390527947, "stop": 1691390527947}], "start": 1691390527947, "stop": 1691390528085}
\ No newline at end of file
{"uuid": "0792f47d-116b-484f-8dc5-6c10c5cb8382", "befores": [{"name": "update_key", "status": "passed", "start": 1691390527773, "stop": 1691390527773}], "start": 1691390527773, "stop": 1691390527833}
\ No newline at end of file
{"uuid": "5f677d0e-aad6-4ef5-9852-88f5d0f6c0ee", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390530549, "stop": 1691390530549}], "start": 1691390530549, "stop": 1691390530650}
\ No newline at end of file
{"uuid": "567fac81-c33b-4a33-b8b0-f9ba08c3451c", "befores": [{"name": "level_data", "status": "passed", "start": 1691390530660, "stop": 1691390530660}], "start": 1691390530660, "stop": 1691390530764}
\ No newline at end of file
{"uuid": "3623faef-2ecb-4306-b824-7164ee37e3ec", "befores": [{"name": "expect_data", "status": "passed", "start": 1691390530322, "stop": 1691390530323}], "start": 1691390530322, "stop": 1691390530522}
\ No newline at end of file
{"uuid": "70cfad00-31fb-4b36-b737-af17c58def9d", "befores": [{"name": "case_data", "status": "passed", "start": 1691390527858, "stop": 1691390527858}], "start": 1691390527858, "stop": 1691390527926}
\ No newline at end of file
{"uuid": "85f48db7-aaac-436c-bbef-676f6896095f", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390527771, "stop": 1691390527771}], "start": 1691390527771, "stop": 1691390527851}
\ No newline at end of file
{"uuid": "11449f3c-c885-451c-b25c-47d6b6abc0a8", "befores": [{"name": "expect_data", "status": "passed", "start": 1691390528094, "stop": 1691390528094}], "start": 1691390528093, "stop": 1691390528207}
\ No newline at end of file
{"uuid": "51635e65-7420-42bf-8107-afed88c50b5a", "befores": [{"name": "method_data", "status": "passed", "start": 1691390528853, "stop": 1691390528854}], "start": 1691390528853, "stop": 1691390528982}
\ No newline at end of file
{"uuid": "c2fb25f8-71a1-4b6c-8c74-ec5aa817e395", "befores": [{"name": "sql_type", "status": "passed", "start": 1691390529957, "stop": 1691390529957}], "start": 1691390529957, "stop": 1691390530282}
\ No newline at end of file
{"uuid": "7bc2f000-f164-47ae-b6b9-a1cd1f8dbb66", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390528851, "stop": 1691390528852}], "start": 1691390528851, "stop": 1691390528989}
\ No newline at end of file
{"uuid": "e5e95020-9e35-4cc1-b2d6-e03e1646f5e7", "befores": [{"name": "mime_data", "status": "passed", "start": 1691390530550, "stop": 1691390530550}], "start": 1691390530550, "stop": 1691390530641}
\ No newline at end of file
{"uuid": "1f0d25c2-3076-4af8-802e-c6ad505065de", "befores": [{"name": "sql_type", "status": "passed", "start": 1691390530323, "stop": 1691390530323}], "start": 1691390530323, "stop": 1691390530521}
\ No newline at end of file
{"uuid": "eeba8112-6c7b-4113-9ed9-da2b0750bdbc", "befores": [{"name": "sql_type", "status": "passed", "start": 1691390528541, "stop": 1691390528541}], "start": 1691390528541, "stop": 1691390528656}
\ No newline at end of file
{"uuid": "10da967a-da07-4328-8e7b-0c3838bfb686", "befores": [{"name": "expect_data", "status": "passed", "start": 1691390530662, "stop": 1691390530662}], "start": 1691390530662, "stop": 1691390530746}
\ No newline at end of file
{"uuid": "a77a66c4-4369-4ebb-8a63-a27fffd1b029", "befores": [{"name": "title_data", "status": "passed", "start": 1691390527858, "stop": 1691390527858}], "start": 1691390527858, "stop": 1691390527935}
\ No newline at end of file
{"uuid": "f7d3eb03-3d76-4506-8092-e33a6daa6b9f", "children": ["911f8177-c3b4-47e5-bdc2-9b30a5961f52", "3dae06b2-a445-4bb5-95ef-f4dfe0f08444", "d51285b1-b376-41f4-898c-914fa70b6177", "5e677c7c-8f0c-4938-936a-6d0d9aca9d16", "7836758a-de65-4210-a040-bd0fdf1b1812", "373b5216-e07b-4334-8f37-40535a24d9dd", "0452a190-7e5d-49b9-b5ab-3ef9939463bc", "d7c1ef21-4c01-48fc-97b1-71c5cb2c05e3", "442296b1-3a4f-4c5b-99d8-ff6a3f816978", "12fdbada-1975-4fc9-8433-cedeb943db43", "a2019ceb-8baa-46c1-970d-a96e3a25124a", "a1319fe6-c645-44c4-bebc-7597241419a1", "29ed5c61-127a-4a73-8862-f26d2de657a5", "a9cf7aab-c515-4802-afb2-0b5419ad29e9", "dd79c2ce-1d7c-483f-9dbc-62fc3baf4b3e", "9d477f86-5798-4ac4-a1ba-43d7a61d28a4"], "befores": [{"name": "db_fix", "status": "passed", "start": 1691390527509, "stop": 1691390527771}], "afters": [{"name": "db_fix::0", "status": "passed", "start": 1691390531065, "stop": 1691390531065}], "start": 1691390527509, "stop": 1691390531065}
\ No newline at end of file
{"uuid": "9183ee0f-6846-4406-bfb9-d49832497e27", "befores": [{"name": "level_data", "status": "passed", "start": 1691390528684, "stop": 1691390528684}], "start": 1691390528684, "stop": 1691390528825}
\ No newline at end of file
{"uuid": "466771cd-3ded-495a-8f24-9f1430dde86c", "befores": [{"name": "sql_data", "status": "passed", "start": 1691390530782, "stop": 1691390530782}], "start": 1691390530782, "stop": 1691390530955}
\ No newline at end of file
{"uuid": "f8fd8122-1248-410f-9894-ee37754d5fe6", "befores": [{"name": "update_key", "status": "passed", "start": 1691390528858, "stop": 1691390528858}], "start": 1691390528858, "stop": 1691390528963}
\ No newline at end of file
{"uuid": "3f328ad1-84cb-4d6c-acad-bcc15419343b", "befores": [{"name": "sql_data", "status": "passed", "start": 1691390528229, "stop": 1691390528229}], "start": 1691390528229, "stop": 1691390528344}
\ No newline at end of file
{"uuid": "b02a64a5-0117-4ad4-8948-2a2c534bb2cd", "befores": [{"name": "update_key", "status": "passed", "start": 1691390528094, "stop": 1691390528094}], "start": 1691390528094, "stop": 1691390528201}
\ No newline at end of file
{"uuid": "25269507-006c-47fb-b902-2bd6d841bd5b", "befores": [{"name": "url_data", "status": "passed", "start": 1691390529953, "stop": 1691390529953}], "start": 1691390529953, "stop": 1691390530296}
\ No newline at end of file
{"name": "反向用例-用户名过短", "status": "passed", "attachments": [{"name": "stdout", "source": "f3f70147-2f00-44a6-8427-2b598184c0e8-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "mokuai_data", "value": "'认证接口'"}, {"name": "jk_data", "value": "'登录系统'"}, {"name": "title_data", "value": "'反向用例-用户名过短'"}, {"name": "level_data", "value": "'中'"}, {"name": "method_data", "value": "'POST'"}, {"name": "mime_data", "value": "'application/json'"}, {"name": "url_data", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'a'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1691390528095, "stop": 1691390528200, "uuid": "5e677c7c-8f0c-4938-936a-6d0d9aca9d16", "historyId": "8a91d3e89f072e293190b9beeb5ab922", "testCaseId": "2724745064c397947229ef37c57663d4", "fullName": "test_execute_request.TestBPM#test_request", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统"}, {"name": "suite", "value": "test_execute_request"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-V67H69U"}, {"name": "thread", "value": "10596-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_execute_request"}]}
\ No newline at end of file
{"uuid": "ae79604a-14cc-4810-ac65-013243e55a31", "befores": [{"name": "method_data", "status": "passed", "start": 1691390529949, "stop": 1691390529949}], "start": 1691390529949, "stop": 1691390530301}
\ No newline at end of file
{"uuid": "53a08228-35f0-4ed0-98e1-36c3d00ad614", "befores": [{"name": "sql_type", "status": "passed", "start": 1691390527949, "stop": 1691390527949}], "start": 1691390527949, "stop": 1691390528066}
\ No newline at end of file
{"uuid": "bd444da6-8a71-44db-8d4b-3a3c628c43d9", "befores": [{"name": "sql_data", "status": "passed", "start": 1691390527949, "stop": 1691390527949}], "start": 1691390527949, "stop": 1691390528064}
\ No newline at end of file
{"uuid": "a5d70902-948c-4861-a3a1-4ff696841255", "befores": [{"name": "title_data", "status": "passed", "start": 1691390528538, "stop": 1691390528538}], "start": 1691390528538, "stop": 1691390528671}
\ No newline at end of file
{"uuid": "08f90f5a-2910-441b-8f6d-8b469aa79f39", "befores": [{"name": "method_data", "status": "passed", "start": 1691390528539, "stop": 1691390528539}], "start": 1691390528539, "stop": 1691390528668}
\ No newline at end of file
{"uuid": "7390e6ea-96b5-4a0e-8d2c-64441c1a2a5c", "befores": [{"name": "url_data", "status": "passed", "start": 1691390530781, "stop": 1691390530782}], "start": 1691390530781, "stop": 1691390530965}
\ No newline at end of file
{"uuid": "2ca3e30a-e639-48b4-9c42-91c17ca6751f", "befores": [{"name": "url_data", "status": "passed", "start": 1691390528389, "stop": 1691390528389}], "start": 1691390528389, "stop": 1691390528506}
\ No newline at end of file
{"name": "反向用例-密码为特殊字符", "status": "passed", "attachments": [{"name": "stdout", "source": "885da6ce-7247-437f-841c-cf588d108200-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "mokuai_data", "value": "'认证接口'"}, {"name": "jk_data", "value": "'登录系统'"}, {"name": "title_data", "value": "'反向用例-密码为特殊字符'"}, {"name": "level_data", "value": "'中'"}, {"name": "method_data", "value": "'POST'"}, {"name": "mime_data", "value": "'application/json'"}, {"name": "url_data", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_data", "value": "{'password': '▬♦◊◦☼♠♣', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1691390529000, "stop": 1691390529102, "uuid": "12fdbada-1975-4fc9-8433-cedeb943db43", "historyId": "01875ce9fa6faa324a9120410461830e", "testCaseId": "2724745064c397947229ef37c57663d4", "fullName": "test_execute_request.TestBPM#test_request", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统"}, {"name": "suite", "value": "test_execute_request"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-V67H69U"}, {"name": "thread", "value": "10596-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_execute_request"}]}
\ No newline at end of file
{"uuid": "526608aa-b201-41b6-8209-1b379b1040c0", "befores": [{"name": "method_data", "status": "passed", "start": 1691390528093, "stop": 1691390528093}], "start": 1691390528093, "stop": 1691390528214}
\ No newline at end of file
{"uuid": "6c08ad59-7a26-4b06-a1b1-8f361bf36645", "befores": [{"name": "update_key", "status": "passed", "start": 1691390530782, "stop": 1691390530783}], "start": 1691390530782, "stop": 1691390530953}
\ No newline at end of file
{"uuid": "bddee92e-8378-4e80-8e55-1e6583c4e31a", "befores": [{"name": "title_data", "status": "passed", "start": 1691390528092, "stop": 1691390528092}], "start": 1691390528092, "stop": 1691390528217}
\ No newline at end of file
{"uuid": "83069535-682f-44d5-b51b-eb56b24bb74f", "befores": [{"name": "sql_type", "status": "passed", "start": 1691390528685, "stop": 1691390528685}], "start": 1691390528685, "stop": 1691390528806}
\ No newline at end of file
{"uuid": "9e4d869d-7a0e-497f-9add-eb26c03ea41a", "befores": [{"name": "mime_data", "status": "passed", "start": 1691390529949, "stop": 1691390529951}], "start": 1691390529949, "stop": 1691390530299}
\ No newline at end of file
{"uuid": "7da25d11-1ab8-4aa4-8eeb-a2ac7f414694", "befores": [{"name": "method_data", "status": "passed", "start": 1691390530660, "stop": 1691390530660}], "start": 1691390530660, "stop": 1691390530753}
\ No newline at end of file
{"uuid": "b4fa5ed8-2a36-4df2-8d7e-3f01261370f5", "befores": [{"name": "title_data", "status": "passed", "start": 1691390527772, "stop": 1691390527772}], "start": 1691390527772, "stop": 1691390527847}
\ No newline at end of file
{"uuid": "a3f8796b-160d-4ffa-a9c4-16eef4b1ffb3", "befores": [{"name": "mime_data", "status": "passed", "start": 1691390527948, "stop": 1691390527948}], "start": 1691390527948, "stop": 1691390528075}
\ No newline at end of file
{"name": "反向用例-用户名错误", "status": "passed", "attachments": [{"name": "stdout", "source": "f0cc0099-e1a5-4e74-b216-3309bbcd2e45-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "mokuai_data", "value": "'认证接口'"}, {"name": "jk_data", "value": "'登录系统'"}, {"name": "title_data", "value": "'反向用例-用户名错误'"}, {"name": "level_data", "value": "'中'"}, {"name": "method_data", "value": "'POST'"}, {"name": "mime_data", "value": "'json'"}, {"name": "url_data", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': 'tomcat'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1691390528391, "stop": 1691390528489, "uuid": "373b5216-e07b-4334-8f37-40535a24d9dd", "historyId": "789598d719a4f2a830bc89f74dfdebd2", "testCaseId": "2724745064c397947229ef37c57663d4", "fullName": "test_execute_request.TestBPM#test_request", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统"}, {"name": "suite", "value": "test_execute_request"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-V67H69U"}, {"name": "thread", "value": "10596-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_execute_request"}]}
\ No newline at end of file
{"uuid": "96d06d91-7128-4aec-89db-c1590bae70b5", "befores": [{"name": "expect_data", "status": "passed", "start": 1691390527949, "stop": 1691390527949}], "start": 1691390527949, "stop": 1691390528069}
\ No newline at end of file
{"uuid": "2ab02212-e775-4aa8-a829-27f2dc3129ea", "befores": [{"name": "level_data", "status": "passed", "start": 1691390529144, "stop": 1691390529144}], "start": 1691390529144, "stop": 1691390529754}
\ No newline at end of file
{"uuid": "56eae683-8392-4adb-b4b4-454126481092", "befores": [{"name": "update_key", "status": "passed", "start": 1691390528541, "stop": 1691390528541}], "start": 1691390528541, "stop": 1691390528653}
\ No newline at end of file
{"name": "正向用例", "status": "failed", "statusDetails": {"message": "AssertionError: 断言失败", "trace": "self = <interface_接口优化2.test_case.test_execute_request.TestBPM object at 0x0000020D226A0F50>\nreq_fix = <interface_接口优化2.comprehensive_request.request_method.Request object at 0x0000020D223CD490>\ndb_fix = <interface_接口优化2.data_extraction.db_sql.DB object at 0x0000020D226B8ED0>, mokuai_data = '组织管理', jk_data = '删除组织', title_data = '正向用例'\nlevel_data = '高', method_data = 'post', mime_data = 'text/plain', url_data = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', case_data = '一个不知名组织'\nexpect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"mokuai_data, jk_data, title_data, level_data, method_data, mime_data, url_data, \"\n \"case_data, expect_data, sql_type,\"\" sql_data, update_key\", ReadExcel().all_data())\n def test_request(self, req_fix, db_fix, mokuai_data, jk_data, title_data, level_data, method_data, mime_data,\n url_data, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(mokuai_data)\n allure.dynamic.story(jk_data)\n allure.dynamic.title(title_data)\n allure.dynamic.severity(level_data)\n if sql_type is None:\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n elif sql_type == \"delete\":\n db_fix.delete_sql(sql_data)\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n elif sql_type == \"select\":\n re = db_fix.select_sql(sql_data)\n case_data[update_key] = re\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n elif sql_type == \"delete|select\" or sql_type == \"select|delete\":\n db_fix.delete_sql(sql_data[\"delete\"])\n \n re = db_fix.select_sql(sql_data[\"select\"])\n case_data[update_key] = re\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n else:\n result = req_fix.request_all(method=method_data, url=url_data, mime=mime_data, case_data=case_data)\n \n try:\n for key in expect_data:\n> assert expect_data[key] == result.json().get(key)\nE AssertionError: assert '删除组织成功!' == '部分删除成功,其中编码为【一个�】的组织不存在;'\nE - 部分删除成功,其中编码为【一个�】的组织不存在;\nE + 删除组织成功!\n\ntest_execute_request.py:59: AssertionError\n\nDuring handling of the above exception, another exception occurred:\n\nself = <interface_接口优化2.test_case.test_execute_request.TestBPM object at 0x0000020D226A0F50>\nreq_fix = <interface_接口优化2.comprehensive_request.request_method.Request object at 0x0000020D223CD490>\ndb_fix = <interface_接口优化2.data_extraction.db_sql.DB object at 0x0000020D226B8ED0>, mokuai_data = '组织管理', jk_data = '删除组织', title_data = '正向用例'\nlevel_data = '高', method_data = 'post', mime_data = 'text/plain', url_data = 'http://120.46.172.186:8080/api/org/v1/org/deleteOrg', case_data = '一个不知名组织'\nexpect_data = {'message': '删除组织成功!', 'state': True}, sql_type = None, sql_data = None, update_key = None\n\n @pytest.mark.parametrize(\"mokuai_data, jk_data, title_data, level_data, method_data, mime_data, url_data, \"\n \"case_data, expect_data, sql_type,\"\" sql_data, update_key\", ReadExcel().all_data())\n def test_request(self, req_fix, db_fix, mokuai_data, jk_data, title_data, level_data, method_data, mime_data,\n url_data, case_data, expect_data, sql_type, sql_data, update_key):\n allure.dynamic.feature(mokuai_data)\n allure.dynamic.story(jk_data)\n allure.dynamic.title(title_data)\n allure.dynamic.severity(level_data)\n if sql_type is None:\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n elif sql_type == \"delete\":\n db_fix.delete_sql(sql_data)\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n elif sql_type == \"select\":\n re = db_fix.select_sql(sql_data)\n case_data[update_key] = re\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n elif sql_type == \"delete|select\" or sql_type == \"select|delete\":\n db_fix.delete_sql(sql_data[\"delete\"])\n \n re = db_fix.select_sql(sql_data[\"select\"])\n case_data[update_key] = re\n result = req_fix.all_request(method=method_data, url=url_data, mime=mime_data, data=case_data)\n \n else:\n result = req_fix.request_all(method=method_data, url=url_data, mime=mime_data, case_data=case_data)\n \n try:\n for key in expect_data:\n assert expect_data[key] == result.json().get(key)\n \n except:\n> raise AssertionError(\"断言失败\")\nE AssertionError: 断言失败\n\ntest_execute_request.py:62: AssertionError"}, "parameters": [{"name": "mokuai_data", "value": "'组织管理'"}, {"name": "jk_data", "value": "'删除组织'"}, {"name": "title_data", "value": "'正向用例'"}, {"name": "level_data", "value": "'高'"}, {"name": "method_data", "value": "'post'"}, {"name": "mime_data", "value": "'text/plain'"}, {"name": "url_data", "value": "'http://120.46.172.186:8080/api/org/v1/org/deleteOrg'"}, {"name": "case_data", "value": "'一个不知名组织'"}, {"name": "expect_data", "value": "{'state': True, 'message': '删除组织成功!'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1691390530663, "stop": 1691390530720, "uuid": "dd79c2ce-1d7c-483f-9dbc-62fc3baf4b3e", "historyId": "043add4c0ead732d83128a2969e5c30e", "testCaseId": "2724745064c397947229ef37c57663d4", "fullName": "test_execute_request.TestBPM#test_request", "labels": [{"name": "feature", "value": "组织管理"}, {"name": "story", "value": "删除组织"}, {"name": "severity", "value": "高"}, {"name": "epic", "value": "BPM系统"}, {"name": "suite", "value": "test_execute_request"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-V67H69U"}, {"name": "thread", "value": "10596-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_execute_request"}]}
\ No newline at end of file
{"uuid": "97a89ade-f84a-48c6-a764-0c1de6d5cca3", "befores": [{"name": "level_data", "status": "passed", "start": 1691390527772, "stop": 1691390527772}], "start": 1691390527772, "stop": 1691390527845}
\ No newline at end of file
{"uuid": "43cb815d-c451-4135-8029-e18436a0ae3c", "befores": [{"name": "update_key", "status": "passed", "start": 1691390529958, "stop": 1691390529958}], "start": 1691390529958, "stop": 1691390530157}
\ No newline at end of file
{"uuid": "e3d6e178-fc50-4224-9061-181790a9f065", "befores": [{"name": "url_data", "status": "passed", "start": 1691390530322, "stop": 1691390530322}], "start": 1691390530322, "stop": 1691390530527}
\ No newline at end of file
{"uuid": "8555c7d8-a598-4732-a253-e5c6031dfef3", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390529948, "stop": 1691390529948}], "start": 1691390529948, "stop": 1691390530311}
\ No newline at end of file
{"uuid": "02305485-44e9-415e-8396-fd1be34bb411", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390528091, "stop": 1691390528091}], "start": 1691390528091, "stop": 1691390528221}
\ No newline at end of file
{"uuid": "9687846d-cac1-4539-a230-d94fc3a43999", "befores": [{"name": "title_data", "status": "passed", "start": 1691390528852, "stop": 1691390528852}], "start": 1691390528852, "stop": 1691390528986}
\ No newline at end of file
{"uuid": "a897bdce-e329-4451-a510-420b51dcf3fb", "befores": [{"name": "level_data", "status": "passed", "start": 1691390530321, "stop": 1691390530322}], "start": 1691390530321, "stop": 1691390530534}
\ No newline at end of file
{"uuid": "f0504956-b619-407b-a2a3-2ad4781d64d1", "befores": [{"name": "mokuai_data", "status": "passed", "start": 1691390528683, "stop": 1691390528683}], "start": 1691390528683, "stop": 1691390528834}
\ No newline at end of file
{"uuid": "6d8dfb30-b14f-4314-8022-c9e08e25f7d7", "befores": [{"name": "level_data", "status": "passed", "start": 1691390530550, "stop": 1691390530550}], "start": 1691390530550, "stop": 1691390530644}
\ No newline at end of file
{"name": "反向用例-用户名特殊字符", "status": "passed", "attachments": [{"name": "stdout", "source": "5bf9f97c-65c5-411b-938e-499c240a58c8-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "mokuai_data", "value": "'认证接口'"}, {"name": "jk_data", "value": "'登录系统'"}, {"name": "title_data", "value": "'反向用例-用户名特殊字符'"}, {"name": "level_data", "value": "'中'"}, {"name": "method_data", "value": "'POST'"}, {"name": "mime_data", "value": "'application/json'"}, {"name": "url_data", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_data", "value": "{'password': 'MTIzNDU2', 'username': '▬♦◊◦☼♠♣'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1691390528230, "stop": 1691390528337, "uuid": "7836758a-de65-4210-a040-bd0fdf1b1812", "historyId": "6e5b2a8a3613a74eb4d65966ca603993", "testCaseId": "2724745064c397947229ef37c57663d4", "fullName": "test_execute_request.TestBPM#test_request", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统"}, {"name": "suite", "value": "test_execute_request"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-V67H69U"}, {"name": "thread", "value": "10596-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_execute_request"}]}
\ No newline at end of file
{"uuid": "278e2391-5bc1-4ee8-9645-e05fa697b096", "befores": [{"name": "title_data", "status": "passed", "start": 1691390528999, "stop": 1691390528999}], "start": 1691390528999, "stop": 1691390529132}
\ No newline at end of file
{"uuid": "f4f3d2e4-6d52-4029-bfcb-e8c23f75e17b", "befores": [{"name": "mime_data", "status": "passed", "start": 1691390527773, "stop": 1691390527773}], "start": 1691390527772, "stop": 1691390527843}
\ No newline at end of file
{"uuid": "4447d25e-91e7-437e-9930-03291c73549f", "befores": [{"name": "level_data", "status": "passed", "start": 1691390527948, "stop": 1691390527948}], "start": 1691390527948, "stop": 1691390528079}
\ No newline at end of file
{"uuid": "3efc6add-24ca-4551-be85-395504959355", "befores": [{"name": "url_data", "status": "passed", "start": 1691390528540, "stop": 1691390528540}], "start": 1691390528540, "stop": 1691390528664}
\ No newline at end of file
{"name": "反向用例-密码为空", "status": "passed", "attachments": [{"name": "stdout", "source": "bfa4e7b2-8f9c-4bac-9acf-efc1e0b07584-attachment.txt", "type": "text/plain"}], "parameters": [{"name": "mokuai_data", "value": "'认证接口'"}, {"name": "jk_data", "value": "'登录系统'"}, {"name": "title_data", "value": "'反向用例-密码为空'"}, {"name": "level_data", "value": "'中'"}, {"name": "method_data", "value": "'POST'"}, {"name": "mime_data", "value": "'application/json'"}, {"name": "url_data", "value": "'http://120.46.172.186:8080/auth'"}, {"name": "case_data", "value": "{'password': '', 'username': 'admin'}"}, {"name": "expect_data", "value": "{'state': False, 'message': '账号或密码错误'}"}, {"name": "sql_type", "value": "None"}, {"name": "sql_data", "value": "None"}, {"name": "update_key", "value": "None"}], "start": 1691390528546, "stop": 1691390528652, "uuid": "0452a190-7e5d-49b9-b5ab-3ef9939463bc", "historyId": "d11183f9894fad60aca444763af058ad", "testCaseId": "2724745064c397947229ef37c57663d4", "fullName": "test_execute_request.TestBPM#test_request", "labels": [{"name": "feature", "value": "认证接口"}, {"name": "story", "value": "登录系统"}, {"name": "severity", "value": "中"}, {"name": "epic", "value": "BPM系统"}, {"name": "suite", "value": "test_execute_request"}, {"name": "subSuite", "value": "TestBPM"}, {"name": "host", "value": "DESKTOP-V67H69U"}, {"name": "thread", "value": "10596-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "test_execute_request"}]}
\ No newline at end of file
{"uuid": "d1c0cae4-4e2c-4a08-be63-8752c01e4b91", "befores": [{"name": "case_data", "status": "passed", "start": 1691390530782, "stop": 1691390530782}], "start": 1691390530782, "stop": 1691390530963}
\ No newline at end of file
{"uuid": "6d9a3f9b-9173-4732-b90f-f6b86a9c2881", "befores": [{"name": "update_key", "status": "passed", "start": 1691390529000, "stop": 1691390529000}], "start": 1691390529000, "stop": 1691390529104}
\ No newline at end of file
{"uuid": "adb5da7e-2c80-4f55-865d-91d904fd8e5c", "befores": [{"name": "case_data", "status": "passed", "start": 1691390528389, "stop": 1691390528389}], "start": 1691390528389, "stop": 1691390528503}
\ No newline at end of file
{"uuid": "1eeef762-9978-411a-872f-f166d908db9f", "befores": [{"name": "mime_data", "status": "passed", "start": 1691390529144, "stop": 1691390529144}], "start": 1691390529144, "stop": 1691390529737}
\ No newline at end of file
{"uuid": "293ae078-e523-42f4-83d6-03ce2e03f17d", "befores": [{"name": "jk_data", "status": "passed", "start": 1691390528683, "stop": 1691390528684}], "start": 1691390528683, "stop": 1691390528832}
\ No newline at end of file
{"uuid": "436e3af0-bd20-4758-b84c-efe0e71b72e8", "befores": [{"name": "jk_data", "status": "passed", "start": 1691390528228, "stop": 1691390528228}], "start": 1691390528228, "stop": 1691390528381}
\ No newline at end of file
{"uuid": "4ea8b8de-47ec-4076-a8e8-46fed400e8c7", "befores": [{"name": "expect_data", "status": "passed", "start": 1691390530782, "stop": 1691390530782}], "start": 1691390530782, "stop": 1691390530960}
\ No newline at end of file
{"uuid": "2c9e328d-da2b-4c88-8ca4-aace69337a67", "befores": [{"name": "level_data", "status": "passed", "start": 1691390527858, "stop": 1691390527858}], "start": 1691390527858, "stop": 1691390527934}
\ No newline at end of file
{"uuid": "73251648-5aba-4423-8612-c0cc56806419", "befores": [{"name": "update_key", "status": "passed", "start": 1691390530324, "stop": 1691390530324}], "start": 1691390530324, "stop": 1691390530517}
\ No newline at end of file
{"uuid": "7403bb58-db30-4f8a-885b-2edf61bc1bc9", "befores": [{"name": "mime_data", "status": "passed", "start": 1691390528999, "stop": 1691390528999}], "start": 1691390528999, "stop": 1691390529127}
\ No newline at end of file
{"uuid": "92ee94bb-6b4d-4fb8-b53f-5a4d2dac5787", "befores": [{"name": "jk_data", "status": "passed", "start": 1691390530781, "stop": 1691390530781}], "start": 1691390530781, "stop": 1691390530980}
\ No newline at end of file
{"uuid": "201439e5-b013-4ea9-9a5c-49db530152f4", "befores": [{"name": "method_data", "status": "passed", "start": 1691390528999, "stop": 1691390528999}], "start": 1691390528999, "stop": 1691390529129}
\ 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