Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
oto
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
龚小红
oto
Commits
ef8c8b04
Commit
ef8c8b04
authored
Mar 06, 2021
by
张艳玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增
parent
633fc37f
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1191 additions
and
312 deletions
+1191
-312
LiveMaterial.java
src/test/java/com/kjj/cases/live/LiveMaterial.java
+216
-72
SaveAndUpdate.java
src/test/java/com/kjj/cases/live/SaveAndUpdate.java
+56
-44
BasicConfig.java
src/test/java/com/kjj/config/BasicConfig.java
+3
-1
report.html
test-output/report.html
+916
-195
No files found.
src/test/java/com/kjj/cases/live/LiveMaterial.java
View file @
ef8c8b04
...
...
@@ -54,15 +54,14 @@ public class LiveMaterial implements AdminAuthorization {
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
MANAGER_WELFARELIST
);
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
response
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
params
,
BasicConfig
.
MANAGER_WELFARELIST
,
"查询福利失败"
,
response
.
body
().
asString
()));
//删除福利
int
id
=
bean
.
getId
();
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delParam
=
new
HashMap
<>();
delParam
.
put
(
"id"
,
id
);
delParam
.
put
(
"id"
,
id
);
Response
delRes
=
network
.
postResponse
(
delParam
,
BasicConfig
.
MANAGER_DEL
);
boolean
data2
=
delRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data2
);
...
...
@@ -112,15 +111,14 @@ public class LiveMaterial implements AdminAuthorization {
Response
choiceListRes
=
network
.
getResponse
(
choiceListPram
,
BasicConfig
.
MANAGER_GETLIST
);
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
choiceListRes
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
choiceListPram
,
BasicConfig
.
MANAGER_GETLIST
,
"查询投票失败"
,
choiceListRes
.
body
().
asString
()));
//删除投票
int
id
=
bean
.
getId
();
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delParam
=
new
HashMap
<>();
delParam
.
put
(
"id"
,
id
);
delParam
.
put
(
"id"
,
id
);
Response
delRes
=
network
.
postResponse
(
delParam
,
BasicConfig
.
MANAGER_DELCHOICE
);
boolean
data4
=
delRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data4
);
...
...
@@ -154,17 +152,16 @@ public class LiveMaterial implements AdminAuthorization {
Response
question1Res
=
network
.
getResponse
(
question1Param
,
BasicConfig
.
MANAGER_LIST1
);
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
question1Res
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
question1Param
,
BasicConfig
.
MANAGER_LIST1
,
"查询福利失败"
,
question1Res
.
body
().
asString
()));
//删除问题
int
id
=
bean
.
getId
();
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delParam
=
new
HashMap
<>();
delParam
.
put
(
"id"
,
id
);
delParam
.
put
(
"id"
,
id
);
Response
delRes
=
network
.
postResponse
(
delParam
,
BasicConfig
.
MANAGER_DEL1
);
boolean
data6
=
delRes
.
jsonPath
().
getBoolean
(
"data"
);
boolean
data6
=
delRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data6
);
Assert
.
assertTrue
(
data6
,
network
.
message
(
delParam
,
BasicConfig
.
MANAGER_DEL1
,
"删除问题失败"
,
delRes
.
body
().
asString
()));
...
...
@@ -202,17 +199,16 @@ public class LiveMaterial implements AdminAuthorization {
Response
imageTextRes
=
network
.
getResponse
(
imageTextParam
,
BasicConfig
.
MANAGER_RESOURCELIST
);
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
imageTextRes
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
imageTextParam
,
BasicConfig
.
MANAGER_RESOURCELIST
,
"查询图文失败"
,
imageTextRes
.
body
().
asString
()));
//删除图文
权益
int
id
=
bean
.
getId
();
//删除图文
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delResourceParam
=
new
HashMap
<>();
delResourceParam
.
put
(
"id"
,
id
);
delResourceParam
.
put
(
"id"
,
id
);
Response
elResourceRes
=
network
.
postResponse
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
);
boolean
data8
=
elResourceRes
.
jsonPath
().
getBoolean
(
"data"
);
boolean
data8
=
elResourceRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data8
);
Assert
.
assertTrue
(
data8
,
network
.
message
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
,
"删除图文失败"
,
elResourceRes
.
body
().
asString
()));
...
...
@@ -248,19 +244,19 @@ public class LiveMaterial implements AdminAuthorization {
linkParam
.
put
(
"resourceTypeList"
,
9
);
Response
linkRes
=
network
.
getResponse
(
linkParam
,
BasicConfig
.
MANAGER_RESOURCELIST
);
System
.
out
.
println
(
JSON
.
toJSON
(
linkRes
.
jsonPath
()));
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
linkRes
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
linkParam
,
BasicConfig
.
MANAGER_RESOURCELIST
,
"查询链接失败"
,
linkRes
.
body
().
asString
()));
//删除链接
权益
int
id
=
bean
.
getId
();
//删除链接
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delResourceParam
=
new
HashMap
<>();
delResourceParam
.
put
(
"id"
,
id
);
delResourceParam
.
put
(
"id"
,
id
);
Response
elResourceRes
=
network
.
postResponse
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
);
boolean
data10
=
elResourceRes
.
jsonPath
().
getBoolean
(
"data"
);
boolean
data10
=
elResourceRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data10
);
Assert
.
assertTrue
(
data10
,
network
.
message
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
,
"删除链接失败"
,
elResourceRes
.
body
().
asString
()));
...
...
@@ -269,6 +265,154 @@ public class LiveMaterial implements AdminAuthorization {
}
@Test
(
description
=
"添加表单"
,
priority
=
11
)
public
void
添加表单
()
{
Map
<
String
,
Object
>
formParam
=
new
HashMap
<>();
formParam
.
put
(
"companyId"
,
101
);
formParam
.
put
(
"resourceTitle"
,
"表单"
);
formParam
.
put
(
"resourceButtonTitle"
,
"我要报名"
);
formParam
.
put
(
"resourcePicturesArr"
,
Arrays
.
asList
(
"https://yun.dui88.com/kjy/image/20210306/1615033326937.jpg"
));
formParam
.
put
(
"resourceImg"
,
"https://yun.dui88.com/kjy/image/20210306/1615033315608.jpeg"
);
formParam
.
put
(
"formBanner"
,
"https://yun.dui88.com/kjy/image/20210306/1615033326937.jpg"
);
formParam
.
put
(
"fieldIds"
,
"1,2"
);
Response
formRes
=
network
.
postResponse
(
formParam
,
BasicConfig
.
MANAGER_FORM
);
Object
data11
=
formRes
.
jsonPath
().
getJsonObject
(
"data"
);
System
.
out
.
println
(
data11
);
Assert
.
assertNotNull
(
data11
,
network
.
message
(
formParam
,
BasicConfig
.
MANAGER_FORM
,
"新增表单失败"
,
formRes
.
body
().
asString
()));
}
@Test
(
description
=
"查询表单并删除"
,
priority
=
12
)
public
void
查询表单并删除
()
{
Map
<
String
,
Object
>
form1Param
=
new
HashMap
<>();
form1Param
.
put
(
"companyId"
,
101
);
form1Param
.
put
(
"pageIndex"
,
1
);
form1Param
.
put
(
"pageSize"
,
1
);
form1Param
.
put
(
"resourceTypeList"
,
12
);
Response
linkRes
=
network
.
getResponse
(
form1Param
,
BasicConfig
.
MANAGER_RESOURCELIST
);
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
linkRes
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
form1Param
,
BasicConfig
.
MANAGER_RESOURCELIST
,
"查询表单失败"
,
linkRes
.
body
().
asString
()));
//删除表单
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delResourceParam
=
new
HashMap
<>();
delResourceParam
.
put
(
"id"
,
id
);
Response
elResourceRes
=
network
.
postResponse
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
);
boolean
data12
=
elResourceRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data12
);
Assert
.
assertTrue
(
data12
,
network
.
message
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
,
"删除链接失败"
,
elResourceRes
.
body
().
asString
()));
}
}
@Test
(
description
=
"免费领资料"
,
priority
=
13
)
public
void
免费领资料
()
{
Map
<
String
,
Object
>
freeParam
=
new
HashMap
<>();
freeParam
.
put
(
"companyId"
,
101
);
freeParam
.
put
(
"resourceTitle"
,
"免费领资料"
);
freeParam
.
put
(
"resourceButtonTitle"
,
"领取资料"
);
freeParam
.
put
(
"resourcePicturesArr"
,
Arrays
.
asList
(
"https://yun.dui88.com/kjy/image/20210306/1615033326937.jpg"
));
freeParam
.
put
(
"resourceImg"
,
"https://yun.dui88.com/kjy/image/20210306/1615033315608.jpeg"
);
freeParam
.
put
(
"resourcePictures"
,
"https://yun.dui88.com/kjy/image/20210306/1615039670425.jpg"
);
Response
FreeRes
=
network
.
postResponse
(
freeParam
,
BasicConfig
.
MANAGER_FREE
);
Object
data13
=
FreeRes
.
jsonPath
().
getJsonObject
(
"data"
);
System
.
out
.
println
(
data13
);
Assert
.
assertNotNull
(
data13
,
network
.
message
(
freeParam
,
BasicConfig
.
MANAGER_FREE
,
"新增免费资料失败"
,
FreeRes
.
body
().
asString
()));
}
@Test
(
description
=
"删除免费领资料"
,
priority
=
14
)
public
void
删除免费领资料
()
{
Map
<
String
,
Object
>
form1Param
=
new
HashMap
<>();
form1Param
.
put
(
"companyId"
,
101
);
form1Param
.
put
(
"pageIndex"
,
1
);
form1Param
.
put
(
"pageSize"
,
1
);
form1Param
.
put
(
"resourceTypeList"
,
11
);
Response
linkRes
=
network
.
getResponse
(
form1Param
,
BasicConfig
.
MANAGER_RESOURCELIST
);
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
linkRes
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
form1Param
,
BasicConfig
.
MANAGER_RESOURCELIST
,
"查询免费领资料失败"
,
linkRes
.
body
().
asString
()));
//删除表单
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delResourceParam
=
new
HashMap
<>();
delResourceParam
.
put
(
"id"
,
id
);
Response
elResourceRes
=
network
.
postResponse
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
);
boolean
data14
=
elResourceRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data14
);
Assert
.
assertTrue
(
data14
,
network
.
message
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
,
"删除免费领资料失败"
,
elResourceRes
.
body
().
asString
()));
}
}
@Test
(
description
=
"秒薪测试"
,
priority
=
15
)
public
void
秒薪测试
()
{
Map
<
String
,
Object
>
testParam
=
new
HashMap
<>();
testParam
.
put
(
"companyId"
,
101
);
testParam
.
put
(
"clueType"
,
1
);
testParam
.
put
(
"mainButtonTitle"
,
"领取门票"
);
testParam
.
put
(
"resourcePicturesArr"
,
Arrays
.
asList
(
"https://yun.dui88.com/kjy/image/20210306/1615033326937.jpg"
));
testParam
.
put
(
"resourceImg"
,
"https://yun.dui88.com/kjy/image/20210306/1615033315608.jpeg"
);
testParam
.
put
(
"resourceTitle"
,
"秒薪测试"
);
testParam
.
put
(
"testType"
,
1
);
testParam
.
put
(
"tradeIntroducePictures"
,
"https://yun.dui88.com/kjy/image/20210306/1615040918512.jpeg"
);
Response
testRes
=
network
.
postResponse
(
testParam
,
BasicConfig
.
MANAGER_FREE
);
Object
data15
=
testRes
.
jsonPath
().
getJsonObject
(
"data"
);
System
.
out
.
println
(
data15
);
Assert
.
assertNotNull
(
data15
,
network
.
message
(
testParam
,
BasicConfig
.
MANAGER_FREE
,
"新增免费资料失败"
,
testRes
.
body
().
asString
()));
}
@Test
(
description
=
"删除秒薪测试"
,
priority
=
16
)
public
void
删除秒薪测试
()
{
Map
<
String
,
Object
>
test1Param
=
new
HashMap
<>();
test1Param
.
put
(
"companyId"
,
101
);
test1Param
.
put
(
"pageIndex"
,
1
);
test1Param
.
put
(
"pageSize"
,
1
);
test1Param
.
put
(
"resourceTypeList"
,
13
);
Response
test1Res
=
network
.
getResponse
(
test1Param
,
BasicConfig
.
MANAGER_RESOURCELIST
);
WelfareListBean
data1
=
JsonUtil
.
parseResponseToBean
(
test1Res
,
WelfareListBean
.
class
);
if
(
data1
.
getTotalCount
()
>
0
)
{
WelfareBean
bean
=
data1
.
getList
().
get
(
0
);
Assert
.
assertNotNull
(
bean
,
network
.
message
(
test1Param
,
BasicConfig
.
MANAGER_RESOURCELIST
,
"查询测试失败"
,
test1Res
.
body
().
asString
()));
int
id
=
bean
.
getId
();
Map
<
String
,
Object
>
delResourceParam
=
new
HashMap
<>();
delResourceParam
.
put
(
"id"
,
id
);
Response
elResourceRes
=
network
.
postResponse
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
);
boolean
data16
=
elResourceRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data16
);
Assert
.
assertTrue
(
data16
,
network
.
message
(
delResourceParam
,
BasicConfig
.
MANAGER_GELRESOURCE
,
"删除测试失败"
,
elResourceRes
.
body
().
asString
()));
}
}
}
src/test/java/com/kjj/cases/live/SaveAndUpdate.java
View file @
ef8c8b04
...
...
@@ -8,7 +8,6 @@ import com.kjj.utils.BaseUtils;
import
io.restassured.response.Response
;
import
org.apache.commons.lang3.time.DateUtils
;
import
org.testng.Assert
;
import
org.testng.annotations.AfterClass
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
...
...
@@ -34,15 +33,15 @@ public class SaveAndUpdate implements AdminAuthorization {
saveAndUpdateParam
.
put
(
"welfareUrl"
,
"https://streamimg.kjjcrm.com/kjy/image/20210201/62c25dcb3b9b4d269a74894e4255a193.jpg"
);
saveAndUpdateParam
.
put
(
"coverUrl"
,
"https://streamimg.kjjcrm.com/kjy/image/20210201/d4093b24aaca49da8f0e3e276721feea.jpg"
);
saveAndUpdateParam
.
put
(
"mpShareUrl"
,
"https://streamimg.kjjcrm.com/kjy/image/20210201/182f3659e39b4ea6898af781cc6344a1.jpg"
);
saveAndUpdateParam
.
put
(
"title"
,
"
营业部公司直播间
"
);
saveAndUpdateParam
.
put
(
"mpShareTitle"
,
"
营业部公司直播间
"
);
saveAndUpdateParam
.
put
(
"title"
,
"
自动化直播
"
);
saveAndUpdateParam
.
put
(
"mpShareTitle"
,
"
自动化直播
"
);
saveAndUpdateParam
.
put
(
"companyId"
,
101
);
long
noticeTime
=
DateUtils
.
addHours
(
new
Date
(),
2
).
getTime
();
long
broadcastTime
=
DateUtils
.
addHours
(
new
Date
(),
5
).
getTime
();
saveAndUpdateParam
.
put
(
"noticeTime"
,
noticeTime
);
saveAndUpdateParam
.
put
(
"broadcastTime"
,
broadcastTime
);
saveAndUpdateParam
.
put
(
"shareContent"
,
"
营业部公司直播间
"
);
saveAndUpdateParam
.
put
(
"shareContent"
,
"
自动化直播
"
);
saveAndUpdateParam
.
put
(
"shelfStatus"
,
"2"
);
saveAndUpdateParam
.
put
(
"secondPoster"
,
"https://streamimg.kjjcrm.com/kjy/image/20210201/cc999ebde48e49f99ac3f0d93480453f.jpg"
);
...
...
@@ -52,20 +51,9 @@ public class SaveAndUpdate implements AdminAuthorization {
Assert
.
assertNotNull
(
liveID
,
network
.
message
(
saveAndUpdateParam
,
BasicConfig
.
MANAGER_SAVEANDUPDATE
,
"新增直播失败"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"查询直播配置"
,
priority
=
2
)
public
void
查询直播配置
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"liveId"
,
liveID
);
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
MANAGER_GETCONFDETAIL
);
Object
data
=
response
.
jsonPath
().
getJsonObject
(
"data"
);
System
.
out
.
println
(
data
);
Assert
.
assertNotNull
(
data
,
network
.
message
(
params
,
BasicConfig
.
MANAGER_GETCONFDETAIL
,
"查询配置失败"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"添加基础配置"
,
priority
=
3
)
public
void
添加基础配置
()
{
@Test
(
description
=
"单场红包配置"
,
priority
=
3
)
public
void
单场红包配置
()
{
//单场红包限额
Map
<
String
,
Object
>
maxAmountParam
=
new
HashMap
<>();
maxAmountParam
.
put
(
"liveId"
,
liveID
);
...
...
@@ -76,6 +64,9 @@ public class SaveAndUpdate implements AdminAuthorization {
System
.
out
.
println
(
data
);
Assert
.
assertTrue
(
data
,
network
.
message
(
maxAmountParam
,
BasicConfig
.
MANAGER_SAVEORUPDATEMAXAMOUNT
,
"单场红包限额配置失败"
,
maxAmountRes
.
body
().
asString
()));
}
@Test
(
description
=
"展示红包金额"
,
priority
=
4
)
public
void
展示红包金额
()
{
//展示红包金额
Map
<
String
,
Object
>
saveOrUpdateShowAmountParam
=
new
HashMap
<>();
saveOrUpdateShowAmountParam
.
put
(
"liveId"
,
liveID
);
...
...
@@ -85,8 +76,10 @@ public class SaveAndUpdate implements AdminAuthorization {
boolean
data1
=
saveOrUpdateShowAmountRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data1
);
Assert
.
assertTrue
(
data1
,
network
.
message
(
saveOrUpdateShowAmountParam
,
BasicConfig
.
MANAGER_SAVEORUPDATESHOWEAMOUNT
,
"展示红包配置失败"
,
saveOrUpdateShowAmountRes
.
body
().
asString
()));
}
//互动问题
@Test
(
description
=
"互动问题"
,
priority
=
5
)
public
void
互动问题
()
{
Map
<
String
,
Object
>
saveOrUpdateParam
=
new
HashMap
<>();
saveOrUpdateParam
.
put
(
"liveId"
,
liveID
);
List
<
Long
>
ids
=
new
ArrayList
<>();
...
...
@@ -98,9 +91,12 @@ public class SaveAndUpdate implements AdminAuthorization {
Response
saveOrUpdateRes
=
network
.
postResponse
(
saveOrUpdateParam
,
BasicConfig
.
MANAGER_SAVEORUPDATE
);
boolean
data2
=
saveOrUpdateRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data2
);
Assert
.
assertNotNull
(
data2
,
network
.
message
(
saveOrUpdateParam
,
BasicConfig
.
MANAGER_SAVEORUPDATE
,
"互动问题配置失败"
,
saveOrUpdateRes
.
body
().
asString
()));
Assert
.
assertTrue
(
data2
,
network
.
message
(
saveOrUpdateParam
,
BasicConfig
.
MANAGER_SAVEORUPDATE
,
"互动问题配置失败"
,
saveOrUpdateRes
.
body
().
asString
()));
}
@Test
(
description
=
"投票"
,
priority
=
6
)
public
void
投票
()
{
//投票
Map
<
String
,
Object
>
saveOrUpdate2Param
=
new
HashMap
<>();
saveOrUpdate2Param
.
put
(
"liveId"
,
liveID
);
List
<
Long
>
ids1
=
new
ArrayList
<>();
...
...
@@ -108,12 +104,15 @@ public class SaveAndUpdate implements AdminAuthorization {
ids1
.
add
(
380L
);
saveOrUpdate2Param
.
put
(
"ids"
,
ids1
);
Response
saveOrUpdate2Res
=
network
.
postResponse
(
saveOrUpdateParam
,
BasicConfig
.
MANAGER_SAVEORUPDATE2
);
Response
saveOrUpdate2Res
=
network
.
postResponse
(
saveOrUpdate
2
Param
,
BasicConfig
.
MANAGER_SAVEORUPDATE2
);
boolean
data3
=
saveOrUpdate2Res
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data3
);
Assert
.
assertNotNull
(
data3
,
network
.
message
(
saveOrUpdate2Param
,
BasicConfig
.
MANAGER_SAVEORUPDATE2
,
"投票配置失败"
,
saveOrUpdate2Res
.
body
().
asString
()));
Assert
.
assertTrue
(
data3
,
network
.
message
(
saveOrUpdate2Param
,
BasicConfig
.
MANAGER_SAVEORUPDATE2
,
"投票配置失败"
,
saveOrUpdate2Res
.
body
().
asString
()));
}
@Test
(
description
=
"产品资料"
,
priority
=
7
)
public
void
产品资料
()
{
//产品资料
Map
<
String
,
Object
>
saveOrUpdate3Param
=
new
HashMap
<>();
saveOrUpdate3Param
.
put
(
"liveId"
,
liveID
);
List
<
Long
>
ids2
=
new
ArrayList
<>();
...
...
@@ -127,8 +126,11 @@ public class SaveAndUpdate implements AdminAuthorization {
boolean
data4
=
saveOrUpdate3Res
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data4
);
Assert
.
assertTrue
(
data4
,
network
.
message
(
saveOrUpdate3Param
,
BasicConfig
.
MANAGER_SAVEORUPDATE3
,
"产品资料配置失败"
,
saveOrUpdate3Res
.
body
().
asString
()));
}
@Test
(
description
=
"问卷"
,
priority
=
8
)
public
void
问卷
()
{
//问卷
Map
<
String
,
Object
>
saveOrUpdate4Param
=
new
HashMap
<>();
saveOrUpdate4Param
.
put
(
"id"
,
"null"
);
saveOrUpdate4Param
.
put
(
"liveId"
,
liveID
);
...
...
@@ -139,8 +141,11 @@ public class SaveAndUpdate implements AdminAuthorization {
boolean
data5
=
saveOrUpdate4Res
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data5
);
Assert
.
assertTrue
(
data5
,
network
.
message
(
saveOrUpdate4Param
,
BasicConfig
.
MANAGER_SAVEORUPDATE4
,
"问卷配置失败"
,
saveOrUpdate4Res
.
body
().
asString
()));
}
@Test
(
description
=
"代理人参与条件"
,
priority
=
9
)
public
void
代理人参与条件
()
{
//代理人参与条件
Map
<
String
,
Object
>
saveAgentParticipateParam
=
new
HashMap
<>();
saveAgentParticipateParam
.
put
(
"liveId"
,
liveID
);
saveAgentParticipateParam
.
put
(
"inviteCount"
,
1
);
...
...
@@ -149,8 +154,10 @@ public class SaveAndUpdate implements AdminAuthorization {
boolean
data6
=
saveAgentParticipateParamRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data6
);
Assert
.
assertTrue
(
data6
,
network
.
message
(
saveAgentParticipateParam
,
BasicConfig
.
MANAGER_SAVEAGENTPARTICIPATE
,
"代理人参与条件配置失败"
,
saveAgentParticipateParamRes
.
body
().
asString
()));
}
//指定中奖奖品
@Test
(
description
=
"指定中奖奖品"
,
priority
=
10
)
public
void
指定中奖奖品
()
{
Map
<
String
,
Object
>
saveSpecifyAwardParam
=
new
HashMap
<>();
saveSpecifyAwardParam
.
put
(
"Id"
,
""
);
saveSpecifyAwardParam
.
put
(
"liveId"
,
liveID
);
...
...
@@ -163,8 +170,10 @@ public class SaveAndUpdate implements AdminAuthorization {
boolean
data7
=
saveSpecifyAwardRes
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data7
);
Assert
.
assertTrue
(
data7
,
network
.
message
(
saveSpecifyAwardParam
,
BasicConfig
.
MANAGER_SAVESPECIFYAWARD
,
"指定中奖配置失败"
,
saveSpecifyAwardRes
.
body
().
asString
()));
}
//个人PK奖励
@Test
(
description
=
"个人PK奖励"
,
priority
=
11
)
public
void
个人
PK
奖励
()
{
Map
<
String
,
Object
>
saveOrUpdate5Param
=
new
HashMap
<>();
saveOrUpdate5Param
.
put
(
"liveId"
,
liveID
);
saveOrUpdate5Param
.
put
(
"rewardType"
,
1
);
//1:个人,2:团队
...
...
@@ -190,8 +199,11 @@ public class SaveAndUpdate implements AdminAuthorization {
boolean
data8
=
saveOrUpdate5Res
.
jsonPath
().
getBoolean
(
"data"
);
System
.
out
.
println
(
data8
);
Assert
.
assertTrue
(
data8
,
network
.
message
(
saveOrUpdate5Param
,
BasicConfig
.
MANAGER_SAVEORUPDATE5
,
"个人pk奖励配置失败"
,
saveOrUpdate5Res
.
body
().
asString
()));
}
//团队PK奖励
@Test
(
description
=
"团队PK奖励"
,
priority
=
12
)
public
void
团队
PK
奖励
()
{
Map
<
String
,
Object
>
saveOrUpdate6Param
=
new
HashMap
<>();
saveOrUpdate6Param
.
put
(
"liveId"
,
liveID
);
...
...
@@ -222,7 +234,7 @@ public class SaveAndUpdate implements AdminAuthorization {
}
@Test
(
description
=
"获取剩余红包金额"
,
priority
=
4
)
@Test
(
description
=
"获取剩余红包金额"
,
priority
=
13
)
public
void
获取剩余红包金额
()
{
Map
<
String
,
Object
>
getSurplusAmountParam
=
new
HashMap
<>();
getSurplusAmountParam
.
put
(
"liveId"
,
liveID
);
...
...
@@ -235,7 +247,7 @@ public class SaveAndUpdate implements AdminAuthorization {
}
//添加红包配置
@Test
(
description
=
"新增红包配置"
,
priority
=
5
)
@Test
(
description
=
"新增红包配置"
,
priority
=
14
)
public
void
新增红包配置
()
{
Map
<
String
,
Object
>
saveOrUpdateRedParam
=
new
HashMap
<>();
saveOrUpdateRedParam
.
put
(
"liveId"
,
liveID
);
...
...
@@ -253,7 +265,7 @@ public class SaveAndUpdate implements AdminAuthorization {
}
//答题红包配置
@Test
(
description
=
"新增答题红包"
,
priority
=
6
)
@Test
(
description
=
"新增答题红包"
,
priority
=
15
)
public
void
新增答题红包
()
{
Map
<
String
,
Object
>
saveOrUpdate9Param
=
new
HashMap
<>();
saveOrUpdate9Param
.
put
(
"liveId"
,
liveID
);
...
...
@@ -285,7 +297,7 @@ public class SaveAndUpdate implements AdminAuthorization {
}
//直播前奖品配置
@Test
(
description
=
"直播前抽奖"
,
priority
=
7
)
@Test
(
description
=
"直播前抽奖"
,
priority
=
16
)
public
void
直播前抽奖
()
{
Map
<
String
,
Object
>
addParam
=
new
HashMap
<>();
addParam
.
put
(
"liveId"
,
liveID
);
...
...
@@ -302,7 +314,7 @@ public class SaveAndUpdate implements AdminAuthorization {
}
//直播中奖品配置
@Test
(
description
=
"直播中抽奖"
,
priority
=
8
)
@Test
(
description
=
"直播中抽奖"
,
priority
=
17
)
public
void
直播中抽奖
()
{
Map
<
String
,
Object
>
add1Param
=
new
HashMap
<>();
add1Param
.
put
(
"liveId"
,
liveID
);
...
...
@@ -318,7 +330,7 @@ public class SaveAndUpdate implements AdminAuthorization {
}
//配置免费福利
@Test
(
description
=
"配置免费福利"
,
priority
=
9
)
@Test
(
description
=
"配置免费福利"
,
priority
=
18
)
public
void
配置免费福利
()
{
Map
<
String
,
Object
>
saveOrUpdate8Param
=
new
HashMap
<>();
saveOrUpdate8Param
.
put
(
"liveId"
,
liveID
);
...
...
src/test/java/com/kjj/config/BasicConfig.java
View file @
ef8c8b04
...
...
@@ -102,7 +102,9 @@ public class BasicConfig {
public
static
final
String
MANAGER_SAVEORUPDATELINK
=
MANAGER_HOST
+
"/kjy/manager/live/resource/saveOrUpdateLink"
;
// public static final String MANAGER_SAVEORUPDATELINK= MANAGER_HOST+ "/kjy/manager/live/resource/list";
public
static
final
String
MANAGER_FORM
=
MANAGER_HOST
+
"/kjy/manager/live/resource/saveOrUpdateForm"
;
public
static
final
String
MANAGER_FREE
=
MANAGER_HOST
+
"/kjy/manager/live/resource/saveOrUpdateFree"
;
// *************** 素材ID ***************
...
...
test-output/report.html
View file @
ef8c8b04
...
...
@@ -35,6 +35,7 @@
<ul
id=
'slide-out'
class=
'side-nav fixed hide-on-med-and-down'
>
<li
class=
'waves-effect active'
><a
href=
'#!'
view=
'test-view'
onclick=
"configureView(0);chartsView('test');"
><i
class=
'material-icons'
>
dashboard
</i></a></li>
<li
class=
'waves-effect'
><a
href=
'#!'
view=
'category-view'
onclick=
"configureView(1)"
><i
class=
'material-icons'
>
label_outline
</i></a></li>
<li
class=
'waves-effect'
><a
href=
'#!'
view=
'exception-view'
onclick=
"configureView(2)"
><i
class=
'material-icons'
>
bug_report
</i></a></li>
<li
class=
'waves-effect'
><a
href=
'#!'
onclick=
"configureView(-1);chartsView('dashboard');"
view=
'dashboard-view'
><i
class=
'material-icons'
>
track_changes
</i></i></a></li>
</ul>
...
...
@@ -48,7 +49,7 @@
<ul
id=
'nav-mobile'
class=
'right hide-on-med-and-down nav-right'
>
<li>
<a
href=
'#!'
>
<span
class=
'label suite-start-time blue darken-3'
>
Mar 6, 2021
07:22:38
PM
</span>
<span
class=
'label suite-start-time blue darken-3'
>
Mar 6, 2021
10:38:14
PM
</span>
</a>
</li>
<li>
...
...
@@ -74,6 +75,7 @@
</a>
<ul
id=
'tests-toggle'
class=
'dropdown-content'
>
<li
status=
'pass'
><a
href=
'#!'
>
Pass
<i
class=
'material-icons green-text'
>
check_circle
</i></a></li>
<li
status=
'fail'
><a
href=
'#!'
>
Fail
<i
class=
'material-icons red-text'
>
cancel
</i></a></li>
<li
class=
'divider'
></li>
<li
status=
'clear'
clear=
'true'
><a
href=
'#!'
>
Clear Filters
<i
class=
'material-icons'
>
clear
</i></a></li>
</ul>
...
...
@@ -136,10 +138,10 @@
<canvas
id=
'parent-analysis'
width=
'100'
height=
'80'
></canvas>
</div>
<div
class=
'block text-small'
>
<span
class=
'tooltipped'
data-position=
'top'
data-tooltip=
'
100%'
><span
class=
'strong'
>
19
</span>
test(s) passed
</span>
<span
class=
'tooltipped'
data-position=
'top'
data-tooltip=
'
96.97%'
><span
class=
'strong'
>
32
</span>
test(s) passed
</span>
</div>
<div
class=
'block text-small'
>
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'
0%'
>
0
</span>
test(s) failed,
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'0%'
>
0
</span>
others
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'
3.03%'
>
1
</span>
test(s) failed,
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'0%'
>
0
</span>
others
</div>
</div>
</div>
...
...
@@ -151,10 +153,10 @@
<canvas
id=
'child-analysis'
width=
'100'
height=
'80'
></canvas>
</div>
<div
class=
'block text-small'
>
<span
class=
'tooltipped'
data-position=
'top'
data-tooltip=
'
100%'
><span
class=
'strong'
>
19
</span>
step(s) passed
</span>
<span
class=
'tooltipped'
data-position=
'top'
data-tooltip=
'
96.97%'
><span
class=
'strong'
>
32
</span>
step(s) passed
</span>
</div>
<div
class=
'block text-small'
>
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'
0%'
>
0
</span>
step(s) failed,
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'0%'
>
0
</span>
others
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'
3.03%'
>
1
</span>
step(s) failed,
<span
class=
'strong tooltipped'
data-position=
'top'
data-tooltip=
'0%'
>
0
</span>
others
</div>
</div>
</div>
...
...
@@ -172,16 +174,16 @@
<li
class=
'test displayed active has-leaf pass'
status=
'pass'
bdd=
'false'
test-id=
'1'
>
<div
class=
'test-heading'
>
<span
class=
'test-name'
>
直播 : 创建直播
</span>
<span
class=
'test-time'
>
Mar 6, 2021
07:22:38
PM
</span>
<span
class=
'test-time'
>
Mar 6, 2021
10:38:14
PM
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'test-content hide'
>
<div
class=
'test-time-info'
>
<span
class=
'label start-time'
>
Mar 6, 2021
07:22:38
PM
</span>
<span
class=
'label end-time'
>
Mar 6, 2021
07:22:44
PM
</span>
<span
class=
'label time-taken grey lighten-1 white-text'
>
0h 0m
6s+74
ms
</span>
<span
class=
'label start-time'
>
Mar 6, 2021
10:38:14
PM
</span>
<span
class=
'label end-time'
>
Mar 6, 2021
10:38:23
PM
</span>
<span
class=
'label time-taken grey lighten-1 white-text'
>
0h 0m
8s+558
ms
</span>
</div>
<div
class=
'test-desc'
>
Pass:
9
; Fail: 0 ;
</div>
<div
class=
'test-desc'
>
Pass:
17
; Fail: 0 ;
</div>
<div
class=
'test-attributes'
>
<div
class=
'category-list'
>
<span
class=
'category label white-text'
>
直播
</span>
...
...
@@ -193,8 +195,8 @@
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'2'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
创建直播
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:38
PM
</span>
<span
class=
'node-duration'
>
0h 0m
8s+30
9ms
</span>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:14
PM
</span>
<span
class=
'node-duration'
>
0h 0m
14s+1
9ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -214,7 +216,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -224,9 +226,9 @@
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'3'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
查询直播
配置
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:41
PM
</span>
<span
class=
'node-duration'
>
0h 0m
4s+942
ms
</span>
<div
class=
'node-name'
>
单场红包
配置
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:19
PM
</span>
<span
class=
'node-duration'
>
0h 0m
8s+993
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -246,7 +248,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -256,9 +258,9 @@
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'4'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
添加基础配置
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:42
PM
</span>
<span
class=
'node-duration'
>
0h 0m
4s+741
ms
</span>
<div
class=
'node-name'
>
展示红包金额
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:20
PM
</span>
<span
class=
'node-duration'
>
0h 0m
8s+703
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -278,7 +280,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -287,10 +289,426 @@
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'5'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
互动问题
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:20 PM
</span>
<span
class=
'node-duration'
>
0h 0m 8s+525ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'6'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
投票
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:20 PM
</span>
<span
class=
'node-duration'
>
0h 0m 8s+286ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'7'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
产品资料
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:20 PM
</span>
<span
class=
'node-duration'
>
0h 0m 8s+135ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'8'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
问卷
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:20 PM
</span>
<span
class=
'node-duration'
>
0h 0m 7s+946ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'9'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
代理人参与条件
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:21 PM
</span>
<span
class=
'node-duration'
>
0h 0m 7s+593ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'10'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
指定中奖奖品
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:21 PM
</span>
<span
class=
'node-duration'
>
0h 0m 7s+387ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'11'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
个人PK奖励
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:21 PM
</span>
<span
class=
'node-duration'
>
0h 0m 7s+148ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'12'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
团队PK奖励
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:21 PM
</span>
<span
class=
'node-duration'
>
0h 0m 6s+910ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'13'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
获取剩余红包金额
</div>
<span
class=
'node-time'
>
Mar 6, 2021 07:22:43 PM
</span>
<span
class=
'node-duration'
>
0h 0m 3s+248ms
</span>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:22 PM
</span>
<span
class=
'node-duration'
>
0h 0m 6s+763ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'14'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
新增红包配置
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:22 PM
</span>
<span
class=
'node-duration'
>
0h 0m 6s+587ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'15'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
新增答题红包
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:22 PM
</span>
<span
class=
'node-duration'
>
0h 0m 6s+337ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'16'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
直播前抽奖
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:22 PM
</span>
<span
class=
'node-duration'
>
0h 0m 6s+107ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'17'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
直播中抽奖
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:22 PM
</span>
<span
class=
'node-duration'
>
0h 0m 5s+883ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'18'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
配置免费福利
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:23 PM
</span>
<span
class=
'node-duration'
>
0h 0m 5s+709ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -310,7 +728,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -318,17 +736,43 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'6'
>
</ul>
</div>
</li>
<li
class=
'test displayed active has-leaf fail'
status=
'fail'
bdd=
'false'
test-id=
'19'
>
<div
class=
'test-heading'
>
<span
class=
'test-name'
>
直播 : 直播素材
</span>
<span
class=
'test-time'
>
Mar 6, 2021 10:38:23 PM
</span>
<span
class=
'test-status right fail'
>
fail
</span>
</div>
<div
class=
'test-content hide'
>
<div
class=
'test-time-info'
>
<span
class=
'label start-time'
>
Mar 6, 2021 10:38:23 PM
</span>
<span
class=
'label end-time'
>
Mar 6, 2021 10:38:28 PM
</span>
<span
class=
'label time-taken grey lighten-1 white-text'
>
0h 0m 5s+386ms
</span>
</div>
<div
class=
'test-desc'
>
Pass: 15 ; Fail: 1 ;
</div>
<div
class=
'test-attributes'
>
<div
class=
'category-list'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
直播素材
</span>
</div>
</div>
<ul
class=
'collapsible node-list'
data-collapsible=
'accordion'
>
<li
class=
'node level-1 leaf fail'
status=
'fail'
test-id=
'20'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
新增红包配置
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:43
PM
</span>
<span
class=
'node-duration'
>
0h 0m
3s+93
ms
</span>
<span
class=
'test-status right
pass'
>
pass
</span>
<div
class=
'node-name'
>
秒薪测试
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:28
PM
</span>
<span
class=
'node-duration'
>
0h 0m
0s+425
ms
</span>
<span
class=
'test-status right
fail'
>
fail
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
<span
class=
'category label white-text'
>
直播素材
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
...
...
@@ -340,27 +784,61 @@
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
<tr
class=
'log'
status=
'fail'
>
<td
class=
'status fail'
title=
'fail'
alt=
'fail'
><i
class=
'material-icons'
>
cancel
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
><pre>
java.lang.AssertionError:
path: https://kjj-mng.duibatest.com.cn/kjy/manager/live/resource/saveOrUpdateFree
params: {clueType=1, resourceImg=https://yun.dui88.com/kjy/image/20210306/1615033315608.jpeg, companyId=101, tradeIntroducePictures=https://yun.dui88.com/kjy/image/20210306/1615040918512.jpeg, resourceTitle=秒薪测试, testType=1, resourcePicturesArr=[https://yun.dui88.com/kjy/image/20210306/1615033326937.jpg], mainButtonTitle=领取门票}
message: 新增免费资料失败
response:{"code":"9999991","desc":"按钮名称不能为空","success":false,"timestamp":1615041508596}
expected object to not be null
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.assertNotNull(Assert.java:423)
at com.kjj.cases.live.LiveMaterial.秒薪测试(LiveMaterial.java:382)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:756)
at org.testng.TestRunner.run(TestRunner.java:610)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1289)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)
at org.testng.TestNG.runSuites(TestNG.java:1133)
at org.testng.TestNG.run(TestNG.java:1104)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
</pre></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
7
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
21
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
新增答题红包
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:4
3 PM
</span>
<span
class=
'node-duration'
>
0h 0m
2s+879
ms
</span>
<div
class=
'node-name'
>
添加奖品
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:2
3 PM
</span>
<span
class=
'node-duration'
>
0h 0m
5s+366
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
<span
class=
'category label white-text'
>
直播素材
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
...
...
@@ -374,7 +852,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -382,17 +860,17 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
8
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
22
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
直播前抽奖
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:44
PM
</span>
<span
class=
'node-duration'
>
0h 0m
2s+717
ms
</span>
<div
class=
'node-name'
>
查询福利并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:23
PM
</span>
<span
class=
'node-duration'
>
0h 0m
5s+172
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
<span
class=
'category label white-text'
>
直播素材
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
...
...
@@ -406,7 +884,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -414,17 +892,17 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
9
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
23
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
直播中抽奖
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:4
4 PM
</span>
<span
class=
'node-duration'
>
0h 0m
2s+56
7ms
</span>
<div
class=
'node-name'
>
添加投票
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:2
4 PM
</span>
<span
class=
'node-duration'
>
0h 0m
4s+79
7ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
<span
class=
'category label white-text'
>
直播素材
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
...
...
@@ -438,7 +916,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -446,17 +924,17 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
10
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
24
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
配置免费福利
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:4
4 PM
</span>
<span
class=
'node-duration'
>
0h 0m
2s+430
ms
</span>
<div
class=
'node-name'
>
查询投票并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:2
4 PM
</span>
<span
class=
'node-duration'
>
0h 0m
4s+484
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
创建直播
</span>
<span
class=
'category label white-text'
>
直播素材
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
...
...
@@ -470,7 +948,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -478,37 +956,43 @@
</div>
</div>
</li>
</ul>
</div>
</li>
<li
class=
'test displayed active has-leaf pass'
status=
'pass'
bdd=
'false'
test-id=
'11'
>
<div
class=
'test-heading'
>
<span
class=
'test-name'
>
直播 : 直播素材
</span>
<span
class=
'test-time'
>
Mar 6, 2021 07:22:44 PM
</span>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'25'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
添加问题
</div>
<span
class=
'node-time'
>
Mar 6, 2021 10:38:24 PM
</span>
<span
class=
'node-duration'
>
0h 0m 4s+172ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'test-content hide'
>
<div
class=
'test-time-info'
>
<span
class=
'label start-time'
>
Mar 6, 2021 07:22:44 PM
</span>
<span
class=
'label end-time'
>
Mar 6, 2021 07:22:46 PM
</span>
<span
class=
'label time-taken grey lighten-1 white-text'
>
0h 0m 2s+156ms
</span>
</div>
<div
class=
'test-desc'
>
Pass: 10 ; Fail: 0 ;
</div>
<div
class=
'test-attributes'
>
<div
class=
'category-list'
>
<div
class=
'collapsible-body'
>
<div
class=
'category-list right'
>
<span
class=
'category label white-text'
>
直播
</span>
<span
class=
'category label white-text'
>
直播素材
</span>
</div>
<div
class=
'node-steps'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Status
</th>
<th>
Timestamp
</th>
<th>
Details
</th>
</tr>
</thead>
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
10:38:28 PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
</table>
</div>
</div>
<ul
class=
'collapsible node-list'
data-collapsible=
'accordion'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'12'
>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'26'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
添加奖品
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:4
4 PM
</span>
<span
class=
'node-duration'
>
0h 0m
2s+173
ms
</span>
<div
class=
'node-name'
>
查询问题并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:2
4 PM
</span>
<span
class=
'node-duration'
>
0h 0m
3s+994
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -528,7 +1012,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -536,11 +1020,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
13
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
27
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
查询福利并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:44
PM
</span>
<span
class=
'node-duration'
>
0h 0m
2s+37
ms
</span>
<div
class=
'node-name'
>
添加图文资料
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:25
PM
</span>
<span
class=
'node-duration'
>
0h 0m
3s+631
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -560,7 +1044,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -568,11 +1052,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
14
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
28
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
添加投票
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:4
5 PM
</span>
<span
class=
'node-duration'
>
0h 0m
1s+735
ms
</span>
<div
class=
'node-name'
>
查询图文并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:2
5 PM
</span>
<span
class=
'node-duration'
>
0h 0m
3s+276
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -592,7 +1076,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -600,11 +1084,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
15
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
29
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
查询投票并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:45
PM
</span>
<span
class=
'node-duration'
>
0h 0m 1s+
601
ms
</span>
<div
class=
'node-name'
>
添加链接资料
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:26
PM
</span>
<span
class=
'node-duration'
>
0h 0m 1s+
843
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -624,7 +1108,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -632,11 +1116,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
16
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
30
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
添加问题
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:45
PM
</span>
<span
class=
'node-duration'
>
0h 0m 1s+
364
ms
</span>
<div
class=
'node-name'
>
查询链接并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:27
PM
</span>
<span
class=
'node-duration'
>
0h 0m 1s+
667
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -656,7 +1140,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -664,11 +1148,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
17
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
31
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
查询问题并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:45
PM
</span>
<span
class=
'node-duration'
>
0h 0m 1s+
185
ms
</span>
<div
class=
'node-name'
>
添加表单
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:27
PM
</span>
<span
class=
'node-duration'
>
0h 0m 1s+
376
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -688,7 +1172,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -696,11 +1180,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
18
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
32
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
添加图文资料
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:45
PM
</span>
<span
class=
'node-duration'
>
0h 0m
0s+891
ms
</span>
<div
class=
'node-name'
>
查询表单并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:27
PM
</span>
<span
class=
'node-duration'
>
0h 0m
1s+196
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -720,7 +1204,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -728,11 +1212,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
19
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
33
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
查询图文并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:46
PM
</span>
<span
class=
'node-duration'
>
0h 0m 0s+
762
ms
</span>
<div
class=
'node-name'
>
免费领资料
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:27
PM
</span>
<span
class=
'node-duration'
>
0h 0m 0s+
894
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -752,7 +1236,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -760,11 +1244,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
20
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
34
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
添加链接
资料
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:46
PM
</span>
<span
class=
'node-duration'
>
0h 0m 0s+
512
ms
</span>
<div
class=
'node-name'
>
删除免费领
资料
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:28
PM
</span>
<span
class=
'node-duration'
>
0h 0m 0s+
749
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -784,7 +1268,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -792,11 +1276,11 @@
</div>
</div>
</li>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
21
'
>
<li
class=
'node level-1 leaf pass'
status=
'pass'
test-id=
'
35
'
>
<div
class=
'collapsible-header'
>
<div
class=
'node-name'
>
查询链接并删除
</div>
<span
class=
'node-time'
>
Mar 6, 2021
07:22:46
PM
</span>
<span
class=
'node-duration'
>
0h 0m 0s+
389
ms
</span>
<div
class=
'node-name'
>
删除秒薪测试
</div>
<span
class=
'node-time'
>
Mar 6, 2021
10:38:28
PM
</span>
<span
class=
'node-duration'
>
0h 0m 0s+
267
ms
</span>
<span
class=
'test-status right pass'
>
pass
</span>
</div>
<div
class=
'collapsible-body'
>
...
...
@@ -816,7 +1300,7 @@
<tbody>
<tr
class=
'log'
status=
'pass'
>
<td
class=
'status pass'
title=
'pass'
alt=
'pass'
><i
class=
'material-icons'
>
check_circle
</i></td>
<td
class=
'timestamp'
>
7:22:46
PM
</td>
<td
class=
'timestamp'
>
10:38:28
PM
</td>
<td
class=
'step-details'
>
Test passed
</td>
</tr>
</tbody>
...
...
@@ -881,13 +1365,14 @@
<div
class=
'category-heading'
>
<span
class=
'category-name'
>
直播
</span>
<span
class=
'category-status right'
>
<span
class=
'label pass'
>
21
</span>
<span
class=
'label pass'
>
33
</span>
<span
class=
'label fail'
>
2
</span>
</span>
</div>
<div
class=
'category-content hide'
>
<div
class=
'category-status-counts'
>
<span
class=
'label green accent-4 white-text'
>
Passed:
21
</span>
<span
class=
'label green accent-4 white-text'
>
Passed:
33
</span>
<span
class=
'label red lighten-1 white-text'
>
Failed: 2
</span>
</div>
...
...
@@ -902,108 +1387,178 @@
</thead>
<tbody>
<tr>
<td>
Mar 6, 2021
07:22:38
PM
</td>
<td>
Mar 6, 2021
10:38:14
PM
</td>
<td
class=
'linked'
test-id=
'1'
>
创建直播
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:38
PM
</td>
<td>
Mar 6, 2021
10:38:14
PM
</td>
<td
class=
'linked'
test-id=
'2'
>
创建直播.创建直播
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 07:22:41 PM
</td>
<td
class=
'linked'
test-id=
'3'
>
创建直播.查询直播配置
</td>
<td>
Mar 6, 2021 10:38:19 PM
</td>
<td
class=
'linked'
test-id=
'3'
>
创建直播.单场红包配置
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:20 PM
</td>
<td
class=
'linked'
test-id=
'4'
>
创建直播.展示红包金额
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:42
PM
</td>
<td
class=
'linked'
test-id=
'
4'
>
创建直播.添加基础配置
</td>
<td>
Mar 6, 2021
10:38:20
PM
</td>
<td
class=
'linked'
test-id=
'
5'
>
创建直播.互动问题
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:43
PM
</td>
<td
class=
'linked'
test-id=
'
5'
>
创建直播.获取剩余红包金额
</td>
<td>
Mar 6, 2021
10:38:20
PM
</td>
<td
class=
'linked'
test-id=
'
6'
>
创建直播.投票
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:43
PM
</td>
<td
class=
'linked'
test-id=
'
6'
>
创建直播.新增红包配置
</td>
<td>
Mar 6, 2021
10:38:20
PM
</td>
<td
class=
'linked'
test-id=
'
7'
>
创建直播.产品资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:43
PM
</td>
<td
class=
'linked'
test-id=
'
7'
>
创建直播.新增答题红包
</td>
<td>
Mar 6, 2021
10:38:20
PM
</td>
<td
class=
'linked'
test-id=
'
8'
>
创建直播.问卷
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'
8'
>
创建直播.直播前抽奖
</td>
<td>
Mar 6, 2021
10:38:21
PM
</td>
<td
class=
'linked'
test-id=
'
9'
>
创建直播.代理人参与条件
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'
9'
>
创建直播.直播中抽奖
</td>
<td>
Mar 6, 2021
10:38:21
PM
</td>
<td
class=
'linked'
test-id=
'
10'
>
创建直播.指定中奖奖品
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'1
0'
>
创建直播.配置免费福利
</td>
<td>
Mar 6, 2021
10:38:21
PM
</td>
<td
class=
'linked'
test-id=
'1
1'
>
创建直播.个人PK奖励
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'1
1'
>
直播素材
</td>
<td>
Mar 6, 2021
10:38:21
PM
</td>
<td
class=
'linked'
test-id=
'1
2'
>
创建直播.团队PK奖励
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'1
2'
>
直播素材.添加奖品
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'1
3'
>
创建直播.获取剩余红包金额
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'1
3'
>
直播素材.查询福利并删除
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'1
4'
>
创建直播.新增红包配置
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:45
PM
</td>
<td
class=
'linked'
test-id=
'1
4'
>
直播素材.添加投票
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'1
5'
>
创建直播.新增答题红包
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:45
PM
</td>
<td
class=
'linked'
test-id=
'1
5'
>
直播素材.查询投票并删除
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'1
6'
>
创建直播.直播前抽奖
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:45
PM
</td>
<td
class=
'linked'
test-id=
'1
6'
>
直播素材.添加问题
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'1
7'
>
创建直播.直播中抽奖
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:45
PM
</td>
<td
class=
'linked'
test-id=
'1
7'
>
直播素材.查询问题并删除
</td>
<td>
Mar 6, 2021
10:38:23
PM
</td>
<td
class=
'linked'
test-id=
'1
8'
>
创建直播.配置免费福利
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 07:22:45 PM
</td>
<td
class=
'linked'
test-id=
'18'
>
直播素材.添加图文资料
</td>
<td>
Mar 6, 2021 10:38:23 PM
</td>
<td
class=
'linked'
test-id=
'19'
>
直播素材
</td>
<td><span
class=
'test-status fail'
>
fail
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:28 PM
</td>
<td
class=
'linked'
test-id=
'20'
>
直播素材.秒薪测试
</td>
<td><span
class=
'test-status fail'
>
fail
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:23 PM
</td>
<td
class=
'linked'
test-id=
'21'
>
直播素材.添加奖品
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:23 PM
</td>
<td
class=
'linked'
test-id=
'22'
>
直播素材.查询福利并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:24 PM
</td>
<td
class=
'linked'
test-id=
'23'
>
直播素材.添加投票
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:24 PM
</td>
<td
class=
'linked'
test-id=
'24'
>
直播素材.查询投票并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:24 PM
</td>
<td
class=
'linked'
test-id=
'25'
>
直播素材.添加问题
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:24 PM
</td>
<td
class=
'linked'
test-id=
'26'
>
直播素材.查询问题并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:25 PM
</td>
<td
class=
'linked'
test-id=
'27'
>
直播素材.添加图文资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:25 PM
</td>
<td
class=
'linked'
test-id=
'28'
>
直播素材.查询图文并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:26 PM
</td>
<td
class=
'linked'
test-id=
'29'
>
直播素材.添加链接资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:27 PM
</td>
<td
class=
'linked'
test-id=
'30'
>
直播素材.查询链接并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:27 PM
</td>
<td
class=
'linked'
test-id=
'31'
>
直播素材.添加表单
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:27 PM
</td>
<td
class=
'linked'
test-id=
'32'
>
直播素材.查询表单并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:46
PM
</td>
<td
class=
'linked'
test-id=
'
19'
>
直播素材.查询图文并删除
</td>
<td>
Mar 6, 2021
10:38:27
PM
</td>
<td
class=
'linked'
test-id=
'
33'
>
直播素材.免费领资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:46
PM
</td>
<td
class=
'linked'
test-id=
'
20'
>
直播素材.添加链接
资料
</td>
<td>
Mar 6, 2021
10:38:28
PM
</td>
<td
class=
'linked'
test-id=
'
34'
>
直播素材.删除免费领
资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:46
PM
</td>
<td
class=
'linked'
test-id=
'
21'
>
直播素材.查询链接并删除
</td>
<td>
Mar 6, 2021
10:38:28
PM
</td>
<td
class=
'linked'
test-id=
'
35'
>
直播素材.删除秒薪测试
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
</tbody>
...
...
@@ -1015,12 +1570,12 @@
<div
class=
'category-heading'
>
<span
class=
'category-name'
>
创建直播
</span>
<span
class=
'category-status right'
>
<span
class=
'label pass'
>
1
0
</span>
<span
class=
'label pass'
>
1
8
</span>
</span>
</div>
<div
class=
'category-content hide'
>
<div
class=
'category-status-counts'
>
<span
class=
'label green accent-4 white-text'
>
Passed: 1
0
</span>
<span
class=
'label green accent-4 white-text'
>
Passed: 1
8
</span>
</div>
...
...
@@ -1036,53 +1591,93 @@
</thead>
<tbody>
<tr>
<td>
Mar 6, 2021
07:22:38
PM
</td>
<td>
Mar 6, 2021
10:38:14
PM
</td>
<td
class=
'linked'
test-id=
'1'
>
创建直播
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:38
PM
</td>
<td>
Mar 6, 2021
10:38:14
PM
</td>
<td
class=
'linked'
test-id=
'2'
>
创建直播.创建直播
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 07:22:41 PM
</td>
<td
class=
'linked'
test-id=
'3'
>
创建直播.查询直播配置
</td>
<td>
Mar 6, 2021 10:38:19 PM
</td>
<td
class=
'linked'
test-id=
'3'
>
创建直播.单场红包配置
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:20 PM
</td>
<td
class=
'linked'
test-id=
'4'
>
创建直播.展示红包金额
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:20 PM
</td>
<td
class=
'linked'
test-id=
'5'
>
创建直播.互动问题
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:20 PM
</td>
<td
class=
'linked'
test-id=
'6'
>
创建直播.投票
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:20 PM
</td>
<td
class=
'linked'
test-id=
'7'
>
创建直播.产品资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:20 PM
</td>
<td
class=
'linked'
test-id=
'8'
>
创建直播.问卷
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:21 PM
</td>
<td
class=
'linked'
test-id=
'9'
>
创建直播.代理人参与条件
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:21 PM
</td>
<td
class=
'linked'
test-id=
'10'
>
创建直播.指定中奖奖品
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:21 PM
</td>
<td
class=
'linked'
test-id=
'11'
>
创建直播.个人PK奖励
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:42
PM
</td>
<td
class=
'linked'
test-id=
'
4'
>
创建直播.添加基础配置
</td>
<td>
Mar 6, 2021
10:38:21
PM
</td>
<td
class=
'linked'
test-id=
'
12'
>
创建直播.团队PK奖励
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:43
PM
</td>
<td
class=
'linked'
test-id=
'
5
'
>
创建直播.获取剩余红包金额
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'
13
'
>
创建直播.获取剩余红包金额
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:43
PM
</td>
<td
class=
'linked'
test-id=
'
6
'
>
创建直播.新增红包配置
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'
14
'
>
创建直播.新增红包配置
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:43
PM
</td>
<td
class=
'linked'
test-id=
'
7
'
>
创建直播.新增答题红包
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'
15
'
>
创建直播.新增答题红包
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'
8
'
>
创建直播.直播前抽奖
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'
16
'
>
创建直播.直播前抽奖
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'
9
'
>
创建直播.直播中抽奖
</td>
<td>
Mar 6, 2021
10:38:22
PM
</td>
<td
class=
'linked'
test-id=
'
17
'
>
创建直播.直播中抽奖
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:44
PM
</td>
<td
class=
'linked'
test-id=
'1
0
'
>
创建直播.配置免费福利
</td>
<td>
Mar 6, 2021
10:38:23
PM
</td>
<td
class=
'linked'
test-id=
'1
8
'
>
创建直播.配置免费福利
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
</tbody>
...
...
@@ -1094,13 +1689,14 @@
<div
class=
'category-heading'
>
<span
class=
'category-name'
>
直播素材
</span>
<span
class=
'category-status right'
>
<span
class=
'label pass'
>
11
</span>
<span
class=
'label pass'
>
15
</span>
<span
class=
'label fail'
>
2
</span>
</span>
</div>
<div
class=
'category-content hide'
>
<div
class=
'category-status-counts'
>
<span
class=
'label green accent-4 white-text'
>
Passed: 1
1
</span>
<span
class=
'label green accent-4 white-text'
>
Passed: 1
5
</span>
<span
class=
'label red lighten-1 white-text'
>
Failed: 2
</span>
</div>
...
...
@@ -1115,58 +1711,88 @@
</thead>
<tbody>
<tr>
<td>
Mar 6, 2021 07:22:44 PM
</td>
<td
class=
'linked'
test-id=
'11'
>
直播素材
</td>
<td>
Mar 6, 2021 10:38:23 PM
</td>
<td
class=
'linked'
test-id=
'19'
>
直播素材
</td>
<td><span
class=
'test-status fail'
>
fail
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:28 PM
</td>
<td
class=
'linked'
test-id=
'20'
>
直播素材.秒薪测试
</td>
<td><span
class=
'test-status fail'
>
fail
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:23 PM
</td>
<td
class=
'linked'
test-id=
'21'
>
直播素材.添加奖品
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:23 PM
</td>
<td
class=
'linked'
test-id=
'22'
>
直播素材.查询福利并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:24 PM
</td>
<td
class=
'linked'
test-id=
'23'
>
直播素材.添加投票
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:4
4 PM
</td>
<td
class=
'linked'
test-id=
'
12'
>
直播素材.添加奖品
</td>
<td>
Mar 6, 2021
10:38:2
4 PM
</td>
<td
class=
'linked'
test-id=
'
24'
>
直播素材.查询投票并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:4
4 PM
</td>
<td
class=
'linked'
test-id=
'
13'
>
直播素材.查询福利并删除
</td>
<td>
Mar 6, 2021
10:38:2
4 PM
</td>
<td
class=
'linked'
test-id=
'
25'
>
直播素材.添加问题
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:45
PM
</td>
<td
class=
'linked'
test-id=
'
14'
>
直播素材.添加投票
</td>
<td>
Mar 6, 2021
10:38:24
PM
</td>
<td
class=
'linked'
test-id=
'
26'
>
直播素材.查询问题并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:4
5 PM
</td>
<td
class=
'linked'
test-id=
'
15'
>
直播素材.查询投票并删除
</td>
<td>
Mar 6, 2021
10:38:2
5 PM
</td>
<td
class=
'linked'
test-id=
'
27'
>
直播素材.添加图文资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:4
5 PM
</td>
<td
class=
'linked'
test-id=
'
16'
>
直播素材.添加问题
</td>
<td>
Mar 6, 2021
10:38:2
5 PM
</td>
<td
class=
'linked'
test-id=
'
28'
>
直播素材.查询图文并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:45
PM
</td>
<td
class=
'linked'
test-id=
'
17'
>
直播素材.查询问题并删除
</td>
<td>
Mar 6, 2021
10:38:26
PM
</td>
<td
class=
'linked'
test-id=
'
29'
>
直播素材.添加链接资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:45
PM
</td>
<td
class=
'linked'
test-id=
'
18'
>
直播素材.添加图文资料
</td>
<td>
Mar 6, 2021
10:38:27
PM
</td>
<td
class=
'linked'
test-id=
'
30'
>
直播素材.查询链接并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:46
PM
</td>
<td
class=
'linked'
test-id=
'
19'
>
直播素材.查询图文并删除
</td>
<td>
Mar 6, 2021
10:38:27
PM
</td>
<td
class=
'linked'
test-id=
'
31'
>
直播素材.添加表单
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021
07:22:46
PM
</td>
<td
class=
'linked'
test-id=
'
20'
>
直播素材.添加链接资料
</td>
<td>
Mar 6, 2021
10:38:27
PM
</td>
<td
class=
'linked'
test-id=
'
32'
>
直播素材.查询表单并删除
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 07:22:46 PM
</td>
<td
class=
'linked'
test-id=
'21'
>
直播素材.查询链接并删除
</td>
<td>
Mar 6, 2021 10:38:27 PM
</td>
<td
class=
'linked'
test-id=
'33'
>
直播素材.免费领资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:28 PM
</td>
<td
class=
'linked'
test-id=
'34'
>
直播素材.删除免费领资料
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
<tr>
<td>
Mar 6, 2021 10:38:28 PM
</td>
<td
class=
'linked'
test-id=
'35'
>
直播素材.删除秒薪测试
</td>
<td><span
class=
'test-status pass'
>
pass
</span></td>
</tr>
</tbody>
...
...
@@ -1186,6 +1812,101 @@
</div>
</div>
<!-- category view -->
<div
id=
'exception-view'
class=
'view hide'
>
<section
id=
'controls'
>
<div
class=
'controls grey lighten-4'
>
<!-- search -->
<div
class=
'chip transparent'
alt=
'Search Tests'
title=
'Search Tests'
>
<a
href=
"#"
class=
'search-div'
>
<i
class=
'material-icons'
>
search
</i>
Search
</a>
<div
class=
'input-field left hide'
>
<input
id=
'search-tests'
type=
'text'
class=
'validate browser-default'
placeholder=
'Search Tests...'
>
</div>
</div>
<!-- search -->
</div>
</section>
<div
class=
'subview-left left'
>
<div
class=
'view-summary'
>
<h5>
Exceptions
</h3>
<ul
id=
'exception-collection'
class=
'exception-collection'
>
<li
class=
'exception displayed active'
>
<div
class=
'exception-heading'
>
<span
class=
'exception-name'
>
java.lang.AssertionError
</span>
<span
class=
'exception-count right'
><span
class=
'label red lighten-1 white-text'
>
1
</span></span>
</div>
<div
class=
'exception-content hide'
>
<div
class=
'exception-tests'
>
<table
class=
'bordered table-results'
>
<thead>
<tr>
<th>
Timestamp
</th>
<th>
TestName
</th>
<th>
Status
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Mar 6, 2021 10:38:28 PM
</td>
<td
class=
'linked'
test-id=
'20'
>
直播素材.秒薪测试
</td>
<td><pre><pre>
java.lang.AssertionError:
path: https://kjj-mng.duibatest.com.cn/kjy/manager/live/resource/saveOrUpdateFree
params: {clueType=1, resourceImg=https://yun.dui88.com/kjy/image/20210306/1615033315608.jpeg, companyId=101, tradeIntroducePictures=https://yun.dui88.com/kjy/image/20210306/1615040918512.jpeg, resourceTitle=秒薪测试, testType=1, resourcePicturesArr=[https://yun.dui88.com/kjy/image/20210306/1615033326937.jpg], mainButtonTitle=领取门票}
message: 新增免费资料失败
response:{"code":"9999991","desc":"按钮名称不能为空","success":false,"timestamp":1615041508596}
expected object to not be null
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.assertNotNull(Assert.java:423)
at com.kjj.cases.live.LiveMaterial.秒薪测试(LiveMaterial.java:382)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:756)
at org.testng.TestRunner.run(TestRunner.java:610)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:387)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1289)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)
at org.testng.TestNG.runSuites(TestNG.java:1133)
at org.testng.TestNG.run(TestNG.java:1104)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
</pre></pre></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
</ul>
</div>
</div>
<div
class=
'subview-right left'
>
<div
class=
'view-summary'
>
<h5
class=
'exception-name'
></h5>
</div>
</div>
</div>
<!-- exception view -->
<div
id=
'dashboard-view'
class=
'view hide'
>
<div
class=
'card-panel transparent np-v'
>
...
...
@@ -1195,31 +1916,31 @@
<div
class=
'col s2'
>
<div
class=
'card-panel r'
>
Tests
<div
class=
'panel-lead'
>
19
</div>
<div
class=
'panel-lead'
>
33
</div>
</div>
</div>
<div
class=
'col s2'
>
<div
class=
'card-panel r'
>
Steps
<div
class=
'panel-lead'
>
19
</div>
<div
class=
'panel-lead'
>
33
</div>
</div>
</div>
<div
class=
'col s2'
>
<div
class=
'card-panel r'
>
Start
<div
class=
'panel-lead'
>
Mar 6, 2021
07:22:38
PM
</div>
<div
class=
'panel-lead'
>
Mar 6, 2021
10:38:14
PM
</div>
</div>
</div>
<div
class=
'col s2'
>
<div
class=
'card-panel r'
>
End
<div
class=
'panel-lead'
>
Mar 6, 2021
07:22:44
PM
</div>
<div
class=
'panel-lead'
>
Mar 6, 2021
10:38:23
PM
</div>
</div>
</div>
<div
class=
'col s2'
>
<div
class=
'card-panel r'
>
Time Taken
<div
class=
'panel-lead'
>
6,074
ms
</div>
<div
class=
'panel-lead'
>
8,558
ms
</div>
</div>
</div>
<div
class=
'col s4'
>
...
...
@@ -1235,20 +1956,20 @@
</tr>
<tr>
<td>
直播
</td>
<td>
21
</td>
<td>
0
</td>
<td>
33
</td>
<td>
2
</td>
<td>
0
</td>
</tr>
<tr>
<td>
创建直播
</td>
<td>
1
0
</td>
<td>
1
8
</td>
<td>
0
</td>
<td>
0
</td>
</tr>
<tr>
<td>
直播素材
</td>
<td>
1
1
</td>
<td>
0
</td>
<td>
1
5
</td>
<td>
2
</td>
<td>
0
</td>
</tr>
</table>
...
...
@@ -1264,22 +1985,22 @@
<script>
var
statusGroup
=
{
passParent
:
19
,
failParent
:
0
,
passParent
:
32
,
failParent
:
1
,
fatalParent
:
0
,
errorParent
:
0
,
warningParent
:
0
,
skipParent
:
0
,
exceptionsParent
:
0
,
exceptionsParent
:
1
,
passChild
:
19
,
failChild
:
0
,
passChild
:
32
,
failChild
:
1
,
fatalChild
:
0
,
errorChild
:
0
,
warningChild
:
0
,
skipChild
:
0
,
infoChild
:
0
,
exceptionsChild
:
0
,
exceptionsChild
:
1
,
passGrandChild
:
0
,
failGrandChild
:
0
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment