Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
泰斯特Test
Taisite-Platform
提交
942e066d
T
Taisite-Platform
项目概览
泰斯特Test
/
Taisite-Platform
8 个月 前同步成功
通知
121
Star
28
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Taisite-Platform
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
942e066d
编写于
9月 12, 2020
作者:
泰斯特Test
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[fix]修复html正则验证
上级
337343a2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
38 addition
and
1 deletion
+38
-1
backend/testframe/interfaceTest/tester.py
backend/testframe/interfaceTest/tester.py
+38
-1
未找到文件。
backend/testframe/interfaceTest/tester.py
浏览文件 @
942e066d
...
@@ -246,8 +246,45 @@ class tester:
...
@@ -246,8 +246,45 @@ class tester:
is_check_res_number_valid
=
isinstance
(
test_case
.
get
(
'checkResponseNumber'
),
list
)
and
\
is_check_res_number_valid
=
isinstance
(
test_case
.
get
(
'checkResponseNumber'
),
list
)
and
\
len
(
list
(
filter
(
lambda
x
:
str
(
x
.
get
(
'expressions'
).
get
(
'expectResult'
)).
strip
()
len
(
list
(
filter
(
lambda
x
:
str
(
x
.
get
(
'expressions'
).
get
(
'expectResult'
)).
strip
()
==
''
,
test_case
.
get
(
'checkResponseNumber'
))))
<
1
==
''
,
test_case
.
get
(
'checkResponseNumber'
))))
<
1
if
is_check_res_data_valid
:
if
'checkResponseData'
in
test_case
and
not
test_case
[
'checkResponseData'
]
in
[[],
{},
""
,
None
]:
if
not
isinstance
(
test_case
[
'checkResponseData'
],
list
):
raise
TypeError
(
'checkResponseData must be list!'
)
for
index
,
crd
in
enumerate
(
test_case
[
'checkResponseData'
]):
if
not
isinstance
(
crd
,
dict
)
or
'regex'
not
in
crd
or
'query'
not
in
crd
or
\
not
isinstance
(
crd
[
'regex'
],
str
)
or
not
isinstance
(
crd
[
'query'
],
list
):
raise
TypeError
(
'checkResponseData is not valid!'
)
# TODO 可开启/关闭 全局替换
test_case
[
'checkResponseData'
][
index
][
'regex'
]
=
\
common
.
resolve_global_var
(
pre_resolve_var
=
crd
[
'regex'
],
global_var_dic
=
self
.
global_vars
)
if
\
crd
.
get
(
'regex'
)
and
isinstance
(
crd
.
get
(
'regex'
),
str
)
else
''
# 警告!python判断空字符串为False
check_response_data
=
test_case
[
'checkResponseData'
]
if
check_response_data
:
try
:
for
crd
in
check_response_data
:
regex
=
crd
[
'regex'
]
if
regex
.
strip
()
==
''
:
continue
query
=
crd
[
'query'
]
# query 支持全局变量替换
for
index
,
single_query
in
enumerate
(
query
):
query
[
index
]
=
common
.
resolve_global_var
(
pre_resolve_var
=
single_query
,
global_var_dic
=
self
.
global_vars
)
result
=
re
.
search
(
regex
,
str
(
response
.
text
))
# python 将regex字符串取了r''(原生字符串)
if
not
result
:
returned_data
[
"status"
]
=
'failed'
returned_data
[
"testConclusion"
].
append
(
'判断响应值错误(查询语句为: %s), 响应值应满足正则: <%s>,
\
实际值: <%s> (%s)。(正则匹配时会将数据转化成string)
\t
'
%
(
query
,
regex
,
response
.
text
,
type
(
response
.
text
)))
except
BaseException
as
e
:
returned_data
[
"status"
]
=
'failed'
returned_data
[
"testConclusion"
].
append
(
'判断响应值时报错, 错误信息: <%s>。
\t
'
%
e
)
# TODO 目前默认当 is_check_res_similarity_valid 和 is_check_res_number_valid 为真时,返回格式必须可转 json ,可优化
# TODO 目前默认当 is_check_res_similarity_valid 和 is_check_res_number_valid 为真时,返回格式必须可转 json ,可优化
is_test_failed
=
is_check_res_
data_valid
or
is_check_res_
number_valid
or
is_check_res_similarity_valid
is_test_failed
=
is_check_res_number_valid
or
is_check_res_similarity_valid
returned_data
[
'status'
]
=
'failed'
if
is_test_failed
else
'ok'
returned_data
[
'status'
]
=
'failed'
if
is_test_failed
else
'ok'
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录