修复重复打印日志以及优化报错信息。
This commit is contained in:
parent
b1a24049f1
commit
67209e7096
|
@ -2,9 +2,15 @@
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="DBNavigator.Project.DataEditorManager">
|
<component name="DBNavigator.Project.DataEditorManager">
|
||||||
<record-view-column-sorting-type value="BY_INDEX" />
|
<record-view-column-sorting-type value="BY_INDEX" />
|
||||||
<value-preview-text-wrapping value="true" />
|
<value-preview-text-wrapping value="false" />
|
||||||
<value-preview-pinned value="false" />
|
<value-preview-pinned value="false" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||||
|
<autoscroll-to-editor value="false" />
|
||||||
|
<autoscroll-from-editor value="true" />
|
||||||
|
<show-object-properties value="true" />
|
||||||
|
<loaded-nodes />
|
||||||
|
</component>
|
||||||
<component name="DBNavigator.Project.DatabaseEditorStateManager">
|
<component name="DBNavigator.Project.DatabaseEditorStateManager">
|
||||||
<last-used-providers />
|
<last-used-providers />
|
||||||
</component>
|
</component>
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
2023-06-25 22:14:00 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-06-25 22:45:38 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
|
@ -1,108 +0,0 @@
|
||||||
2023-07-05 09:17:38 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:17:40 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:17:43 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 09:17:43 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:20:43 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:20:46 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:20:49 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 09:20:49 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:21:53 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:21:55 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:21:58 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 09:21:58 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:46:55 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:46:57 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:47:00 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 09:47:00 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:52:10 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 09:52:10 | ERROR | 发送请求失败: URL cannot be None
|
|
||||||
2023-07-05 09:52:10 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 09:52:12 | ERROR | key:{{get_timestamp()}},在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 09:52:15 | ERROR | key:{{get_timestamp()}},在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:05:00 | ERROR | key:<re.Match object; span=(461, 468), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:05:02 | ERROR | key:<re.Match object; span=(153, 166), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:05:05 | ERROR | key:<re.Match object; span=(166, 179), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:07:57 | ERROR | key:<re.Match object; span=(463, 470), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:07:57 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:07:59 | ERROR | key:<re.Match object; span=(409, 416), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:07:59 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:08:02 | ERROR | key:<re.Match object; span=(360, 367), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:08:02 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 15:08:02 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:12:26 | ERROR | key:<re.Match object; span=(459, 466), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:12:26 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:12:28 | ERROR | key:<re.Match object; span=(405, 412), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:12:29 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:12:32 | ERROR | key:<re.Match object; span=(356, 363), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:12:32 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 15:12:32 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:15:53 | ERROR | key:<re.Match object; span=(465, 472), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:15:53 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:15:55 | ERROR | key:<re.Match object; span=(411, 418), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:15:55 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:15:58 | ERROR | key:<re.Match object; span=(362, 369), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:15:58 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 15:15:59 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:17:24 | ERROR | key:<re.Match object; span=(465, 472), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:17:24 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:17:26 | ERROR | key:<re.Match object; span=(411, 418), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:17:26 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:17:29 | ERROR | key:<re.Match object; span=(362, 369), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:17:29 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 15:17:29 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-05 15:17:52 | ERROR | key:<re.Match object; span=(465, 472), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:17:54 | ERROR | key:<re.Match object; span=(457, 464), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:17:57 | ERROR | key:<re.Match object; span=(408, 415), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:17:57 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-05 15:31:17 | ERROR | key:<re.Match object; span=(463, 470), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:31:19 | ERROR | key:<re.Match object; span=(455, 462), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:31:22 | ERROR | key:<re.Match object; span=(406, 413), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-05 15:31:22 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
|
@ -1,25 +0,0 @@
|
||||||
2023-07-12 11:17:52 | ERROR | key:<re.Match object; span=(282, 289), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-12 11:17:52 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
Expecting value: line 1 column 1 (char 0)
|
|
||||||
2023-07-12 11:17:54 | ERROR | key:<re.Match object; span=(367, 374), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-12 11:17:54 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
Expecting value: line 1 column 1 (char 0)
|
|
||||||
2023-07-12 11:17:57 | ERROR | key:<re.Match object; span=(320, 327), match='{{999}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-12 11:17:57 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-12 11:17:57 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
Expecting value: line 1 column 1 (char 0)
|
|
||||||
2023-07-12 15:06:03 | ERROR | 发送请求失败: list indices must be integers or slices, not str
|
|
||||||
2023-07-12 15:12:59 | ERROR | 发送请求失败: list indices must be integers or slices, not str
|
|
||||||
2023-07-12 15:13:12 | ERROR | 发送请求失败: list indices must be integers or slices, not str
|
|
||||||
2023-07-12 15:13:35 | ERROR | 发送请求失败: list indices must be integers or slices, not str
|
|
||||||
2023-07-12 15:14:04 | ERROR | 发送请求失败: list indices must be integers or slices, not str
|
|
||||||
2023-07-12 15:14:27 | ERROR | 发送请求失败: list indices must be integers or slices, not str
|
|
||||||
2023-07-12 15:15:51 | ERROR | 发送请求失败: read of closed file
|
|
||||||
2023-07-12 15:24:51 | ERROR | 发送请求失败: read of closed file
|
|
||||||
2023-07-12 16:07:16 | ERROR | 发送请求失败: read of closed file
|
|
||||||
2023-07-12 16:07:38 | ERROR | 发送请求失败: read of closed file
|
|
||||||
2023-07-12 16:24:30 | ERROR | 发送请求失败: URL cannot be None
|
|
||||||
2023-07-12 16:25:45 | ERROR | 发送请求失败: Data must not be a string.
|
|
|
@ -1,304 +0,0 @@
|
||||||
2023-07-13 15:04:15 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,块排查: [Errno 13] Permission denied: 'D:\\apk_api\\api-test-project\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-13 15:04:16 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:04:17 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:04:17 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:04:17 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,块排查: [Errno 13] Permission denied: 'D:\\apk_api\\api-test-project\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-13 15:04:18 | ERROR | key:<re.Match object; span=(153, 166), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:04:18 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:04:18 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:04:18 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,块排查: [Errno 13] Permission denied: 'D:\\apk_api\\api-test-project\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-13 15:04:19 | ERROR | key:<re.Match object; span=(166, 179), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:04:19 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:04:19 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:04:19 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:04:19 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,块排查: [Errno 13] Permission denied: 'D:\\apk_api\\api-test-project\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-13 15:04:32 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:04:32 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:04:32 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:04:33 | ERROR | key:<re.Match object; span=(153, 166), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:04:33 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:04:33 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:04:34 | ERROR | key:<re.Match object; span=(166, 179), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:04:34 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:04:34 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:04:34 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:12:39 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:12:39 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:12:40 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:12:40 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:12:41 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:12:41 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:12:41 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:12:41 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:15:43 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:15:43 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:15:44 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:15:44 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:15:45 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:15:45 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:15:45 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:15:45 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:19:25 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:19:25 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:19:26 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:19:26 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:19:27 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:19:27 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:19:27 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:19:27 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:19:37 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:19:37 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:19:38 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:19:38 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:19:39 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:19:39 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:19:39 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:19:39 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:20:43 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:20:43 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:20:44 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:20:44 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:20:45 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:20:45 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:20:45 | ERROR | 发送请求失败: local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:20:45 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-13 15:21:33 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:21:34 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:21:35 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:21:35 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:21:35 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
local variable 'fs' referenced before assignment
|
|
||||||
2023-07-13 15:22:11 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'Action' object has no attribute 'validate_variables_list'
|
|
||||||
2023-07-13 15:22:13 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:22:13 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:22:13 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'Action' object has no attribute 'validate_variables_list'
|
|
||||||
2023-07-13 15:27:48 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 15:27:48 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 15:27:49 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:27:49 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:27:49 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 15:27:49 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 15:30:31 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 15:30:31 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 15:30:32 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 15:30:32 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 15:30:32 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 15:30:32 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 16:42:55 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 16:42:55 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 16:42:56 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 16:42:56 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 16:42:56 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 16:42:56 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 17:52:43 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 17:52:43 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 17:52:44 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 17:52:44 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 17:52:44 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 17:52:44 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 17:55:34 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 17:55:34 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 17:55:35 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 17:55:35 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 17:55:35 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 17:55:35 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 17:59:30 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 17:59:30 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 17:59:31 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 17:59:31 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 17:59:31 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 17:59:32 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 18:00:30 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 18:00:30 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 18:00:31 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 18:00:31 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 18:00:31 | ERROR | 参数格式错误!
|
|
||||||
2023-07-13 18:00:31 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
exceptions must derive from BaseException
|
|
||||||
2023-07-13 18:00:53 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 18:00:55 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 18:00:55 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 18:00:55 | ERROR | 提取失败:提取表达式:data[0].tvSequence,没有提取到对应的值
|
|
||||||
2023-07-13 18:00:55 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 18:02:05 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 18:02:08 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 18:02:09 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 18:02:09 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 18:02:09 | ERROR | 提取失败:提取表达式:data[0].tvSequence,没有提取到对应的值
|
|
||||||
2023-07-13 18:02:09 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data[0].tvSequence', '期望值': '{{tvSequence}}', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 18:04:10 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 18:04:13 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 18:04:14 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 18:04:14 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 18:04:14 | ERROR | 提取失败:提取表达式:data[0].tvSequence,没有提取到对应的值
|
|
||||||
2023-07-13 18:04:14 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data[0].tvSequence', '期望值': '{{tvSequence}}', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 18:52:43 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 18:53:56 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 18:54:30 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 18:54:56 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 18:55:00 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 18:55:01 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 18:55:01 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 18:55:01 | ERROR | 提取失败:提取表达式:data[0].tvSequence,没有提取到对应的值
|
|
||||||
2023-07-13 18:55:01 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data[0].tvSequence', '期望值': '{{tvSequence}}', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:10:18 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 19:10:21 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:10:22 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 19:10:22 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:10:22 | ERROR | 提取失败:提取表达式:data[0].tvSequence,没有提取到对应的值
|
|
||||||
2023-07-13 19:10:22 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data[0].tvSequence', '期望值': '{{tvSequence}}', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:15:37 | ERROR | | called load_built_in_functions | error: 快看,异常了,别唧唧哇哇,块排查: vars() argument must have __dict__ attribute
|
|
||||||
2023-07-13 19:15:37 | ERROR | | called set_bif_fun | error: 快看,异常了,别唧唧哇哇,块排查: 'NoneType' object has no attribute 'items'
|
|
||||||
2023-07-13 19:16:12 | ERROR | | called load_built_in_functions | error: 快看,异常了,别唧唧哇哇,块排查: vars() argument must have __dict__ attribute
|
|
||||||
2023-07-13 19:16:12 | ERROR | | called set_bif_fun | error: 快看,异常了,别唧唧哇哇,块排查: 'NoneType' object has no attribute 'items'
|
|
||||||
2023-07-13 19:30:55 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 19:30:57 | ERROR | 异常用例: 安全纯净大屏_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/auth/loginByNotBip (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 19:30:58 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/ibs/api/ibs-lms-base/tvConfig/addTvSequence?t=1689247858607 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 19:30:59 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 19:30:59 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:30:59 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/ibs/api/ibs-lms-base/tvConfig/getTvInfo?t=1689247859760&projectId=104966 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 19:31:09 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 19:31:12 | ERROR | 异常用例: 安全纯净大屏_4_劳务基础配置_绑定TV
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:31:13 | ERROR | key:<re.Match object; span=(365, 379), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 19:31:13 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:31:13 | ERROR | 提取失败:提取表达式:data[0].tvSequence,没有提取到对应的值
|
|
||||||
2023-07-13 19:31:13 | ERROR | 异常用例: 安全纯净大屏_5_劳务基础配置_查询配置
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data[0].tvSequence', '期望值': '{{tvSequence}}', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:39:56 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 19:39:59 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 200, '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': '添加成功', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:40:00 | ERROR | key:<re.Match object; span=(411, 425), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-13 19:40:00 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:40:00 | ERROR | 提取失败:提取表达式:data[0].tvSequence,没有提取到对应的值
|
|
||||||
2023-07-13 19:40:00 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data[0].tvSequence', '期望值': '{{tvSequence}}', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:43:55 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 19:43:58 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 200, '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': '添加成功', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:43:59 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:43:59 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '104966', '实际值': '104966', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-13 19:44:23 | ERROR | | called load_built_in_comparators | error: 快看,异常了,别唧唧哇哇,块排查: load_built_in_comparators() missing 1 required positional argument: 'self'
|
|
||||||
2023-07-13 19:47:38 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:50:03 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/auth/loginByNotBip (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 19:50:04 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/ibs/api/ibs-lms-base/tvConfig/addTvSequence?t=1689249004213 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 19:50:05 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:50:05 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/ibs/api/ibs-lms-base/tvConfig/getTvInfo?t=1689249005341&projectId=104966 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 19:50:17 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 19:50:18 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:50:18 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 19:51:09 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 19:51:10 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 19:51:10 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 20:10:34 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/auth/loginByNotBip (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 20:10:35 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/ibs/api/ibs-lms-base/tvConfig/addTvSequence?t=1689250235406 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 20:10:36 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:10:36 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='bimdc.bzlrobot.com', port=443): Max retries exceeded with url: /bsp/test/user/ugs/ibs/api/ibs-lms-base/tvConfig/getTvInfo?t=1689250236535&projectId=104966 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-13 20:10:52 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 20:10:53 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:10:53 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
'Action' object has no attribute 'built_in_comparators'
|
|
||||||
2023-07-13 20:11:51 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:20:37 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:23:07 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:24:02 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:27:02 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:27:55 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:31:15 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 20:33:24 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 23:38:51 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
decorator() got an unexpected keyword argument 'json'
|
|
||||||
2023-07-13 23:38:52 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
decorator() got an unexpected keyword argument 'json'
|
|
||||||
2023-07-13 23:38:53 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-13 23:38:53 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
decorator() got an unexpected keyword argument 'params'
|
|
|
@ -1,199 +0,0 @@
|
||||||
2023-07-14 00:15:44 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:15:44 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-14 00:15:45 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689264945235 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:15:45 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-14 00:15:46 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:15:46 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689264946368&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:15:46 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
'NoneType' object has no attribute 'json'
|
|
||||||
2023-07-14 00:19:48 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:19:48 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:19:49 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689265189499 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:19:49 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689265189499 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:19:50 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:19:50 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689265190636&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:19:50 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689265190636&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:20:10 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002184647C370>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 00:20:10 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002184647C370>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 00:20:14 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689265212011 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002184649D3D0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 00:20:14 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689265212011 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002184649D3D0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 00:20:16 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:20:19 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689265216060&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000218464DE4C0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 00:20:19 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689265216060&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000218464DE4C0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 00:32:06 | ERROR | 发送请求失败: name 'self' is not defined
|
|
||||||
2023-07-14 00:32:06 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
name 'self' is not defined
|
|
||||||
2023-07-14 00:32:07 | ERROR | 发送请求失败: name 'self' is not defined
|
|
||||||
2023-07-14 00:32:07 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
name 'self' is not defined
|
|
||||||
2023-07-14 00:32:08 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:32:08 | ERROR | 发送请求失败: name 'self' is not defined
|
|
||||||
2023-07-14 00:32:08 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
name 'self' is not defined
|
|
||||||
2023-07-14 00:32:31 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:32:31 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:32:32 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689265952519 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:32:32 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689265952519 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:32:33 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:32:33 | ERROR | 发送请求失败: HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689265953669&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:32:33 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689265953669&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:39:00 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
module 'common.utils.logger' has no attribute 'error'
|
|
||||||
2023-07-14 00:39:01 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
module 'common.utils.logger' has no attribute 'error'
|
|
||||||
2023-07-14 00:39:03 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:39:03 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
module 'common.utils.logger' has no attribute 'error'
|
|
||||||
2023-07-14 00:42:32 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
module 'common.utils.logger' has no attribute 'error'
|
|
||||||
2023-07-14 00:42:33 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
module 'common.utils.logger' has no attribute 'error'
|
|
||||||
2023-07-14 00:42:34 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:42:34 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
module 'common.utils.logger' has no attribute 'error'
|
|
||||||
2023-07-14 00:46:03 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:46:04 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689266764798 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 00:46:05 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 00:46:05 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689266765926&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 17:56:48 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000279F94EBE80>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 17:56:50 | ERROR | key:<re.Match object; span=(127, 140), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 17:56:56 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689328610847 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000279F952B0A0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 17:56:57 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 17:56:57 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 17:57:03 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689328617901&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000279F94C9280>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 18:05:55 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002B958C01370>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 18:05:56 | ERROR | key:<re.Match object; span=(127, 140), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 18:06:05 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689329156326 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002B958CC8400>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 18:06:06 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 18:06:06 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 18:06:20 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689329166696&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002B958C69D90>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:39:34 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 21:39:35 | ERROR | key:<re.Match object; span=(127, 140), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:39:35 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689341975678 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 21:39:36 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:39:36 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 21:39:36 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689341976802&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 21:45:50 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:45:55 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000021972E47D90>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:45:55 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:45:56 | ERROR | key:<re.Match object; span=(127, 140), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:45:59 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689342356074 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000021972E47EE0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:45:59 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:46:00 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:46:00 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 21:46:03 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689342360415&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000021972E71820>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:46:03 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:51:21 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:51:25 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000137E1F36D90>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:51:25 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:51:26 | ERROR | key:<re.Match object; span=(127, 140), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:51:29 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689342686629 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000137E1F36F70>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:51:29 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:51:30 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:51:30 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 21:51:33 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689342690487&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x00000137E1F63850>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:51:33 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-14 21:57:41 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000022B4E9A8A90>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:57:42 | ERROR | key:<re.Match object; span=(152, 165), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:57:45 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689343062620 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000022B4EA822B0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 21:57:46 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 21:57:46 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 21:57:49 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689343066559&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000022B4EB06100>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 22:00:03 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 22:00:04 | ERROR | key:<re.Match object; span=(152, 165), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 22:00:04 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689343204417 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 22:00:05 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 22:00:05 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 22:00:05 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689343205520&projectId=3333 (Caused by ProxyError('Unable to connect to proxy', SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1123)'))))
|
|
||||||
2023-07-14 23:00:24 | ERROR | 异常用例: safe_2_登录_非BIP用户登录
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/login (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002D112A8B400>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 23:00:26 | ERROR | key:<re.Match object; span=(152, 165), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:00:28 | ERROR | 异常用例: safe_4_劳务基础配置_绑定TV
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/addTvSequence?t=1689346826007 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002D112ABED00>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 23:00:30 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:00:30 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:00:33 | ERROR | 异常用例: safe_5_劳务基础配置_查询配置
|
|
||||||
HTTPSConnectionPool(host='xxxx.com', port=443): Max retries exceeded with url: /test/api/getTvInfo?t=1689346830060&projectId=3333 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000002D112A8BC70>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
|
|
||||||
2023-07-14 23:31:50 | ERROR | key:<re.Match object; span=(152, 165), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:31:51 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:31:51 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:33:01 | ERROR | key:<re.Match object; span=(152, 165), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:33:13 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:33:13 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:38:02 | ERROR | key:<re.Match object; span=(152, 165), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:38:15 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:38:15 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:45:41 | ERROR | key:<re.Match object; span=(152, 165), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:45:51 | ERROR | key:<re.Match object; span=(138, 151), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-14 23:45:51 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:54:12 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:54:12 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-14 23:54:12 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-14 23:56:41 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:56:41 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-14 23:56:41 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-14 23:57:22 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-14 23:57:22 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-14 23:57:23 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
|
@ -1,9 +0,0 @@
|
||||||
2023-07-15 00:01:21 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-15 00:01:21 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-15 00:01:21 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-15 00:07:51 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-15 00:07:52 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-15 00:11:01 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-15 00:11:01 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
|
@ -1,357 +0,0 @@
|
||||||
2023-07-19 20:53:52 | ERROR | key:<re.Match object; span=(402, 419), match='{{response_time}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 20:53:52 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '{{response_time}}', '期望值': '20', '实际值': '{{response_time}}', '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 20:53:53 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 20:53:53 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': 'msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 20:53:54 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 20:53:54 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 20:56:29 | ERROR | key:<re.Match object; span=(402, 419), match='{{response_time}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 20:56:30 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': 'msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 20:56:31 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 20:57:50 | ERROR | key:<re.Match object; span=(402, 418), match='{{responseTime}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 20:57:51 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': 'msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 20:57:52 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:01:29 | ERROR | key:<re.Match object; span=(402, 418), match='{{responseTime}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:01:29 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '83.557', '期望值': '20', '实际值': '83.557', '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:01:30 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:01:30 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'code', '期望值': 200, '实际值': 'code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': 'msg', '期望值': '添加成功', '实际值': 'msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:01:31 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:01:31 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:03:43 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:03:44 | ERROR | key:<re.Match object; span=(402, 418), match='{{responseTime}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:03:44 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '91.902', '期望值': '20', '实际值': '91.902', '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:03:44 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:03:45 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:03:45 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:03:45 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:03:47 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:03:47 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:03:47 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:04:20 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:04:21 | ERROR | key:<re.Match object; span=(402, 418), match='{{responseTime}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:04:22 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:04:23 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:04:47 | ERROR | key:<re.Match object; span=(402, 418), match='{{responseTime}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:04:47 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '89.434', '期望值': '20', '实际值': '89.434', '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:04:48 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:04:48 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:04:49 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:04:49 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:11:14 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:11:15 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:12:41 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:12:42 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:13:31 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:13:32 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:21:16 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:21:17 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:32:17 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:32:18 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:32:19 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:32:19 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:32:20 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:32:20 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 21:33:40 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '95.54700000000001', '期望值': '20', '实际值': '95.54700000000001', '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:33:41 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:33:41 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:33:42 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:33:42 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:50:15 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 108.14500000000001, '期望值': 20, '实际值': 108.14500000000001, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:50:16 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:50:16 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:50:17 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:50:17 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:55:46 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 108.132, '期望值': 20, '实际值': 108.132, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:55:47 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:55:47 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:55:48 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:55:48 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:58:22 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 124.445, '期望值': 20, '实际值': 124.445, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:58:23 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:58:23 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:58:24 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:58:24 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:58:53 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 93.627, '期望值': 20, '实际值': 93.627, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:58:54 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:58:54 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 21:58:55 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 21:58:55 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:00:10 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 99.395, '期望值': 20, '实际值': 99.395, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:00:11 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:00:11 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:00:12 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:00:12 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:02:38 | INFO | | 调用函数: load_built_in_comparators | args: () kwargs:{}
|
|
||||||
2023-07-19 22:02:38 | INFO | | 结束调用函数: load_built_in_comparators, duration:0.000013s
|
|
||||||
2023-07-19 22:02:38 | INFO | | 调用函数: clear_date | args: (<common.file_handling.do_excel.DoExcel object at 0x0000020B268F21C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:02:38 | INFO | | 调用函数: get_excel_init | args: (<common.file_handling.do_excel.DoExcel object at 0x0000020B268F21C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:02:38 | INFO | | 结束调用函数: get_excel_init, duration:0.000045s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: clear_date, duration:0.075347s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: get_excel_init | args: (<common.file_handling.do_excel.DoExcel object at 0x0000020B268F21C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: get_excel_init, duration:0.000043s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: EncryptData | args: () kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: EncryptData, duration:0.000001s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'common.bif_functions' from 'E:\\apitest\\common\\bif_functions\\__init__.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'common.bif_functions' from 'E:\\apitest\\common\\bif_functions\\__init__.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000026s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: set_bif_fun, duration:0.001842s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: get_excel_init | args: (<common.file_handling.do_excel.DoExcel object at 0x0000020B268F21C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: get_excel_init, duration:0.000045s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000008s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: set_bif_fun, duration:0.001865s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000008s
|
|
||||||
2023-07-19 22:02:39 | INFO | | 结束调用函数: set_bif_fun, duration:0.002050s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), None) kwargs:{}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000004s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), {'Url': '/auth/loginByNotBip', 'Headers': '{"Content-Type": "application/json"}', 'Query Str': None, 'Request Data Type': 'json', 'Request Data': '{"account": "{{account}}", "password": "{{passwd}}"}', 'Response': '', 'Assertion': '', 'Error Log': ''}) kwargs:{}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000180s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: substitute_data | args: (Action(), '{"account": "18127813600", "password": "ZHh5BTduCaPU+4Ni8Zpk62ynfZI5mc2hrXcMUpymgLkV3wrOjWiB97MZyWXO5TBAbYHG37HNoAejWNUUMnerQlFN52i40F3EIFrZ4Lq+9KIq4K8cfQriWDBSssy6i7DaiZcsZu1vI47Wz7+FShdOE2gpiO7iQo3+b4KoQS3ZZXA="}') kwargs:{'jp_dict': '{"tvSequence": "$..account"}'}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: substitute_data, duration:0.024628s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), '{"check":{{responseTime}},"comparator":"lt","expect":20}') kwargs:{}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000042s
|
|
||||||
2023-07-19 22:02:40 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 99.56, '期望值': 20, '实际值': 99.56, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: write_back | args: (<common.file_handling.do_excel.DoExcel object at 0x0000020B268F21C0>,) kwargs:{'sheet_name': 'safe', 'i': 2, 'response': '{"code":"0","type":"success","data":{"id":"216897748901771157","userId":"216483504447804297","ibsUserId":7884,"mobile":"18127813600","bspToken":"a364383dd1cb02de8913ce569f33ef31","type":"user","avatar":null,"ncAccount":null,"timestamp":1689775367,"idpTokenId":null,"loginChannel":null,"clientType":null,"name":"陈勇志","btpToken":null,"account":"18127813600","accountType":"C","currentEnvId":null,"currentTenantId":"216260762345772077","currentAppId":"8d1f5bdc9c6648af84a98e2c017846c5","currentProjectId":"103654","currentOrgId":null,"currentMenuId":null,"currentOrgMenuId":null,"currentSelectedTab":"org","currentUrl":"/ibs/newLabor/basicConfig/Index","tenants":[{"id":"1623811301356297657","code":"1623811301356297657","fullName":"广东博嘉拓建筑测试租户","shortName":"广东博嘉拓建筑测试租户","envId":"6296f5e3960c4fdfb9c9357b581c853b","envName":"默认环境","tenantEnvs":null},{"id":"216572673247394736","code":"9C8D5715AAA44D4B8530AB2B7F627E1A","fullName":"安徽腾越建筑工程有限公司","shortName":"安徽腾越建筑工程有限公司","envId":"d1b4f959495f433fb1dd5400a78bce2c","envName":"默认环境","tenantEnvs":null},{"id":"216317749963825419","code":"C2C35D2543B34CA99366D9C76E45D01B","fullName":"沈阳腾越建筑测试租户","shortName":"沈阳腾越建筑测试租户","envId":"c4a70c0a1f5c4aaa83fcd390dcd898c6","envName":"默认环境","tenantEnvs":null},{"id":"216260762345772077","code":"216260762345772077","fullName":"广东腾越建筑工程有限公司","shortName":"广东腾越建筑工程有限公司","envId":"210712034943271000","envName":"默认环境","tenantEnvs":null},{"id":"216328986981406025","code":"TENANT_TEST","fullName":"智慧工地测试租户9","shortName":"智慧工地测试租户9","envId":"e7682a3876a343b483645b0c20da93a3","envName":"默认环境","tenantEnvs":null},{"id":"216365124588606373","code":"TENANT_TEST","fullName":"计划排程自动化测试","shortName":"计划排程自动化测试","envId":"80ce8eb5a7c941f8a6f57b8ecb61ec17","envName":"默认环境","tenantEnvs":null},{"id":"216674624791091228","code":"232E9186B1BE494E966F27BA7CF33AE2","fullName":"cyq测试","shortName":"cyq测试","envId":"ef3f8ed4792f4ef0a5e7d92af394d29c","envName":"默认环境","tenantEnvs":null},{"id":"216687529947792866","code":"9769454E01304245AEE83CE7E99537A8","fullName":"成本总控报表测试租户","shortName":"成本总控报表测试租户","envId":"5125917072884123bf9fe3966ffa4af2","envName":"默认环境","tenantEnvs":null},{"id":"216661417159402453","code":"216661417159402453","fullName":"科技建筑集团","shortName":"科技建筑集团","envId":"b23d88da977e467cb81dd7fb57de97d0","envName":"默认环境","tenantEnvs":null},{"id":"216281557054332425","code":"216281557054332425","fullName":"BIM材料用量计算","shortName":"BIM材料用量计算","envId":"7501c77b0ccd4b4d912451e5f74c1ba7","envName":"默认环境","tenantEnvs":null},{"id":"1320970534539886592","code":"1320970534539886592","fullName":"碧桂园集团","shortName":"碧桂园集团","envId":"1320970534539886592","envName":"默认环境","tenantEnvs":null}],"loginAppDto":null},"msg":null,"succeed":true}', 'test_result': 'FAIL', 'assert_log': "('FAIL', [{'check_rt': None, '检查项': 99.56, '期望值': 20, '实际值': 99.56, '断言方法': 'lt:实际值小于期望值'}])"}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: write_back, duration:0.084348s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000026s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: set_bif_fun, duration:0.002193s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000008s
|
|
||||||
2023-07-19 22:02:40 | INFO | | 结束调用函数: set_bif_fun, duration:0.001733s
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), None) kwargs:{}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000004s
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), {'Url': '/ibs/api/ibs-lms-base/tvConfig/addTvSequence?t={{get_timestamp()}}', 'Headers': '{"tvSequence":"{{tvSequence}}","Content-Type":"application/json;charset=utf-8","BSP_TOKEN":"{{BSP_TOKEN}}","BSP_USER_TENANT":"{{BSP_USER_TENANT}}"}', 'Query Str': None, 'Request Data Type': 'json', 'Request Data': '{"projectId":"{{projectId}}","tvSequence":"{{random_string()}}"}', 'Response': '', 'Assertion': '', 'Error Log': ''}) kwargs:{}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: get_timestamp | args: () kwargs:{}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: get_timestamp, duration:0.000015s
|
|
||||||
2023-07-19 22:02:41 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.005535s
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: substitute_data | args: (Action(), '{"projectId":"{{projectId}}","tvSequence":"lKmwDNYWLSUOMbLzxNfT"}') kwargs:{'jp_dict': '{"tvSequence": "$..tvSequence"}'}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: substitute_data, duration:0.023907s
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), '[{"check":"$.code","comparator":"eq","expect":200},{"check":"$.msg","comparator":"eq","expect":"添加成功"}]') kwargs:{}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000026s
|
|
||||||
2023-07-19 22:02:41 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: write_back | args: (<common.file_handling.do_excel.DoExcel object at 0x0000020B268F21C0>,) kwargs:{'sheet_name': 'safe', 'i': 4, 'response': '{"code":"AG_100003","msg":"您的登陆状态已过期,请重新登陆。","showType":2,"succeed":false}', 'test_result': 'FAIL', 'assert_log': "('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}])"}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: write_back, duration:0.076274s
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000011s
|
|
||||||
2023-07-19 22:02:41 | INFO | | 结束调用函数: set_bif_fun, duration:0.002281s
|
|
||||||
2023-07-19 22:02:42 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), None) kwargs:{}
|
|
||||||
2023-07-19 22:02:42 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000002s
|
|
||||||
2023-07-19 22:02:42 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), {'Url': '/ibs/api/ibs-lms-base/tvConfig/listTvSequence?t={{get_timestamp()}}&projectId={{projectId}}', 'Headers': '{"Content-Type":"application/json;charset=utf-8","BSP_TOKEN":"{{BSP_TOKEN}}","BSP_USER_TENANT":"{{BSP_USER_TENANT}}","test":"{{tvSequence}}"}', 'Query Str': None, 'Request Data Type': 'params', 'Request Data': None, 'Response': '', 'Assertion': '', 'Error Log': ''}) kwargs:{}
|
|
||||||
2023-07-19 22:02:42 | INFO | | 调用函数: get_timestamp | args: () kwargs:{}
|
|
||||||
2023-07-19 22:02:42 | INFO | | 结束调用函数: get_timestamp, duration:0.000007s
|
|
||||||
2023-07-19 22:02:42 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:02:42 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.003517s
|
|
||||||
2023-07-19 22:02:42 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), '{"check":"data.projectId","comparator":"contained_by","expect":"{{projectId}}"}') kwargs:{}
|
|
||||||
2023-07-19 22:02:42 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000050s
|
|
||||||
2023-07-19 22:02:42 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:02:42 | INFO | | 调用函数: write_back | args: (<common.file_handling.do_excel.DoExcel object at 0x0000020B268F21C0>,) kwargs:{'sheet_name': 'safe', 'i': 5, 'response': '{"code":"AG_100003","msg":"您的登陆状态已过期,请重新登陆。","showType":2,"succeed":false}', 'test_result': 'FAIL', 'assert_log': "('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}])"}
|
|
||||||
2023-07-19 22:02:42 | INFO | | 结束调用函数: write_back, duration:0.073453s
|
|
||||||
2023-07-19 22:02:42 | INFO | 所有用例执行完毕
|
|
||||||
2023-07-19 22:03:42 | INFO | | 调用函数: load_built_in_comparators | args: () kwargs:{}
|
|
||||||
2023-07-19 22:03:42 | INFO | | 结束调用函数: load_built_in_comparators, duration:0.000036s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: clear_date | args: (<common.file_handling.do_excel.DoExcel object at 0x0000025F483421C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: get_excel_init | args: (<common.file_handling.do_excel.DoExcel object at 0x0000025F483421C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: get_excel_init, duration:0.000045s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: clear_date, duration:0.075481s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: get_excel_init | args: (<common.file_handling.do_excel.DoExcel object at 0x0000025F483421C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: get_excel_init, duration:0.000044s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: EncryptData | args: () kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: EncryptData, duration:0.000001s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'common.bif_functions' from 'E:\\apitest\\common\\bif_functions\\__init__.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'common.bif_functions' from 'E:\\apitest\\common\\bif_functions\\__init__.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000023s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: set_bif_fun, duration:0.002302s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: get_excel_init | args: (<common.file_handling.do_excel.DoExcel object at 0x0000025F483421C0>,) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: get_excel_init, duration:0.000042s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000008s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: set_bif_fun, duration:0.001910s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000007s
|
|
||||||
2023-07-19 22:03:43 | INFO | | 结束调用函数: set_bif_fun, duration:0.002326s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), None) kwargs:{}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000006s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), {'Url': '/auth/loginByNotBip', 'Headers': '{"Content-Type": "application/json"}', 'Query Str': None, 'Request Data Type': 'json', 'Request Data': '{"account": "{{account}}", "password": "{{passwd}}"}', 'Response': '', 'Assertion': '', 'Error Log': ''}) kwargs:{}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000180s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: substitute_data | args: (Action(), '{"account": "18127813600", "password": "ZHh5BTduCaPU+4Ni8Zpk62ynfZI5mc2hrXcMUpymgLkV3wrOjWiB97MZyWXO5TBAbYHG37HNoAejWNUUMnerQlFN52i40F3EIFrZ4Lq+9KIq4K8cfQriWDBSssy6i7DaiZcsZu1vI47Wz7+FShdOE2gpiO7iQo3+b4KoQS3ZZXA="}') kwargs:{'jp_dict': '{"tvSequence": "$..account"}'}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: substitute_data, duration:0.037463s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), '{"check":{{responseTime}},"comparator":"lt","expect":20}') kwargs:{}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000044s
|
|
||||||
2023-07-19 22:03:44 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 86.245, '期望值': 20, '实际值': 86.245, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: write_back | args: (<common.file_handling.do_excel.DoExcel object at 0x0000025F483421C0>,) kwargs:{'sheet_name': 'safe', 'i': 2, 'response': '{"code":"0","type":"success","data":{"id":"216897754319782156","userId":"216483504447804297","ibsUserId":7884,"mobile":"18127813600","bspToken":"2608e7cd6acb3d8291a0a11035cbd3b1","type":"user","avatar":null,"ncAccount":null,"timestamp":1689775431,"idpTokenId":null,"loginChannel":null,"clientType":null,"name":"陈勇志","btpToken":null,"account":"18127813600","accountType":"C","currentEnvId":null,"currentTenantId":"216260762345772077","currentAppId":"8d1f5bdc9c6648af84a98e2c017846c5","currentProjectId":"103654","currentOrgId":null,"currentMenuId":null,"currentOrgMenuId":null,"currentSelectedTab":"org","currentUrl":"/ibs/newLabor/basicConfig/Index","tenants":[{"id":"1623811301356297657","code":"1623811301356297657","fullName":"广东博嘉拓建筑测试租户","shortName":"广东博嘉拓建筑测试租户","envId":"6296f5e3960c4fdfb9c9357b581c853b","envName":"默认环境","tenantEnvs":null},{"id":"216572673247394736","code":"9C8D5715AAA44D4B8530AB2B7F627E1A","fullName":"安徽腾越建筑工程有限公司","shortName":"安徽腾越建筑工程有限公司","envId":"d1b4f959495f433fb1dd5400a78bce2c","envName":"默认环境","tenantEnvs":null},{"id":"216317749963825419","code":"C2C35D2543B34CA99366D9C76E45D01B","fullName":"沈阳腾越建筑测试租户","shortName":"沈阳腾越建筑测试租户","envId":"c4a70c0a1f5c4aaa83fcd390dcd898c6","envName":"默认环境","tenantEnvs":null},{"id":"216260762345772077","code":"216260762345772077","fullName":"广东腾越建筑工程有限公司","shortName":"广东腾越建筑工程有限公司","envId":"210712034943271000","envName":"默认环境","tenantEnvs":null},{"id":"216328986981406025","code":"TENANT_TEST","fullName":"智慧工地测试租户9","shortName":"智慧工地测试租户9","envId":"e7682a3876a343b483645b0c20da93a3","envName":"默认环境","tenantEnvs":null},{"id":"216365124588606373","code":"TENANT_TEST","fullName":"计划排程自动化测试","shortName":"计划排程自动化测试","envId":"80ce8eb5a7c941f8a6f57b8ecb61ec17","envName":"默认环境","tenantEnvs":null},{"id":"216674624791091228","code":"232E9186B1BE494E966F27BA7CF33AE2","fullName":"cyq测试","shortName":"cyq测试","envId":"ef3f8ed4792f4ef0a5e7d92af394d29c","envName":"默认环境","tenantEnvs":null},{"id":"216687529947792866","code":"9769454E01304245AEE83CE7E99537A8","fullName":"成本总控报表测试租户","shortName":"成本总控报表测试租户","envId":"5125917072884123bf9fe3966ffa4af2","envName":"默认环境","tenantEnvs":null},{"id":"216661417159402453","code":"216661417159402453","fullName":"科技建筑集团","shortName":"科技建筑集团","envId":"b23d88da977e467cb81dd7fb57de97d0","envName":"默认环境","tenantEnvs":null},{"id":"216281557054332425","code":"216281557054332425","fullName":"BIM材料用量计算","shortName":"BIM材料用量计算","envId":"7501c77b0ccd4b4d912451e5f74c1ba7","envName":"默认环境","tenantEnvs":null},{"id":"1320970534539886592","code":"1320970534539886592","fullName":"碧桂园集团","shortName":"碧桂园集团","envId":"1320970534539886592","envName":"默认环境","tenantEnvs":null}],"loginAppDto":null},"msg":null,"succeed":true}', 'test_result': 'FAIL', 'assert_log': "('FAIL', [{'check_rt': None, '检查项': 86.245, '期望值': 20, '实际值': 86.245, '断言方法': 'lt:实际值小于期望值'}])"}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: write_back, duration:0.073642s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000008s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: set_bif_fun, duration:0.002119s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000007s
|
|
||||||
2023-07-19 22:03:44 | INFO | | 结束调用函数: set_bif_fun, duration:0.002234s
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), None) kwargs:{}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000003s
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), {'Url': '/ibs/api/ibs-lms-base/tvConfig/addTvSequence?t={{get_timestamp()}}', 'Headers': '{"tvSequence":"{{tvSequence}}","Content-Type":"application/json;charset=utf-8","BSP_TOKEN":"{{BSP_TOKEN}}","BSP_USER_TENANT":"{{BSP_USER_TENANT}}"}', 'Query Str': None, 'Request Data Type': 'json', 'Request Data': '{"projectId":"{{projectId}}","tvSequence":"{{random_string()}}"}', 'Response': '', 'Assertion': '', 'Error Log': ''}) kwargs:{}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: get_timestamp | args: () kwargs:{}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: get_timestamp, duration:0.000014s
|
|
||||||
2023-07-19 22:03:45 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.005656s
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: substitute_data | args: (Action(), '{"projectId":"{{projectId}}","tvSequence":"GSovTnbELYHBqzqxCdzZ"}') kwargs:{'jp_dict': '{"tvSequence": "$..tvSequence"}'}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: substitute_data, duration:0.020842s
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), '[{"check":"$.code","comparator":"eq","expect":200},{"check":"$.msg","comparator":"eq","expect":"添加成功"}]') kwargs:{}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000050s
|
|
||||||
2023-07-19 22:03:45 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: write_back | args: (<common.file_handling.do_excel.DoExcel object at 0x0000025F483421C0>,) kwargs:{'sheet_name': 'safe', 'i': 4, 'response': '{"code":"AG_100003","msg":"您的登陆状态已过期,请重新登陆。","showType":2,"succeed":false}', 'test_result': 'FAIL', 'assert_log': "('FAIL', [{'check_rt': None, '检查项': '$.code', '期望值': 200, '实际值': '$.code', '断言方法': 'eq:实际值与期望值相等'}, {'check_rt': None, '检查项': '$.msg', '期望值': '添加成功', '实际值': '$.msg', '断言方法': 'eq:实际值与期望值相等'}])"}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: write_back, duration:0.081924s
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: set_bif_fun | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 调用函数: load_built_in_functions | args: (Action(), <module 'extensions.dynamic_scaling_methods' from 'E:\\apitest\\extensions\\dynamic_scaling_methods.py'>) kwargs:{}
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: load_built_in_functions, duration:0.000009s
|
|
||||||
2023-07-19 22:03:45 | INFO | | 结束调用函数: set_bif_fun, duration:0.002199s
|
|
||||||
2023-07-19 22:03:46 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), None) kwargs:{}
|
|
||||||
2023-07-19 22:03:46 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000003s
|
|
||||||
2023-07-19 22:03:47 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), {'Url': '/ibs/api/ibs-lms-base/tvConfig/listTvSequence?t={{get_timestamp()}}&projectId={{projectId}}', 'Headers': '{"Content-Type":"application/json;charset=utf-8","BSP_TOKEN":"{{BSP_TOKEN}}","BSP_USER_TENANT":"{{BSP_USER_TENANT}}","test":"{{tvSequence}}"}', 'Query Str': None, 'Request Data Type': 'params', 'Request Data': None, 'Response': '', 'Assertion': '', 'Error Log': ''}) kwargs:{}
|
|
||||||
2023-07-19 22:03:47 | INFO | | 调用函数: get_timestamp | args: () kwargs:{}
|
|
||||||
2023-07-19 22:03:47 | INFO | | 结束调用函数: get_timestamp, duration:0.000014s
|
|
||||||
2023-07-19 22:03:47 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:03:47 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.005533s
|
|
||||||
2023-07-19 22:03:47 | INFO | | 调用函数: replace_dependent_parameter | args: (Action(), '{"check":"data.projectId","comparator":"contained_by","expect":"{{projectId}}"}') kwargs:{}
|
|
||||||
2023-07-19 22:03:47 | INFO | | 结束调用函数: replace_dependent_parameter, duration:0.000083s
|
|
||||||
2023-07-19 22:03:47 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:03:47 | INFO | | 调用函数: write_back | args: (<common.file_handling.do_excel.DoExcel object at 0x0000025F483421C0>,) kwargs:{'sheet_name': 'safe', 'i': 5, 'response': '{"code":"AG_100003","msg":"您的登陆状态已过期,请重新登陆。","showType":2,"succeed":false}', 'test_result': 'FAIL', 'assert_log': "('FAIL', [{'check_rt': None, '检查项': 'data.projectId', '期望值': '103654', '实际值': 'data.projectId', '断言方法': 'contained_by:实际值被包含在期望值中'}])"}
|
|
||||||
2023-07-19 22:03:47 | INFO | | 结束调用函数: write_back, duration:0.088302s
|
|
||||||
2023-07-19 22:03:47 | INFO | 所有用例执行完毕
|
|
||||||
2023-07-19 22:13:25 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
name 'check_rt' is not defined
|
|
||||||
2023-07-19 22:13:26 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:13:26 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
name 'check_rt' is not defined
|
|
||||||
2023-07-19 22:13:27 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:13:27 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-19 22:13:27 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
name 'check_rt' is not defined
|
|
||||||
2023-07-19 22:14:00 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 108.67699999999999, '期望值': 20, '实际值': 108.67699999999999, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:14:02 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:14:02 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:14:03 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:14:03 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-19 22:14:03 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:15:57 | ERROR | 提取失败:提取表达式:700,没有提取到对应的值
|
|
||||||
2023-07-19 22:16:56 | ERROR | 提取失败:提取表达式:700,没有提取到对应的值
|
|
||||||
2023-07-19 22:17:30 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 94.92699999999999, '期望值': 20, '实际值': 94.92699999999999, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:17:31 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:17:31 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:17:32 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-19 22:17:32 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-19 22:17:32 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:18:47 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-19 22:27:34 | ERROR | 异常用例: **safe_2_登录_非BIP用户登录**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 114.75200000000001, '期望值': 20, '实际值': 114.75200000000001, '断言方法': 'lt:实际值小于期望值'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:27:36 | ERROR | 提取失败:提取表达式:data.projectId,没有提取到对应的值
|
|
||||||
2023-07-19 22:27:36 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': 'data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-19 22:29:28 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-19 22:29:28 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
|
@ -1,15 +0,0 @@
|
||||||
2023-07-20 23:39:11 | ERROR | 查询异常 sql: select username,password as pwd from user where username ='luoshunwen003';
|
|
||||||
2023-07-20 23:39:11 | ERROR | 数据库操作异常: 'MysqlClient' object has no attribute 'cursor'
|
|
||||||
2023-07-20 23:39:11 | ERROR | | called execute_sql | error: 快看,异常了,别唧唧哇哇,快排查!!: 'MysqlClient' object has no attribute 'cursor'
|
|
||||||
2023-07-20 23:39:11 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-20 23:40:14 | ERROR | 查询异常 sql: select username,password as pwd from lea.user where username ='luoshunwen003';
|
|
||||||
2023-07-20 23:40:14 | ERROR | 数据库操作异常: 'MysqlClient' object has no attribute 'cursor'
|
|
||||||
2023-07-20 23:40:14 | ERROR | | called execute_sql | error: 快看,异常了,别唧唧哇哇,快排查!!: 'MysqlClient' object has no attribute 'cursor'
|
|
||||||
2023-07-20 23:40:14 | ERROR | 被提取对象非字典、非字符串、非列表,不执行jsonpath提取,被提取对象: None
|
|
||||||
2023-07-20 23:40:23 | ERROR | 查询异常 sql: select username,password as pwd from lea.user where username ='luoshunwen003';
|
|
||||||
2023-07-20 23:40:23 | ERROR | 数据库操作异常: 'MysqlClient' object has no attribute 'cursor'
|
|
||||||
2023-07-20 23:40:23 | ERROR | | called execute_sql | error: 快看,异常了,别唧唧哇哇,快排查!!: 'MysqlClient' object has no attribute 'cursor'
|
|
||||||
2023-07-20 23:41:11 | ERROR | 查询异常 sql: select username,password as pwd from lea.user where username ='luoshunwen003';
|
|
||||||
2023-07-20 23:41:11 | ERROR | 数据库操作异常: 'MysqlClient' object has no attribute 'cursor'
|
|
||||||
2023-07-20 23:42:16 | ERROR | 查询异常 sql: select username,password as pwd from lea.user where username ='luoshunwen003';
|
|
||||||
2023-07-20 23:42:16 | ERROR | 数据库操作异常: 'MysqlClient' object has no attribute 'cursor'
|
|
|
@ -1,37 +0,0 @@
|
||||||
2023-07-21 00:15:54 | ERROR | 执行 sql 失败:{'select': {'select_one': "select username,password as pwd from user where username ='luoshunwen003';"}},异常信息:'MysqlClient' object has no attribute 'do_mysql'
|
|
||||||
2023-07-21 00:15:55 | ERROR | key:<re.Match object; span=(102, 116), match='{{tvSequence}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-21 00:15:55 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:15:56 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-21 00:15:56 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:15:56 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:16:39 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:16:39 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:18:28 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:18:28 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:19:03 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:19:03 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:20:12 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:20:12 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:41:18 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:41:18 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:42:07 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:42:07 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:44:24 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:44:24 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:49:16 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:49:16 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-21 00:52:03 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-21 00:52:03 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
|
@ -1,32 +0,0 @@
|
||||||
2023-07-31 20:25:00 | ERROR | key:<re.Match object; span=(184, 197), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-31 20:25:01 | ERROR | 异常用例: **safe_4_劳务基础配置_绑定TV**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.code', '期望值': 200, '实际值': 'AG_100003', '断言方法': 'eq:实际值与期望值相等'}, {'检查项': '$.msg', '期望值': '添加成功', '实际值': '您的登陆状态已过期,请重新登陆。', '断言方法': 'eq:实际值与期望值相等'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-31 20:25:02 | ERROR | key:<re.Match object; span=(171, 184), match='{{BSP_TOKEN}}'>,在关联参数表中查询不到,请检查关联参数字段提取及填写是否正常
|
|
||||||
|
|
||||||
2023-07-31 20:25:02 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 20:25:02 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-31 20:57:50 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 20:57:50 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'FAIL' unexpectedly found in ('FAIL', [{'检查项': '$.data.projectId', '期望值': '103654', '实际值': [], '断言方法': 'contained_by:实际值被包含在期望值中'}]) : FAIL 存在结果元组中
|
|
||||||
2023-07-31 21:16:44 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 21:27:15 | ERROR | | called clear_date | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-31 21:27:16 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-31 21:27:17 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-31 21:27:18 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 21:27:18 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'in <string>' requires string as left operand, not list
|
|
||||||
2023-07-31 21:27:18 | ERROR | | called write_back | error: 快看,异常了,别唧唧哇哇,快排查!!: [Errno 13] Permission denied: 'E:\\apitest\\cases\\cases\\test_api.xlsx'
|
|
||||||
2023-07-31 21:27:57 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 21:27:57 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'in <string>' requires string as left operand, not list
|
|
||||||
2023-07-31 21:32:53 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 21:32:53 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'in <string>' requires string as left operand, not list
|
|
||||||
2023-07-31 21:46:05 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 21:46:05 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'in <string>' requires string as left operand, not list
|
|
||||||
2023-07-31 21:51:08 | ERROR | 提取失败:提取表达式:$.data.projectId,没有提取到对应的值
|
|
||||||
2023-07-31 21:51:08 | ERROR | 异常用例: **safe_5_劳务基础配置_查询配置**
|
|
||||||
'in <string>' requires string as left operand, not list
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
|
@ -22,35 +22,40 @@ from config.field_constants import FieldNames
|
||||||
|
|
||||||
|
|
||||||
@singleton
|
@singleton
|
||||||
class Action(Extractor, LoadScript, Validator):
|
class Action(Extractor, LoadScript, Validator, EncryptData):
|
||||||
def __init__(self, initialize_data=None, db_config=None):
|
def __init__(self, initialize_data=None, db_config=None):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.db_config = db_config
|
self.db_config = db_config
|
||||||
self.encrypt = EncryptData()
|
|
||||||
self.__variables = {}
|
self.__variables = {}
|
||||||
self.set_environments(initialize_data)
|
self.set_environments(initialize_data)
|
||||||
self.set_bif_fun(bif_functions)
|
self.set_bif_fun(bif_functions)
|
||||||
|
|
||||||
@send_request_decorator
|
@send_request_decorator
|
||||||
def send_request(self, host, method, extract_request_data):
|
def send_request(self, host, method, extract_request_data):
|
||||||
|
"""发送请求"""
|
||||||
url, kwargs = self.prepare_request(extract_request_data, self.variables)
|
url, kwargs = self.prepare_request(extract_request_data, self.variables)
|
||||||
self.http_client(host, url, method, **kwargs)
|
self.http_client(host, url, method, **kwargs)
|
||||||
|
|
||||||
def prepare_request(self, extract_request_data, item):
|
def prepare_request(self, extract_request_data, item):
|
||||||
|
"""准备请求数据"""
|
||||||
item = self.replace_dependent_parameter(item)
|
item = self.replace_dependent_parameter(item)
|
||||||
url, query_str, request_data, headers, request_data_type, h_crypto, r_crypto = self.request_info(item)
|
url, query_str, request_data, headers, request_data_type, h_crypto, r_crypto = self.request_info(item)
|
||||||
headers, request_data = self.analysis_request(request_data, h_crypto, headers, r_crypto, extract_request_data)
|
headers, query_str, request_data = self.analysis_request(query_str, request_data, h_crypto, headers, r_crypto,
|
||||||
|
extract_request_data)
|
||||||
kwargs = {request_data_type: request_data, "headers": headers, "params": query_str}
|
kwargs = {request_data_type: request_data, "headers": headers, "params": query_str}
|
||||||
return url, kwargs
|
return url, kwargs
|
||||||
|
|
||||||
def analysis_request(self, request_data, headers_crypto, headers, request_crypto, extract_request_data):
|
def analysis_request(self, query_str, request_data, headers_crypto, headers, request_crypto, extract_request_data):
|
||||||
headers, request_data = self.encrypt.encrypts(headers_crypto, headers, request_crypto, request_data)
|
"""分析请求数据"""
|
||||||
if extract_request_data is not None and request_data is not None:
|
headers, request_data = self.encrypts(headers_crypto, headers, request_crypto, request_data)
|
||||||
self.substitute_data(request_data, jp_dict=extract_request_data)
|
if extract_request_data:
|
||||||
return headers, request_data
|
for data in (query_str, request_data):
|
||||||
|
if data:
|
||||||
|
self.substitute_data(data, jp_dict=extract_request_data)
|
||||||
|
return headers, query_str, request_data
|
||||||
|
|
||||||
def exc_sql(self, item):
|
def exc_sql(self, item):
|
||||||
|
"""执行sql处理"""
|
||||||
sql, sql_params_dict = self.sql_info(item)
|
sql, sql_params_dict = self.sql_info(item)
|
||||||
self.variables = item
|
self.variables = item
|
||||||
sql = self.replace_dependent_parameter(sql)
|
sql = self.replace_dependent_parameter(sql)
|
||||||
|
@ -62,6 +67,7 @@ class Action(Extractor, LoadScript, Validator):
|
||||||
self.substitute_data(execute_sql_results, jp_dict=sql_params_dict)
|
self.substitute_data(execute_sql_results, jp_dict=sql_params_dict)
|
||||||
|
|
||||||
def analysis_response(self, sheet, iid, name, desc, regex, keys, deps, jp_dict):
|
def analysis_response(self, sheet, iid, name, desc, regex, keys, deps, jp_dict):
|
||||||
|
"""分析响应结果并提取响应"""
|
||||||
try:
|
try:
|
||||||
self.substitute_data(self.response_json, regex=regex, keys=keys, deps=deps, jp_dict=jp_dict)
|
self.substitute_data(self.response_json, regex=regex, keys=keys, deps=deps, jp_dict=jp_dict)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
|
@ -74,6 +80,7 @@ class Action(Extractor, LoadScript, Validator):
|
||||||
ParameterExtractionError(msg, err)
|
ParameterExtractionError(msg, err)
|
||||||
|
|
||||||
def execute_validation(self, excel, sheet, iid, name, desc, expected):
|
def execute_validation(self, excel, sheet, iid, name, desc, expected):
|
||||||
|
"""执行断言校验"""
|
||||||
expected = self.replace_dependent_parameter(expected)
|
expected = self.replace_dependent_parameter(expected)
|
||||||
try:
|
try:
|
||||||
self.run_validate(expected, self.response_json)
|
self.run_validate(expected, self.response_json)
|
||||||
|
@ -90,6 +97,7 @@ class Action(Extractor, LoadScript, Validator):
|
||||||
excel.write_back(sheet_name=sheet, i=iid, response=response, result=result, assertions=str(self.assertions))
|
excel.write_back(sheet_name=sheet, i=iid, response=response, result=result, assertions=str(self.assertions))
|
||||||
|
|
||||||
def execute_dynamic_code(self, item, code):
|
def execute_dynamic_code(self, item, code):
|
||||||
|
|
||||||
self.variables = item
|
self.variables = item
|
||||||
if code is not None:
|
if code is not None:
|
||||||
try:
|
try:
|
|
@ -7,37 +7,48 @@
|
||||||
@time: 2023/6/16 15:43
|
@time: 2023/6/16 15:43
|
||||||
@desc:
|
@desc:
|
||||||
"""
|
"""
|
||||||
from common.crypto.encryption_rsa import Rsa
|
import json
|
||||||
|
|
||||||
|
import encryption_rules
|
||||||
from common.utils.exceptions import EncryptionError
|
from common.utils.exceptions import EncryptionError
|
||||||
from encryption_rules import rules
|
from common.validation.loaders import Loaders
|
||||||
|
|
||||||
|
|
||||||
class EncryptData:
|
class EncryptData(Loaders):
|
||||||
"""
|
"""
|
||||||
数据加密入口
|
数据加密入口
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def encrypts(self, headers_crypto, headers, request_data_crypto, request_data):
|
def __init__(self):
|
||||||
encryption_methods = {
|
super().__init__()
|
||||||
"MD5": rules.md5_sign,
|
|
||||||
"sha1": rules.sha1_sign,
|
|
||||||
"rsa": lambda data: Rsa(data).rsa_encrypt()
|
|
||||||
}
|
|
||||||
|
|
||||||
if headers_crypto:
|
def encrypts(self, headers_crypto, headers, request_data_crypto, request_data):
|
||||||
|
encryption_methods = self.load_built_in_functions(encryption_rules)
|
||||||
|
# 请求头加密
|
||||||
encrypt_func = encryption_methods.get(headers_crypto)
|
encrypt_func = encryption_methods.get(headers_crypto)
|
||||||
if encrypt_func:
|
# 请求头有值的时候才加密
|
||||||
|
if encrypt_func is not None and headers:
|
||||||
try:
|
try:
|
||||||
|
headers = headers if isinstance(headers, dict) else json.loads(headers)
|
||||||
headers = encrypt_func(headers)
|
headers = encrypt_func(headers)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
EncryptionError(headers_crypto, e)
|
EncryptionError(headers_crypto, e)
|
||||||
|
# 请求体加密
|
||||||
if request_data_crypto:
|
|
||||||
encrypt_func = encryption_methods.get(request_data_crypto)
|
encrypt_func = encryption_methods.get(request_data_crypto)
|
||||||
if encrypt_func:
|
# 请求参数有值的时候才加密
|
||||||
|
if encrypt_func and request_data:
|
||||||
try:
|
try:
|
||||||
|
print("request_data", request_data)
|
||||||
|
request_data = request_data if isinstance(request_data, dict) else json.loads(request_data)
|
||||||
request_data = encrypt_func(request_data)
|
request_data = encrypt_func(request_data)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
EncryptionError(request_data_crypto, e)
|
EncryptionError(request_data_crypto, e)
|
||||||
|
|
||||||
return headers, request_data
|
return headers, request_data
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
enc = EncryptData()
|
||||||
|
header = {'Content-Type': 'application/json;charset=utf-8', 'token': 'QpwL5tke4Pnpja7X4'}
|
||||||
|
res = enc.encrypts("md5_sign", header, None, None)
|
||||||
|
print(res)
|
||||||
|
|
|
@ -3,9 +3,9 @@ import base64
|
||||||
import pytesseract
|
import pytesseract
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
|
|
||||||
"""base64信息转图片与图片转base64"""
|
"""base64信息转图片与图片转base64"""
|
||||||
|
|
||||||
|
|
||||||
def base64_to_img(byte_str, file_path):
|
def base64_to_img(byte_str, file_path):
|
||||||
imgdata = base64.b64decode(byte_str)
|
imgdata = base64.b64decode(byte_str)
|
||||||
with open(file_path, 'wb') as f:
|
with open(file_path, 'wb') as f:
|
||||||
|
|
|
@ -123,6 +123,7 @@ if __name__ == '__main__':
|
||||||
"ft": "{{fk().ean(length=13)}}",
|
"ft": "{{fk().ean(length=13)}}",
|
||||||
"st": "{{ms_fmt_hms(2000)}}",
|
"st": "{{ms_fmt_hms(2000)}}",
|
||||||
"time": "{{random_id_card()}}",
|
"time": "{{random_id_card()}}",
|
||||||
|
"x":'{"a":"b","c":"{{get_timestamp()}}"}'
|
||||||
}
|
}
|
||||||
ret = loader.replace_dependent_parameter(dat)
|
ret = loader.replace_dependent_parameter(dat)
|
||||||
print(ret)
|
print(ret)
|
||||||
|
|
|
@ -31,6 +31,7 @@ class HttpClient(LoadModulesFromFolder):
|
||||||
self.request = None
|
self.request = None
|
||||||
self.response = None
|
self.response = None
|
||||||
self.response_json = None
|
self.response_json = None
|
||||||
|
self.files = []
|
||||||
|
|
||||||
@request_retry_on_exception()
|
@request_retry_on_exception()
|
||||||
def http_client(self, host, url, method, **kwargs):
|
def http_client(self, host, url, method, **kwargs):
|
||||||
|
@ -44,23 +45,35 @@ class HttpClient(LoadModulesFromFolder):
|
||||||
"""
|
"""
|
||||||
# 关闭 https 警告信息
|
# 关闭 https 警告信息
|
||||||
urllib3.disable_warnings()
|
urllib3.disable_warnings()
|
||||||
self.request = None
|
kwargs = self.processing_data(host, url, method, **kwargs)
|
||||||
self.response = None
|
|
||||||
|
# 发送请求
|
||||||
|
self.request = requests.Request(**kwargs)
|
||||||
|
self.response = self.session.send(self.request.prepare(), timeout=(15, 20), verify=True)
|
||||||
|
# 关闭文件
|
||||||
|
[i.close() for i in self.files if len(self.files) > 0]
|
||||||
|
|
||||||
|
self.post_response()
|
||||||
|
|
||||||
|
return self.response
|
||||||
|
|
||||||
|
def processing_data(self, host, url, method, **kwargs):
|
||||||
|
kwargs["method"] = method
|
||||||
if not url:
|
if not url:
|
||||||
raise ValueError("URL cannot be None")
|
raise ValueError("URL cannot be None")
|
||||||
__url = f'{host}{url}' if not re.match(r"https?", url) else url
|
__url = f'{host}{url}' if not re.match(r"https?", url) else url
|
||||||
|
kwargs["url"] = __url
|
||||||
# 增加兼容
|
# 兼容处理 headers 参数为字符串类型的情况
|
||||||
# 处理 headers 参数为字符串类型的情况
|
|
||||||
if 'headers' in kwargs and isinstance(kwargs['headers'], str):
|
if 'headers' in kwargs and isinstance(kwargs['headers'], str):
|
||||||
kwargs['headers'] = json.loads(kwargs['headers'])
|
kwargs['headers'] = json.loads(kwargs['headers'])
|
||||||
|
|
||||||
# 处理 json 参数为字符串类型的情况
|
# 兼容处理 json 参数为字符串类型的情况
|
||||||
if 'json' in kwargs and isinstance(kwargs['json'], str):
|
if 'json' in kwargs and isinstance(kwargs['json'], str):
|
||||||
kwargs['json'] = json.loads(kwargs['json'])
|
kwargs['json'] = json.loads(kwargs['json'])
|
||||||
|
|
||||||
|
kwargs['params'] = json.loads(kwargs['params']) if isinstance(kwargs['params'], str) else None
|
||||||
|
|
||||||
# 处理 files 参数的情况
|
# 处理 files 参数的情况
|
||||||
fs = []
|
|
||||||
if 'files' in kwargs:
|
if 'files' in kwargs:
|
||||||
file_paths = kwargs['files']
|
file_paths = kwargs['files']
|
||||||
if isinstance(file_paths, str):
|
if isinstance(file_paths, str):
|
||||||
|
@ -71,34 +84,32 @@ class HttpClient(LoadModulesFromFolder):
|
||||||
file_type = mimetypes.guess_type(file_path)[0]
|
file_type = mimetypes.guess_type(file_path)[0]
|
||||||
file_path_completion = file_utils.get_file_path(file_path)
|
file_path_completion = file_utils.get_file_path(file_path)
|
||||||
f = open(file_path_completion, 'rb')
|
f = open(file_path_completion, 'rb')
|
||||||
fs.append(f)
|
self.files.append(f)
|
||||||
files.append(
|
files.append(
|
||||||
('file', (f'{file_path}', f, file_type))
|
('file', (f'{file_path}', f, file_type))
|
||||||
)
|
)
|
||||||
kwargs['files'] = files
|
kwargs['files'] = files
|
||||||
|
return kwargs
|
||||||
|
|
||||||
# 发送请求
|
def post_response(self):
|
||||||
self.request = requests.Request(method, __url, **kwargs)
|
# 处理响应结果
|
||||||
self.response = self.session.send(self.request.prepare(), timeout=30, verify=True)
|
|
||||||
[i.close() for i in fs if len(fs) > 0]
|
|
||||||
try:
|
|
||||||
self.response_json = self.response.json()
|
|
||||||
self.update_environments("responseStatusCode", self.response.status_code)
|
self.update_environments("responseStatusCode", self.response.status_code)
|
||||||
self.update_environments("responseTime", round(self.response.elapsed.total_seconds() * 1000, 2))
|
self.update_environments("responseTime", round(self.response.elapsed.total_seconds() * 1000, 2))
|
||||||
|
try:
|
||||||
|
self.response_json = self.response.json()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
ResponseJsonConversionError(self.response.text, str(e))
|
ResponseJsonConversionError(self.response.text, str(e))
|
||||||
self.response_json = None
|
self.response_json = None
|
||||||
return self.response
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
hst = 'https://kkk.ll.com'
|
hst = 'https://kkk.ll.com'
|
||||||
url = '/bsp/test/'
|
ul = '/bsp/test/'
|
||||||
method = 'post'
|
meth = 'post'
|
||||||
kwargs = {
|
kwarg = {
|
||||||
'headers': {},
|
'headers': {},
|
||||||
'data': {},
|
'data': {},
|
||||||
'files': ['test.txt']
|
'files': ['test.txt']
|
||||||
}
|
}
|
||||||
pyt = HttpClient()
|
pyt = HttpClient()
|
||||||
pyt.http_client(hst, url, method, **kwargs)
|
pyt.http_client(hst, ul, meth, **kwarg)
|
||||||
|
|
|
@ -11,11 +11,13 @@ from time import perf_counter
|
||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
|
from common.utils.decorators import singleton
|
||||||
from config.config import Config
|
from config.config import Config
|
||||||
|
|
||||||
LOG_DIR = Config.LOG_PATH
|
LOG_DIR = Config.LOG_PATH
|
||||||
|
|
||||||
|
|
||||||
|
@singleton
|
||||||
class MyLogger:
|
class MyLogger:
|
||||||
"""
|
"""
|
||||||
根据时间、文件大小切割日志
|
根据时间、文件大小切割日志
|
||||||
|
|
|
@ -9,8 +9,3 @@
|
||||||
"""
|
"""
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# sys.path.append('../../common')
|
|
||||||
|
|
||||||
# from common.utils.mylogger import MyLogger
|
|
||||||
#
|
|
||||||
# logger = MyLogger()
|
|
||||||
|
|
|
@ -14,8 +14,6 @@ from functools import wraps
|
||||||
|
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from common.utils.exceptions import RequestSendingError
|
|
||||||
|
|
||||||
|
|
||||||
def singleton(cls):
|
def singleton(cls):
|
||||||
"""
|
"""
|
||||||
|
@ -36,6 +34,7 @@ def singleton(cls):
|
||||||
|
|
||||||
def request_retry_on_exception(retries=2, delay=1.5):
|
def request_retry_on_exception(retries=2, delay=1.5):
|
||||||
"""Retry on Failed Requests"""
|
"""Retry on Failed Requests"""
|
||||||
|
from common.utils.exceptions import RequestSendingError
|
||||||
|
|
||||||
def request_decorator(func):
|
def request_decorator(func):
|
||||||
e = None
|
e = None
|
||||||
|
@ -43,9 +42,12 @@ def request_retry_on_exception(retries=2, delay=1.5):
|
||||||
@wraps(func)
|
@wraps(func)
|
||||||
def wrapper(*args, **kwargs):
|
def wrapper(*args, **kwargs):
|
||||||
nonlocal e
|
nonlocal e
|
||||||
|
|
||||||
for i in range(retries):
|
for i in range(retries):
|
||||||
|
# st = time.time()
|
||||||
try:
|
try:
|
||||||
response = func(*args, **kwargs)
|
response = func(*args, **kwargs)
|
||||||
|
# print(f"| 代码耗时--> {time.time() - st}")
|
||||||
print(f"| 请求地址 --> {response.request.url}")
|
print(f"| 请求地址 --> {response.request.url}")
|
||||||
print(f"| 请求方法 --> {response.request.method}")
|
print(f"| 请求方法 --> {response.request.method}")
|
||||||
print(f"| 请求头 --> {response.request.headers}")
|
print(f"| 请求头 --> {response.request.headers}")
|
||||||
|
@ -54,12 +56,13 @@ def request_retry_on_exception(retries=2, delay=1.5):
|
||||||
print(f"| 接口耗时--> {response.elapsed}")
|
print(f"| 接口耗时--> {response.elapsed}")
|
||||||
print(f"| 接口响应--> {response.text}")
|
print(f"| 接口响应--> {response.text}")
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
print(f"| 第{i + 1}次请求参数:{args} -- {kwargs}")
|
print(f"| 第{i + 1}次请求参数=【{args}__{kwargs}】")
|
||||||
|
# print(f"| 代码耗时--> {time.time() - st}")
|
||||||
e = error
|
e = error
|
||||||
time.sleep(delay)
|
time.sleep(delay)
|
||||||
else:
|
else:
|
||||||
return response
|
return response
|
||||||
raise RequestSendingError(kwargs, e)
|
raise RequestSendingError(f"{args}__{kwargs}", e)
|
||||||
|
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,9 @@ class Environments:
|
||||||
METHOD_NAME_MATCHER = re.compile(r"\.(\w+)\([^)]*\)") # 匹配函数调用中的方法名 {{.func()}} 中的 func
|
METHOD_NAME_MATCHER = re.compile(r"\.(\w+)\([^)]*\)") # 匹配函数调用中的方法名 {{.func()}} 中的 func
|
||||||
ARGS_MATCHER = re.compile(r'\(([^)]*)\)') # 匹配函数调用中的参数列表 {{func(arg1, arg2, ...)}}
|
ARGS_MATCHER = re.compile(r'\(([^)]*)\)') # 匹配函数调用中的参数列表 {{func(arg1, arg2, ...)}}
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def update_environments(cls, key, value):
|
def update_environments(cls, key, value):
|
||||||
"""更新依赖表"""
|
"""更新依赖表"""
|
||||||
|
|
|
@ -139,3 +139,7 @@ class EncryptionError(MyBaseException):
|
||||||
def __init__(self, method_name, error_message):
|
def __init__(self, method_name, error_message):
|
||||||
msg = f"加密失败异常: 加密方法={method_name} 原因={error_message}"
|
msg = f"加密失败异常: 加密方法={method_name} 原因={error_message}"
|
||||||
super().__init__(msg)
|
super().__init__(msg)
|
||||||
|
self.logger.error(msg)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
raise EncryptionError("111","222")
|
|
@ -25,6 +25,7 @@ class Extractor:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
self.output_variables_mapping = {}
|
self.output_variables_mapping = {}
|
||||||
|
|
||||||
def uniform_output(self, output_variables):
|
def uniform_output(self, output_variables):
|
||||||
|
|
|
@ -20,6 +20,10 @@ sys.path.append('../utils')
|
||||||
|
|
||||||
|
|
||||||
class LoadScript:
|
class LoadScript:
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
|
||||||
def load_script(self, script_path):
|
def load_script(self, script_path):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -59,12 +59,15 @@ class Loaders(HttpClient):
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
from common.bif_functions import bif_faker
|
from common.bif_functions import bif_faker
|
||||||
import extensions
|
import extensions
|
||||||
|
import encryption_rules
|
||||||
print()
|
from encryption_rules import rules
|
||||||
|
# print()
|
||||||
loaders = Loaders()
|
loaders = Loaders()
|
||||||
loaders.load_built_in_comparators()
|
res = loaders.load_built_in_functions(rules)
|
||||||
loaders.set_bif_fun(bif_faker)
|
print(res)
|
||||||
print(loaders.get_environments())
|
# loaders.load_built_in_comparators()
|
||||||
|
# loaders.set_bif_fun(bif_faker)
|
||||||
loaders.set_bif_fun(extensions)
|
# print(loaders.get_environments())
|
||||||
print(loaders.get_environments())
|
#
|
||||||
|
# loaders.set_bif_fun(extensions)
|
||||||
|
# print(loaders.get_environments())
|
||||||
|
|
|
@ -105,7 +105,8 @@ class Validator(Loaders):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
if not validate_variables:
|
if not validate_variables:
|
||||||
return ""
|
self.assertions = '未填写断言信息,默认断言通过!!!'
|
||||||
|
return
|
||||||
self.validate_variables_list.clear()
|
self.validate_variables_list.clear()
|
||||||
self.assertions.clear()
|
self.assertions.clear()
|
||||||
self.uniform_validate(validate_variables)
|
self.uniform_validate(validate_variables)
|
||||||
|
|
|
@ -18,9 +18,9 @@ class Config:
|
||||||
PARENT_DIR = os.path.dirname(BASE_URL)
|
PARENT_DIR = os.path.dirname(BASE_URL)
|
||||||
|
|
||||||
# 测试数据所在路径
|
# 测试数据所在路径
|
||||||
TEMPLATES = os.path.join(PARENT_DIR, "cases", "templates", "template.xlsx") # 用例模板文件
|
TEMPLATES = os.path.join(PARENT_DIR, "src", "templates", "template.xlsx") # 用例模板文件
|
||||||
TEST_CASE = os.path.join(PARENT_DIR, "cases", "cases", "test_cases.xlsx")
|
TEST_CASE = os.path.join(PARENT_DIR, "src", "cases", "test_cases.xlsx")
|
||||||
TEST_FILES = os.path.join(PARENT_DIR, 'cases', 'files') # 用来上传文件的文件夹
|
TEST_FILES = os.path.join(PARENT_DIR, 'src', 'files') # 用来上传文件的文件夹
|
||||||
|
|
||||||
# 测试用例脚本目录
|
# 测试用例脚本目录
|
||||||
SCRIPT = os.path.join(PARENT_DIR, "test_script")
|
SCRIPT = os.path.join(PARENT_DIR, "test_script")
|
||||||
|
|
|
@ -7,3 +7,4 @@
|
||||||
@time: 2023/8/1 17:07
|
@time: 2023/8/1 17:07
|
||||||
@desc:
|
@desc:
|
||||||
"""
|
"""
|
||||||
|
from .rules import *
|
||||||
|
|
|
@ -12,22 +12,24 @@ import time
|
||||||
|
|
||||||
from natsort import natsorted
|
from natsort import natsorted
|
||||||
|
|
||||||
__all__ = ["md5_sign", "sha1_sign"]
|
__all__ = ["md5_sign", "sha1_sign", "rsa_sign"]
|
||||||
|
|
||||||
from common.crypto.encryption_str import sha1_secret_str, md5
|
from common.crypto.encryption_str import sha1_secret_str, md5
|
||||||
|
from common.crypto.encryption_rsa import Rsa
|
||||||
|
|
||||||
|
|
||||||
def md5_sign(data: dict):
|
def md5_sign(post_data: dict):
|
||||||
"""
|
"""
|
||||||
数据加签
|
MD5 数据加签
|
||||||
Args:
|
Args:
|
||||||
**data:需要加钱的数据DD
|
**data:需要加钱的数据DD
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
print(f"开始执行md5_sign加密,待加密参数={post_data}")
|
||||||
sorted_list = []
|
sorted_list = []
|
||||||
for key, value in data.items():
|
for key, value in post_data.items():
|
||||||
try:
|
try:
|
||||||
sorted_params = str(key) + str(value)
|
sorted_params = str(key) + str(value)
|
||||||
sorted_list.append(sorted_params)
|
sorted_list.append(sorted_params)
|
||||||
|
@ -37,12 +39,14 @@ def md5_sign(data: dict):
|
||||||
argument = "加签所需要的密钥"
|
argument = "加签所需要的密钥"
|
||||||
keystore = argument + ("".join(sort)) # 生成加带密钥的新字符串
|
keystore = argument + ("".join(sort)) # 生成加带密钥的新字符串
|
||||||
sign_value = md5(keystore)
|
sign_value = md5(keystore)
|
||||||
return {**data, **{"sign": sign_value}}
|
return {**post_data, **{"sign": sign_value}}
|
||||||
|
|
||||||
|
|
||||||
def sha1_sign(post_data: dict):
|
def sha1_sign(post_data: dict):
|
||||||
|
"""sha1 加密"""
|
||||||
|
print(f"开始执行sha1_sign加密,待加密参数={post_data}")
|
||||||
timestamp = int(round(time.time() * 1000)) # 毫秒级时间戳
|
timestamp = int(round(time.time() * 1000)) # 毫秒级时间戳
|
||||||
argument = {"secretKey": "", "timestamp": timestamp} # 加密加盐参数
|
argument = {"secretKey": "xxxx", "timestamp": timestamp} # 加密加盐参数
|
||||||
res = {**post_data, **argument}
|
res = {**post_data, **argument}
|
||||||
sorted_list = []
|
sorted_list = []
|
||||||
for key, value in res.items():
|
for key, value in res.items():
|
||||||
|
@ -59,3 +63,9 @@ def sha1_sign(post_data: dict):
|
||||||
encrypted_str = sha1_secret_str(splicing_str) # sha1加密
|
encrypted_str = sha1_secret_str(splicing_str) # sha1加密
|
||||||
sign = {"signature": encrypted_str}
|
sign = {"signature": encrypted_str}
|
||||||
return {**res, **sign} # request 中使用json入参,则传dict
|
return {**res, **sign} # request 中使用json入参,则传dict
|
||||||
|
|
||||||
|
|
||||||
|
def rsa_sign(post_data):
|
||||||
|
"""rsa 加密"""
|
||||||
|
rs = Rsa(post_data)
|
||||||
|
return rs.rsa_encrypt()
|
||||||
|
|
|
@ -44,8 +44,8 @@ class ExcelConverter:
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
postman_to_json = r'.\data\temporary_file\postman.json' # postman导出的json文件
|
postman_to_json = r'.\data\temporary_file\postman.json' # postman导出的json文件
|
||||||
postman_out_file = os.path.join(Config.BASE_URL, 'cases', 'test_cases', 'test_postman_cases.xlsx') # 转化后的文件保存的位置
|
postman_out_file = os.path.join(Config.BASE_URL, 'src', 'test_cases', 'test_postman_cases.xlsx') # 转化后的文件保存的位置
|
||||||
openapi_to_json = r'.\data\temporary_file\openapi.json' # postman导出的json文件
|
openapi_to_json = r'.\data\temporary_file\openapi.json' # postman导出的json文件
|
||||||
openapi_out_file = os.path.join(Config.BASE_URL, 'cases', 'test_cases', 'test_openapi_cases.xlsx') # 转化后的文件保存的位置
|
openapi_out_file = os.path.join(Config.BASE_URL, 'src', 'test_cases', 'test_openapi_cases.xlsx') # 转化后的文件保存的位置
|
||||||
ExcelConverter('postman', postman_to_json, postman_out_file).main()
|
ExcelConverter('postman', postman_to_json, postman_out_file).main()
|
||||||
ExcelConverter('postman', openapi_to_json, openapi_out_file).main()
|
ExcelConverter('postman', openapi_to_json, openapi_out_file).main()
|
||||||
|
|
File diff suppressed because one or more lines are too long
7
run.py
7
run.py
|
@ -9,7 +9,7 @@ import unittest
|
||||||
|
|
||||||
sys.path.append("./common")
|
sys.path.append("./common")
|
||||||
sys.path.append("./")
|
sys.path.append("./")
|
||||||
sys.path.append('cases')
|
sys.path.append('src')
|
||||||
|
|
||||||
from config.config import Config
|
from config.config import Config
|
||||||
from common.core.testRunner import TestRunner
|
from common.core.testRunner import TestRunner
|
||||||
|
@ -19,15 +19,12 @@ from common.utils.decorators import install_dependencies
|
||||||
@install_dependencies
|
@install_dependencies
|
||||||
def run():
|
def run():
|
||||||
test_report = Config.TEST_REPORT
|
test_report = Config.TEST_REPORT
|
||||||
print(Config.BASE_URL)
|
|
||||||
print(test_report)
|
|
||||||
print(Config.SCRIPT)
|
|
||||||
|
|
||||||
test_case = unittest.defaultTestLoader.discover(Config.SCRIPT, pattern="test_*.py")
|
test_case = unittest.defaultTestLoader.discover(Config.SCRIPT, pattern="test_*.py")
|
||||||
runner = TestRunner(test_case, report_dir=test_report, title="接口自动化测试报告", templates=2, tester="kira",
|
runner = TestRunner(test_case, report_dir=test_report, title="接口自动化测试报告", templates=2, tester="kira",
|
||||||
desc="自动化测试")
|
desc="自动化测试")
|
||||||
runner.run()
|
runner.run()
|
||||||
# # get_failed_test_cases = runner.get_failed_test_cases()
|
# # get_failed_test_cases = runner.get_failed_test_cases()
|
||||||
|
# 发送通知
|
||||||
# runner.email_notice()
|
# runner.email_notice()
|
||||||
runner.dingtalk_notice()
|
runner.dingtalk_notice()
|
||||||
runner.weixin_notice()
|
runner.weixin_notice()
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -12,7 +12,7 @@ import unittest
|
||||||
import extensions
|
import extensions
|
||||||
from common.core.dataDriver import ddt
|
from common.core.dataDriver import ddt
|
||||||
from common.file_handling.do_excel import DoExcel
|
from common.file_handling.do_excel import DoExcel
|
||||||
from common.utils.action import Action
|
from common.core.action import Action
|
||||||
from common.utils.decorators import list_data
|
from common.utils.decorators import list_data
|
||||||
from config.config import Config
|
from config.config import Config
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue