Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zentaoatf
提交
e6624724
Z
zentaoatf
项目概览
易企天创
/
zentaoatf
11 个月 前同步成功
通知
11
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zentaoatf
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e6624724
编写于
3月 24, 2023
作者:
Z
zhaoke
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'main' of github.com:easysoft/zentaoatf
上级
89ac6e0c
1a866870
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
80 addition
and
35 deletion
+80
-35
demo/t/1_simple.php
demo/t/1_simple.php
+1
-1
demo/t/2.exp
demo/t/2.exp
+7
-0
demo/t/2.php
demo/t/2.php
+28
-0
demo/t/9_new_format.php
demo/t/9_new_format.php
+5
-5
internal/pkg/helper/script/generator.go
internal/pkg/helper/script/generator.go
+15
-15
internal/pkg/helper/script/parser.go
internal/pkg/helper/script/parser.go
+23
-14
internal/pkg/helper/zentao/case.go
internal/pkg/helper/zentao/case.go
+1
-0
未找到文件。
demo/t/1_simple.php
浏览文件 @
e6624724
...
...
@@ -3,7 +3,7 @@
/**
title = simple demo
cid=
1
cid=
3
pid=1
step1 >> expect 1
...
...
demo/t/2.exp
0 → 100644
浏览文件 @
e6624724
期待结果1
期待结果2.1
{
期待结果2.2-1
期待结果2.2-2
}
期待结果3
\ No newline at end of file
demo/t/2.php
0 → 100755
浏览文件 @
e6624724
#!/usr/bin/env php
<?php
/**
title=测试用例标题
cid=2
- 步骤1 @
- 步骤2
- 子步骤2.1 @
- 子步骤2.2 @
- 步骤3
- 步骤4 @
*/
print
(
"@期待结果1
\n
"
);
print
(
"@期待结果2.1
\n
"
);
print
(
"@{\n"
);
print
(
"期待结果2.2-1
\n
"
);
print
(
"期待结果2.2-2
\n
"
);
print
(
"}
\n
"
);
print
(
"@期待结果3
\n
"
);
?>
\ No newline at end of file
demo/t/9_new_format.php
浏览文件 @
e6624724
...
...
@@ -3,12 +3,12 @@
/**
测试用例标题 #
2
测试用例标题 #
1
- 步骤1 @期待结果1
- 步骤2
- 子步骤2.1 @{
期待结果2.1.
1
期待结果2.1.
2
期待结果2.1-
1
期待结果2.1-
2
}
- 子步骤2.2 @期待结果2.2
...
...
@@ -19,8 +19,8 @@
print
(
"@期待结果1
\n
"
);
print
(
"@{\n"
);
print
(
"期待结果2.1
.
1
\n
"
);
print
(
"期待结果2.1
.
2
\n
"
);
print
(
"期待结果2.1
-
1
\n
"
);
print
(
"期待结果2.1
-
2
\n
"
);
print
(
"}
\n
"
);
print
(
"@期待结果2.2
\n
"
);
...
...
internal/pkg/helper/script/generator.go
浏览文件 @
e6624724
...
...
@@ -49,7 +49,7 @@ func GenerateScript(cs commDomain.ZtfCase, langType string, independentFile bool
targetDir
string
,
byModule
bool
)
(
scriptPath
string
,
err
error
)
{
caseId
:=
cs
.
Id
productId
:=
cs
.
Product
//
productId := cs.Product
moduleId
:=
cs
.
Module
caseTitle
:=
cs
.
Title
...
...
@@ -72,9 +72,9 @@ func GenerateScript(cs commDomain.ZtfCase, langType string, independentFile bool
i118Utils
.
Sprintf
(
"find_example"
,
consts
.
FilePthSep
,
langType
))
info
=
append
(
info
,
fmt
.
Sprintf
(
"title=%s"
,
caseTitle
))
info
=
append
(
info
,
fmt
.
Sprintf
(
"timeout=%d"
,
0
))
//
info = append(info, fmt.Sprintf("timeout=%d", 0))
info
=
append
(
info
,
fmt
.
Sprintf
(
"cid=%d"
,
caseId
))
info
=
append
(
info
,
fmt
.
Sprintf
(
"pid=%d"
,
productId
))
//
info = append(info, fmt.Sprintf("pid=%d", productId))
StepWidth
:=
20
stepDisplayMaxWidth
:=
0
...
...
@@ -142,7 +142,7 @@ func generateTestStepAndScript(testSteps []commDomain.ZtfStep, steps *[]string,
*
steps
=
append
(
*
steps
,
""
)
for
_
,
item
:=
range
nestedSteps
{
numbStr
:=
fmt
.
Sprintf
(
"%d"
,
stepNumb
)
stepLines1
,
expects1
:=
getCaseContent
(
item
,
numbStr
,
independentFile
,
false
)
stepLines1
,
expects1
:=
getCase
Step
Content
(
item
,
numbStr
,
independentFile
,
false
)
*
steps
=
append
(
*
steps
,
stepLines1
)
if
independentFile
&&
strings
.
TrimSpace
(
item
.
Expect
)
!=
""
{
...
...
@@ -151,7 +151,7 @@ func generateTestStepAndScript(testSteps []commDomain.ZtfStep, steps *[]string,
for
childNo
,
child
:=
range
item
.
Children
{
numbStr
:=
fmt
.
Sprintf
(
"%d.%d"
,
stepNumb
,
childNo
+
1
)
stepLines2
,
expects2
:=
getCaseContent
(
child
,
numbStr
,
independentFile
,
true
)
stepLines2
,
expects2
:=
getCase
Step
Content
(
child
,
numbStr
,
independentFile
,
true
)
*
steps
=
append
(
*
steps
,
stepLines2
)
if
independentFile
&&
strings
.
TrimSpace
(
child
.
Expect
)
!=
""
{
...
...
@@ -179,7 +179,7 @@ func GenSuite(cases []string, targetDir string) {
fileUtils
.
WriteFile
(
targetDir
+
"all."
+
commConsts
.
ExtNameSuite
,
str
)
}
func
getCaseContent
(
stepObj
commDomain
.
ZtfStep
,
seq
string
,
independentFile
bool
,
isChild
bool
)
(
func
getCase
Step
Content
(
stepObj
commDomain
.
ZtfStep
,
seq
string
,
independentFile
bool
,
isChild
bool
)
(
stepContent
,
expectContent
string
)
{
step
:=
strings
.
TrimSpace
(
stepObj
.
Desc
)
...
...
@@ -192,8 +192,8 @@ func getCaseContent(stepObj commDomain.ZtfStep, seq string, independentFile bool
stepContent
=
stepStr
+
expectStr
}
else
{
stepContent
=
stepStr
if
stepObj
.
Children
==
nil
||
len
(
stepObj
.
Children
)
==
0
{
stepContent
+=
"
>>
"
if
(
stepObj
.
Children
==
nil
||
len
(
stepObj
.
Children
)
==
0
)
&&
expectStr
!=
""
{
stepContent
+=
"
@
"
}
}
...
...
@@ -206,7 +206,7 @@ func getCaseContent(stepObj commDomain.ZtfStep, seq string, independentFile bool
}
func
getStepContent
(
str
string
,
isChild
bool
)
(
ret
string
)
{
str
=
strings
.
TrimSpace
(
str
)
str
=
" - "
+
strings
.
TrimSpace
(
str
)
rpl
:=
"
\n
"
if
isChild
{
...
...
@@ -230,7 +230,7 @@ func getExpectContent(str string, isChild bool, independentFile bool) (ret strin
if
independentFile
{
ret
=
str
}
else
{
ret
=
"
>>
"
+
str
ret
=
"
@
"
+
str
}
}
else
{
// multi-line
rpl
:=
"
\r\n
"
...
...
@@ -248,15 +248,15 @@ func getExpectContent(str string, isChild bool, independentFile bool) (ret strin
// expect 1.2 line 1
// expect 1.2 line 2
//>>
ret
=
"
>>
\n
"
+
space
+
strings
.
ReplaceAll
(
str
,
rpl
,
rpl
+
space
)
+
"
\n
>>
"
ret
=
"
{
\n
"
+
space
+
strings
.
ReplaceAll
(
str
,
rpl
,
rpl
+
space
)
+
"
\n
}
"
}
else
{
//step 1.2
>>
//step 1.2
@{
// expect 1.2 line 1
// expect 1.2 line 2
//
>>
ret
=
"
>>
\n
"
+
spaceBeforeText
+
//
}
ret
=
"
@{
\n
"
+
spaceBeforeText
+
strings
.
ReplaceAll
(
str
,
rpl
,
rpl
+
spaceBeforeText
)
+
"
\n
"
+
spaceBeforeTerminator
+
"
>>
"
"
\n
"
+
spaceBeforeTerminator
+
"
}
"
}
}
...
...
internal/pkg/helper/script/parser.go
浏览文件 @
e6624724
...
...
@@ -98,7 +98,10 @@ func getSingleExpect(descAndExpect string) (desc, expect string) {
desc
=
strings
.
TrimSpace
(
arr
[
0
])
if
len
(
arr
)
>
1
{
expect
=
arr
[
1
]
expect
=
strings
.
TrimSpace
(
arr
[
1
])
if
expect
==
""
{
expect
=
"pass"
}
}
return
...
...
@@ -185,7 +188,7 @@ func ReadCaseInfoInOldFormat(content, lang string) (info, checkpoints string) {
func
GetStepAndExpectMapInOldFormat
(
checkpoints
,
file
string
)
(
steps
[]
commDomain
.
ZentaoCaseStep
)
{
lines
:=
strings
.
Split
(
checkpoints
,
"
\n
"
)
groupArr
:=
getStepNestedArr
(
lines
)
groupArr
:=
getStepNestedArr
InOldFormat
(
lines
)
_
,
steps
=
getSortedTextFromNestedSteps
(
groupArr
)
isIndependent
,
expectIndependentContent
:=
GetDependentExpect
(
file
)
...
...
@@ -225,7 +228,7 @@ func GetDependentExpect(file string) (bool, string) {
return
false
,
""
}
func
getStepNestedArr
(
lines
[]
string
)
(
ret
[]
commDomain
.
ZtfStep
)
{
func
getStepNestedArr
InOldFormat
(
lines
[]
string
)
(
ret
[]
commDomain
.
ZtfStep
)
{
parent
:=
commDomain
.
ZtfStep
{}
increase
:=
0
for
index
:=
0
;
index
<
len
(
lines
);
index
++
{
...
...
@@ -305,7 +308,7 @@ func ReplaceCaseDesc(desc, file string) {
content
:=
fileUtils
.
ReadFile
(
file
)
lang
:=
langHelper
.
GetLangByFile
(
file
)
regStr
:=
fmt
.
Sprintf
(
`(?smU)%s((?U:.*
p
id.*))\n(.*)%s`
,
regStr
:=
fmt
.
Sprintf
(
`(?smU)%s((?U:.*
c
id.*))\n(.*)%s`
,
commConsts
.
LangCommentsRegxMap
[
lang
][
0
],
commConsts
.
LangCommentsRegxMap
[
lang
][
1
])
re
,
_
:=
regexp
.
Compile
(
regStr
)
...
...
@@ -487,14 +490,14 @@ func GetCaseInfo(file string) (pass bool, caseId, productId int, title string, t
func
ReadExpectIndependentArr
(
content
string
)
[][]
string
{
//正常显示6
//E2.16
//
>>
//
{
// E2.2 - 16
// E2.2 - 26
//
>>
//
>>
//
}
//
{
// E3 - 16
// E3 - 26
//
>>
//
}
lines
:=
strings
.
Split
(
content
,
"
\n
"
)
...
...
@@ -506,13 +509,13 @@ func ReadExpectIndependentArr(content string) [][]string {
for
idx
<
len
(
lines
)
{
line
:=
strings
.
TrimSpace
(
lines
[
idx
])
if
line
==
"
>>
"
{
// more than one line
if
line
==
"
{
"
{
// more than one line
currModel
=
"multi"
cpArr
=
make
([]
string
,
0
)
}
else
if
currModel
==
"multi"
{
// in
>> and >>
in multi line mode
}
else
if
currModel
==
"multi"
{
// in
{ and }
in multi line mode
cpArr
=
append
(
cpArr
,
line
)
if
idx
==
len
(
lines
)
-
1
||
strings
.
Index
(
lines
[
idx
+
1
],
">>"
)
>
-
1
{
// end multi line
if
idx
==
len
(
lines
)
-
1
||
strings
.
TrimSpace
(
lines
[
idx
+
1
])
==
"}"
{
// end multi line
temp
:=
make
([]
string
,
0
)
temp
=
append
(
temp
,
strings
.
Join
(
cpArr
,
"
\r\n
"
))
...
...
@@ -553,13 +556,14 @@ func ReadLogArr(content string) (isSkip bool, ret [][]string) {
return
}
if
line
==
"
>>
"
{
// more than one line
if
line
==
"
@{
"
{
// more than one line
model
=
"multi"
cpArr
=
make
([]
string
,
0
)
}
else
if
model
==
"multi"
{
//
in >> and >>
in multi line mode
}
else
if
model
==
"multi"
{
//
between line @{ and }
in multi line mode
cpArr
=
append
(
cpArr
,
line
)
if
idx
==
len
(
lines
)
-
1
||
strings
.
Index
(
lines
[
idx
+
1
],
">>"
)
>
-
1
{
//if idx == len(lines)-1 || strings.Index(lines[idx+1], "}") > -1 {
if
idx
==
len
(
lines
)
-
1
||
strings
.
TrimSpace
(
lines
[
idx
+
1
])
==
"}"
{
temp
:=
make
([]
string
,
0
)
temp
=
append
(
temp
,
cpArr
...
)
...
...
@@ -573,6 +577,11 @@ func ReadLogArr(content string) (isSkip bool, ret [][]string) {
model
=
"single"
line
=
strings
.
TrimSpace
(
line
)
if
strings
.
Index
(
line
,
"@"
)
!=
0
{
// ignore the line not started with @
continue
}
line
=
line
[
1
:
]
cpArr
=
append
(
cpArr
,
line
)
ret
=
append
(
ret
,
cpArr
)
...
...
internal/pkg/helper/zentao/case.go
浏览文件 @
e6624724
...
...
@@ -301,6 +301,7 @@ func LoadTestCasesDetailByCaseIds(caseIds []int,
func
GetTestCaseDetail
(
caseId
int
,
config
commDomain
.
WorkspaceConf
)
(
cs
commDomain
.
ZtfCase
,
err
error
)
{
csWithSteps
,
err
:=
GetCaseById
(
config
.
Url
,
caseId
)
stepArr
:=
genCaseSteps
(
csWithSteps
)
cs
=
commDomain
.
ZtfCase
{
Id
:
caseId
,
Product
:
csWithSteps
.
Product
,
Module
:
csWithSteps
.
Module
,
Title
:
csWithSteps
.
Title
,
Steps
:
stepArr
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录