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
4f0f7e0d
Commit
4f0f7e0d
authored
Sep 14, 2022
by
龚小红
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.增加约面日历和非一面面访信息维护
parent
ead22992
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
328 additions
and
204 deletions
+328
-204
Authorization.java
src/test/java/com/oto/cases/admin/Authorization.java
+9
-4
Phone.java
src/test/java/com/oto/cases/otoseller/Phone.java
+74
-134
Work.java
src/test/java/com/oto/cases/otoseller/Work.java
+219
-52
BasicConfig.java
src/test/java/com/oto/config/BasicConfig.java
+10
-2
BaseUtils.java
src/test/java/com/oto/utils/BaseUtils.java
+15
-9
IdMakeUtil.java
src/test/java/com/oto/utils/IdMakeUtil.java
+1
-3
No files found.
src/test/java/com/oto/cases/admin/Authorization.java
View file @
4f0f7e0d
...
...
@@ -14,18 +14,23 @@ public interface Authorization {
NetworkUtils
network
=
NetworkUtils
.
getInstance
();
//oto销售工作台-销售
default
void
oto
s
ellerAuth
()
{
network
.
agentCookies
.
put
(
otoSellerCookieKey
,
otoSellerCookieValue
);
default
void
oto
S
ellerAuth
()
{
network
.
agentCookies
.
put
(
"otoToken"
,
otoSellerCookieValue
);
}
//oto销售工作台-总监
default
void
otoLeaderAuth
()
{
network
.
agentCookies
.
put
(
otoLeaderCookieKey
,
otoLeaderCookieValue
);
network
.
agentCookies
.
put
(
"otoToken"
,
otoLeaderCookieValue
);
}
//oto销售工作台-管理员
default
void
otoManagerAuth
()
{
network
.
agentCookies
.
put
(
otoManagerCookieKey
,
otoManagerCookieValue
);
network
.
agentCookies
.
put
(
"otoToken"
,
otoManagerCookieValue
);
}
//oto销售工作台-带看人
default
void
otoTakerAuth
()
{
network
.
agentCookies
.
put
(
"otoToken"
,
"eTd1Af5HRGuUtkXq6ZtdzRwuMAr15wbxgFdLvd7yBH2P3tUPLtxddZ3PVh7hYvUNEmh2KUB"
);
}
//久久保管理员-正常权限模式
...
...
src/test/java/com/oto/cases/otoseller/Phone.java
View file @
4f0f7e0d
...
...
@@ -27,14 +27,12 @@ public class Phone implements Authorization {
private
String
myselfCustomer_id
;
private
long
productId
=
19
;
private
int
businessId
;
private
ArrayList
ids
;
private
ArrayList
<
String
>
interviewIds
;
private
Object
scanCodeId
;
@BeforeTest
public
void
setUp
(){
//登录销售工作台手机端
otoSellerTku
();
ids
=
new
ArrayList
<>();
interviewIds
=
new
ArrayList
<>();
}
...
...
@@ -120,8 +118,8 @@ public class Phone implements Authorization {
Assert
.
assertEquals
(
size
,
2
,
network
.
message
(
params
,
BasicConfig
.
PHONE_listCustInterConf
,
"见面场景列表数量错误"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"创建
1进2
的面访"
,
priority
=
8
)
public
void
创建
1
进
2
的面访
(){
@Test
(
description
=
"创建
社区参观
的面访"
,
priority
=
8
)
public
void
创建
社区参观
的面访
(){
interviewIds
.
add
(
saveInterview
(
cust_id
,
1
));
interviewIds
.
add
(
saveInterview
(
myselfCustomer_id
,
1
));
interviewIds
.
add
(
saveInterview
(
introduceCustomer_id
,
1
));
...
...
@@ -141,12 +139,12 @@ public class Phone implements Authorization {
@Test
(
description
=
"查询面访二维码"
,
priority
=
10
)
public
void
查询面访二维码
(){
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"ids"
,
interviewIds
.
get
(
0
)
+
","
+
interviewIds
.
get
(
1
)+
","
+
interviewIds
.
get
(
2
)
);
params
.
put
(
"ids"
,
interviewIds
.
get
(
0
));
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
PHONE_interviewCode
);
int
size
=
response
.
jsonPath
().
getInt
(
"data.size()"
);
int
statusCount
=
response
.
jsonPath
().
getInt
(
"data.findAll{it.interviewStatus == 1}.size()"
);
Assert
.
assertEquals
(
size
,
3
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewCode
,
"面访码数量错误"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
statusCount
,
3
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewCode
,
"面访码数量错误"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
size
,
1
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewCode
,
"面访码数量错误"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
statusCount
,
1
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewCode
,
"面访码数量错误"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"上传地理位置"
,
priority
=
11
)
...
...
@@ -253,47 +251,35 @@ public class Phone implements Authorization {
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
PHONE_custExtDetail
);
String
interviewAddress
=
response
.
jsonPath
().
getString
(
"data.interviewAddress"
);
int
commitPlanFlag
=
response
.
jsonPath
().
getInt
(
"data.commitPlanFlag"
);
String
giveProspectusFlag
=
response
.
jsonPath
().
getString
(
"data.giveProspectusFlag"
);
Assert
.
assertNotNull
(
interviewAddress
,
network
.
message
(
params
,
BasicConfig
.
PHONE_custExtDetail
,
"面访地址为空"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
commitPlanFlag
,
0
,
network
.
message
(
params
,
BasicConfig
.
PHONE_custExtDetail
,
"是否提交计划书不为否"
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
giveProspectusFlag
,
network
.
message
(
params
,
BasicConfig
.
PHONE_custExtDetail
,
"是否可送计划书不为空"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
commitPlanFlag
,
0
,
network
.
message
(
params
,
BasicConfig
.
PHONE_custExtDetail
,
"是否已送计划书不为否"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"上传
1进2面访详情并提示不流转2阶段
"
,
priority
=
21
)
public
void
上传
1
进
2
面访详情并提示不流转
2
阶段
(){
@Test
(
description
=
"上传
第一次社区参观面访详情
"
,
priority
=
21
)
public
void
上传
第一次社区参观面访详情
(){
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
int
[]
unusualTypes
=
{
1
,
2
};
int
[]
pensionOthers
={
1
,
2
};
int
[]
coreMakers
={
2
,
3
};
ArrayList
unusualProofs
=
new
ArrayList
();
unusualProofs
.
add
(
"https://yun.dui88.com/kjy/image/20220506/ecf1d585e2e040ad97ec7996ce5bf2a3.jpg"
);
unusualProofs
.
add
(
"https://yun.dui88.com/kjy/image/20220505/62cc0df86ed7430ea67d5015ee3fcc2b.jpg"
);
params
.
put
(
"id"
,
interviewIds
.
get
(
0
));
params
.
put
(
"interviewRemark"
,
"第一次社区参观"
);
params
.
put
(
"custPhase"
,
1
);
params
.
put
(
"pensionSalary"
,
null
);
params
.
put
(
"pensionCost"
,
null
);
params
.
put
(
"pensionOther"
,
null
);
params
.
put
(
"pensionOthers"
,
null
);
params
.
put
(
"coreMaker"
,
2
);
params
.
put
(
"coreMakers"
,
coreMakers
);
params
.
put
(
"birthdayTime"
,
"1960-01-03"
);
params
.
put
(
"custAddress"
,
"杭州市文新地铁站"
);
params
.
put
(
"followWeight"
,
1
);
params
.
put
(
"custFlow"
,
1
);
params
.
put
(
"giveProspectusFlag"
,
1
);
params
.
put
(
"commitPlanFlag"
,
1
);
params
.
put
(
"prospectusAmount"
,
"计划书金额20W"
);
params
.
put
(
"prospectusDesc"
,
"计划书确认情况良好"
);
params
.
put
(
"isNormal"
,
false
);
params
.
put
(
"insureReason"
,
"未确认投保要素说明"
);
params
.
put
(
"unusualTypes"
,
unusualTypes
);
params
.
put
(
"unusualExplain"
,
"手机号不一致且非面对面扫码的情况说明"
);
params
.
put
(
"unusualProofs"
,
unusualProofs
);
//校验2阶段不流转
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_checkCustPhase
);
boolean
satisfyFlag
=
response
.
jsonPath
().
getBoolean
(
"data.satisfyFlag"
);
String
message
=
response
.
jsonPath
().
getString
(
"data.message"
);
Assert
.
assertFalse
(
satisfyFlag
,
network
.
message
(
params
,
BasicConfig
.
PHONE_checkCustPhase
,
"上传面访失败"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
message
,
"不满足阶段二客户条件,请点击“我再想想”完善客户面访信息,点击“确认”面访完成,客户阶段仍为阶段一"
,
network
.
message
(
params
,
BasicConfig
.
PHONE_checkCustPhase
,
"上传面访失败"
,
response
.
body
().
asString
()));
//上传面访-修改为满足2阶段流转
params
.
put
(
"pensionSalary"
,
1
);
params
.
put
(
"pensionCost"
,
1
);
params
.
put
(
"pensionOthers"
,
pensionOthers
);
params
.
put
(
"pensionOther"
,
"1,2"
);
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_interviewFeedback
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_interviewFeedback
);
boolean
success
=
response
.
jsonPath
().
getBoolean
(
"success"
);
Assert
.
assertTrue
(
success
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewFeedback
,
"上传面访失败"
,
response
.
body
().
asString
()));
}
...
...
@@ -324,20 +310,21 @@ public class Phone implements Authorization {
Assert
.
assertEquals
(
size
,
1
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewList
,
"面访列表为空"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
interviewStatus
,
6
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewList
,
"面访状态错误"
,
response
.
body
().
asString
()));
//销售查看上传记录
oto
sell
erAuth
();
//
带看
销售查看上传记录
oto
Tak
erAuth
();
params
.
clear
();
params
.
put
(
"custId"
,
IdMakeUtil
.
decodingId
(
cust_id
));
response
=
network
.
getResponse
(
params
,
BasicConfig
.
WORK_invire
);
boolean
data
=
response
.
jsonPath
().
getBoolean
(
"data"
);
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
WORK_invire
,
"上传面访记录>=1"
,
response
.
body
().
asString
()));
boolean
data
=
response
.
jsonPath
().
getBoolean
(
"data"
);
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
WORK_invire
,
"上传面访记录>=1"
,
response
.
body
().
asString
()));
//查看约面日历
otoSellerAuth
();
Work
.
getCalendarlist
(
Work
.
today
,
5
,
"自动化激活用户"
);
}
@Test
(
description
=
"总监查看审批列表"
,
priority
=
24
)
public
void
总监查看审批列表
(){
otoLeaderAuth
();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"pageIndex"
,
1
);
params
.
put
(
"pageSize"
,
20
);
...
...
@@ -348,7 +335,7 @@ public class Phone implements Authorization {
String
sellerName
=
response
.
jsonPath
().
getString
(
"data.list[0].sellerName"
);
Assert
.
assertTrue
(
size
>
0
,
network
.
message
(
BasicConfig
.
WORK_interviewAuditList
,
"待审批列表为空"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
unusualTypes
,
2
,
network
.
message
(
BasicConfig
.
WORK_interviewAuditList
,
"面访异常错误"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
sellerName
,
"勿动-自动化测试
销售
"
,
network
.
message
(
BasicConfig
.
WORK_interviewAuditList
,
"销售名称错误"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
sellerName
,
"勿动-自动化测试
带看
"
,
network
.
message
(
BasicConfig
.
WORK_interviewAuditList
,
"销售名称错误"
,
response
.
body
().
asString
()));
businessId
=
response
.
jsonPath
().
getInt
(
"data.list[0].businessId"
);
}
...
...
@@ -363,7 +350,7 @@ public class Phone implements Authorization {
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
WORK_interviewAuditReject
,
"驳回审批失败"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"查看我的面访状态更新为已失效"
,
priority
=
2
7
)
@Test
(
description
=
"查看我的面访状态更新为已失效"
,
priority
=
2
6
)
public
void
查看我的面访状态更新为已失效
(){
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"custName"
,
"自动化激活用户"
);
...
...
@@ -373,13 +360,13 @@ public class Phone implements Authorization {
Assert
.
assertEquals
(
interviewStatus
,
7
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewList
,
"面访状态错误"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"取消面访"
,
priority
=
2
8
)
@Test
(
description
=
"取消面访"
,
priority
=
2
7
)
public
void
取消面访
(){
interviewCancle
(
interviewIds
.
get
(
1
));
interviewCancle
(
interviewIds
.
get
(
2
));
}
@Test
(
description
=
"客户再次创建面访并扫码评价"
,
priority
=
2
9
)
@Test
(
description
=
"客户再次创建面访并扫码评价"
,
priority
=
2
8
)
public
void
客户再次创建面访并扫码评价
()
throws
SQLException
{
otoSellerTku
();
interviewIds
.
clear
();
...
...
@@ -392,39 +379,44 @@ public class Phone implements Authorization {
scanCode
(
IdMakeUtil
.
encodingId
((
Long
)
scanCodeId
),
1047
);
}
@Test
(
description
=
"上传1进2面访详情并提示2阶段满足流转2阶段"
,
priority
=
30
)
public
void
上传
1
进
2
面访详情并提示流转
2
阶段
(){
@Test
(
description
=
"查询异常面访回填信息"
,
priority
=
29
)
public
void
查询异常面访回填信息
(){
otoSellerTku
();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"id"
,
interviewIds
.
get
(
0
));
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
PHONE_custExtDetail
);
String
custAddress
=
response
.
jsonPath
().
getString
(
"data.custAddress"
);
int
commitPlanFlag
=
response
.
jsonPath
().
getInt
(
"data.commitPlanFlag"
);
int
giveProspectusFlag
=
response
.
jsonPath
().
getInt
(
"data.giveProspectusFlag"
);
Assert
.
assertNotNull
(
custAddress
,
network
.
message
(
params
,
BasicConfig
.
PHONE_custExtDetail
,
"客户地址为空"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
giveProspectusFlag
,
1
,
network
.
message
(
params
,
BasicConfig
.
PHONE_custExtDetail
,
"是否可送计划书不为是"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
commitPlanFlag
,
1
,
network
.
message
(
params
,
BasicConfig
.
PHONE_custExtDetail
,
"是否已送计划书不为是"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"上传社区参观面访详情"
,
priority
=
30
)
public
void
上传社区参观面访详情
(){
otoSellerTku
();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
int
[]
unusualTypes
=
{
2
};
int
[]
pensionOthers
=
{
2
};
int
[]
coreMakers
=
{
2
,
4
};
ArrayList
unusualProofs
=
new
ArrayList
();
unusualProofs
.
add
(
"https://yun.dui88.com/kjy/image/20220506/ecf1d585e2e040ad97ec7996ce5bf2a3.jpg"
);
params
.
put
(
"id"
,
interviewIds
.
get
(
0
));
params
.
put
(
"custPhase"
,
1
);
params
.
put
(
"interviewRemark"
,
"1进2的社区参观"
);
params
.
put
(
"coreMaker"
,
2
);
params
.
put
(
"interviewRemark"
,
"第二次的社区参观"
);
params
.
put
(
"coreMakers"
,
coreMakers
);
params
.
put
(
"birthdayTime"
,
"1960-01-03"
);
params
.
put
(
"custAddress"
,
"杭州市文新地铁站"
);
params
.
put
(
"followWeight"
,
1
);
params
.
put
(
"commitPlanFlag"
,
0
);
params
.
put
(
"pensionSalary"
,
1
);
params
.
put
(
"pensionCost"
,
1
);
params
.
put
(
"pensionOther"
,
"2"
);
params
.
put
(
"pensionOthers"
,
pensionOthers
);
params
.
put
(
"custFlow"
,
1
);
params
.
put
(
"giveProspectusFlag"
,
1
);
params
.
put
(
"commitPlanFlag"
,
1
);
params
.
put
(
"prospectusAmount"
,
"计划书金额15W"
);
params
.
put
(
"prospectusDesc"
,
"计划书确认情况客户表示认同"
);
params
.
put
(
"isNormal"
,
false
);
params
.
put
(
"unusualTypes"
,
unusualTypes
);
params
.
put
(
"unusualExplain"
,
"手机号不一致的情况说明"
);
params
.
put
(
"unusualProofs"
,
unusualProofs
);
//校验2阶段满足流转
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_checkCustPhase
);
boolean
satisfyFlag
=
response
.
jsonPath
().
getBoolean
(
"data.satisfyFlag"
);
String
message
=
response
.
jsonPath
().
getString
(
"data.message"
);
Assert
.
assertTrue
(
satisfyFlag
,
network
.
message
(
params
,
BasicConfig
.
PHONE_checkCustPhase
,
"上传面访失败"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
message
,
"点击“确定”后该客户阶段变更为阶段二"
,
network
.
message
(
params
,
BasicConfig
.
PHONE_checkCustPhase
,
"上传面访失败"
,
response
.
body
().
asString
()));
//上传面访
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_interviewFeedback
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_interviewFeedback
);
boolean
success
=
response
.
jsonPath
().
getBoolean
(
"success"
);
Assert
.
assertTrue
(
success
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewFeedback
,
"上传面访失败"
,
response
.
body
().
asString
()));
}
...
...
@@ -460,24 +452,15 @@ public class Phone implements Authorization {
Assert
.
assertEquals
(
interviewStatus
,
4
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewList
,
"面访状态错误"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"客户流程组_表格总览"
,
priority
=
34
)
public
void
客户流程组
_
表格总览
(){
otosellerAuth
();
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_staticChart
);
int
ondStep
=
response
.
jsonPath
().
getInt
(
"data[0].custNum"
);
int
twoStep
=
response
.
jsonPath
().
getInt
(
"data[1].custNum"
);
Assert
.
assertEquals
(
ondStep
,
Work
.
chart
.
get
(
"ondStep"
)+
1
,
network
.
message
(
BasicConfig
.
WORK_staticChart
,
"创建的转介绍和缘故客户的流程组非1"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
twoStep
,
Work
.
chart
.
get
(
"twoStep"
)+
1
,
network
.
message
(
BasicConfig
.
WORK_staticChart
,
"客户社区参观后未提交计划书流程组状态未变为2"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"创建
2进3/2进4
面访"
,
priority
=
35
)
public
void
创建
2
进
4
的
面访
(){
@Test
(
description
=
"创建
送计划书
面访"
,
priority
=
35
)
public
void
创建
送计划书
面访
(){
otoSellerTku
();
interviewIds
.
add
(
saveInterview
(
cust_id
,
2
));
}
@Test
(
description
=
"客户完成
2进3/2进4
面访并扫码"
,
priority
=
36
)
public
void
客户完成
2
阶段
面访并扫码
()
throws
SQLException
{
@Test
(
description
=
"客户完成
送计划书
面访并扫码"
,
priority
=
36
)
public
void
客户完成
送计划书
面访并扫码
()
throws
SQLException
{
agentTku
();
Map
<
String
,
Object
>
result
=
KjyLiveNormalDB
.
getInstance
().
findSimpleResult
(
UserSqlFactory
.
selectCodeIdByCustomerId
,
IdMakeUtil
.
decodingId
(
cust_id
));
scanCodeId
=
result
.
get
(
"scan_code_id"
);
...
...
@@ -533,72 +516,29 @@ public class Phone implements Authorization {
}
@Test
(
description
=
"上传2进4面访并提示满足流转4阶段"
,
priority
=
41
)
public
void
上传
2
进
4
面访并提示满足流转
4
阶段
(){
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
@Test
(
description
=
"上传送计划书面访"
,
priority
=
41
)
public
void
上传送计划书面访
()
{
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
int
[]
coreMakers
=
{
2
,
4
};
params
.
put
(
"id"
,
interviewIds
.
get
(
0
));
params
.
put
(
"interviewRemark"
,
"2进4的社区参观"
);
params
.
put
(
"custPhase"
,
2
);
params
.
put
(
"coreMaker"
,
1
);
params
.
put
(
"followWeight"
,
2
);
params
.
put
(
"interviewRemark"
,
"送客户最终版计划书"
);
params
.
put
(
"coreMakers"
,
coreMakers
);
params
.
put
(
"birthdayTime"
,
"1960-01-03"
);
params
.
put
(
"custAddress"
,
"杭州市文新地铁站"
);
params
.
put
(
"followWeight"
,
1
);
params
.
put
(
"giveProspectusFlag"
,
1
);
params
.
put
(
"commitPlanFlag"
,
1
);
params
.
put
(
"planPicUrl"
,
"//yun.dui88.com/kjy/image/20220531/e2ba7ec684044d93864678ed80b20fb3.jpg"
);
params
.
put
(
"commitCustStatus"
,
1
);
params
.
put
(
"commitInsure"
,
1
);
params
.
put
(
"productId"
,
IdMakeUtil
.
encodingId
(
productId
));
params
.
put
(
"insApplicant"
,
1
);
params
.
put
(
"insByApplicant"
,
1
);
params
.
put
(
"insPeriod"
,
3
);
params
.
put
(
"insMoney"
,
3
);
params
.
put
(
"prospectusAmount"
,
"计划书金额15W"
);
params
.
put
(
"prospectusDesc"
,
"计划书确认情况客户认可,准备筹集资金"
);
params
.
put
(
"isNormal"
,
true
);
params
.
put
(
"custFlow"
,
2
);
//校验4阶段满足流转
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_checkCustPhase
);
boolean
satisfyFlag
=
response
.
jsonPath
().
getBoolean
(
"data.satisfyFlag"
);
String
message
=
response
.
jsonPath
().
getString
(
"data.message"
);
Assert
.
assertTrue
(
satisfyFlag
,
network
.
message
(
params
,
BasicConfig
.
PHONE_checkCustPhase
,
"上传面访失败"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
message
,
"点击“确定”后该客户阶段变更为阶段四"
,
network
.
message
(
params
,
BasicConfig
.
PHONE_checkCustPhase
,
"上传面访失败"
,
response
.
body
().
asString
()));
//上传面访
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_interviewFeedback
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_interviewFeedback
);
boolean
success
=
response
.
jsonPath
().
getBoolean
(
"success"
);
Assert
.
assertTrue
(
success
,
network
.
message
(
params
,
BasicConfig
.
PHONE_interviewFeedback
,
"上传面访失败"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"修改客户阶段信息"
,
priority
=
43
)
public
void
修改客户阶段信息
(){
otosellerAuth
();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
List
<
Integer
>
pensionOthers
=
Arrays
.
asList
(
2
);
params
.
put
(
"custId"
,
IdMakeUtil
.
decodingId
(
cust_id
));
params
.
put
(
"custFlow"
,
4
);
params
.
put
(
"pensionSalary"
,
1
);
params
.
put
(
"pensionCost"
,
1
);
params
.
put
(
"pensionOthers"
,
pensionOthers
);
params
.
put
(
"commitPlanFlag"
,
1
);
params
.
put
(
"planPicUrl"
,
"//yun.dui88.com/kjy/image/20220531/e2ba7ec684044d93864678ed80b20fb3.jpg"
);
params
.
put
(
"commitCustStatus"
,
1
);
params
.
put
(
"commitInsure"
,
1
);
params
.
put
(
"productId"
,
productId
);
params
.
put
(
"insApplicant"
,
1
);
params
.
put
(
"insByApplicant"
,
1
);
params
.
put
(
"insPeriod"
,
3
);
params
.
put
(
"insMoney"
,
3
);
params
.
put
(
"dealFlag"
,
1
);
params
.
put
(
"dealNumber"
,
"ZDHCSBD000001"
);
params
.
put
(
"insureReason"
,
null
);
params
.
put
(
"isExistInterview"
,
false
);
System
.
out
.
println
(
params
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_updateCustPhase
);
System
.
out
.
println
(
params
);
boolean
data
=
response
.
jsonPath
().
getBoolean
(
"data"
);
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
PHONE_updateCustPhase
,
"修改客户阶段信息失败"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"销售任务_销售完成任务"
,
priority
=
45
)
public
void
销售任务
_
销售完成任务
(){
otoLeaderAuth
();
//销售完成面访,跟进时间更新,联系新客户任务完成
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"taskConfId"
,
4
);
//任务配置id,4:联系未跟进的客户,5:复拨未接通的客户,6:超过N天未跟进的客户
...
...
@@ -672,7 +612,7 @@ public class Phone implements Authorization {
@Test
(
description
=
"查询新客户详细信息"
,
priority
=
52
)
public
void
查询新客户详细信息
(){
oto
sell
erAuth
();
oto
Tak
erAuth
();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"custId"
,
IdMakeUtil
.
decodingId
(
cust_id
));
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
WORK_detail
);
...
...
src/test/java/com/oto/cases/otoseller/Work.java
View file @
4f0f7e0d
package
com
.
oto
.
cases
.
otoseller
;
import
com.oto.bean.invitationRecord
;
import
com.oto.bean.inviteDay
;
import
com.oto.cases.admin.Authorization
;
import
com.oto.config.BasicConfig
;
import
com.oto.utils.IdMakeUtil
;
import
com.oto.utils.JsonUtil
;
import
com.oto.utils.NetworkUtils
;
import
io.restassured.response.Response
;
import
org.testng.Assert
;
...
...
@@ -10,10 +13,12 @@ import org.testng.annotations.BeforeTest;
import
org.testng.annotations.Test
;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
static
com
.
oto
.
config
.
BasicConfig
.*;
import
static
com
.
oto
.
utils
.
BaseUtils
.*;
import
static
com
.
oto
.
utils
.
BaseUtils
.
otoManagerLogin
;
import
static
com
.
oto
.
utils
.
ThreadSleepUtils
.
sleep
;
public
class
Work
implements
Authorization
{
...
...
@@ -23,21 +28,25 @@ public class Work implements Authorization {
public
static
String
phone
=
"15136361301"
;
//客户手机号
public
int
followTimes
;
//跟进次数
public
static
Map
<
String
,
Integer
>
header
;
public
static
Map
<
String
,
Integer
>
chart
;
public
Map
<
String
,
Double
>
coefficient
;
public
static
long
sceneId
;
public
String
inviteUrl
;
//邀请函链接
public
int
taskId
;
//任务ID
public
static
long
now
;
//当前时间戳
public
static
long
today
;
//当前日期0点时间戳
public
double
takerCoefficient
;
public
static
invitationRecord
recordItem
;
@BeforeTest
public
void
setUp
(){
header
=
new
HashMap
<>();
chart
=
new
HashMap
<>();
coefficient
=
new
HashMap
<>();
otoSellerLogin
();
otoLeaderLogin
();
otoManagerLogin
();
ssoLogin
();
now
=
System
.
currentTimeMillis
();
today
=
now
-(
now
+
8
*
3600
*
1000
)
%
(
60
*
60
*
24
*
1000
);
}
@Test
(
description
=
"公域引流_创建标签"
,
priority
=
1
)
...
...
@@ -162,7 +171,7 @@ public class Work implements Authorization {
@Test
(
description
=
"工作台_销售信息"
,
priority
=
7
)
public
void
客户分类
_
销售信息
(){
oto
s
ellerAuth
();
oto
S
ellerAuth
();
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_userInfo
);
String
sellerName
=
response
.
jsonPath
().
getString
(
"data.sellerName"
);
Assert
.
assertEquals
(
sellerName
,
"勿动-自动化测试销售"
,
network
.
message
(
BasicConfig
.
WORK_userInfo
,
"销售姓名错误"
,
response
.
body
().
asString
()));
...
...
@@ -179,35 +188,20 @@ public class Work implements Authorization {
Assert
.
assertEquals
(
notifyType
,
2
,
network
.
message
(
BasicConfig
.
WORK_notifyList
,
"通知栏类型错误"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"客户状态分类_数量总览"
,
priority
=
9
)
@Test
(
description
=
"工作台_菜单权限列表"
,
priority
=
9
)
public
void
工作台
_
菜单权限列表
(){
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_menu_list
);
int
size
=
response
.
jsonPath
().
getInt
(
"data.menuList.size()"
);
Assert
.
assertEquals
(
size
,
4
,
network
.
message
(
BasicConfig
.
WORK_notifyList
,
"菜单列表数量错误"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"客户状态分类_数量总览"
,
priority
=
10
)
public
void
客户状态分类
_
数量总览
(){
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_staticHeader
);
Object
data
=
response
.
jsonPath
().
getJsonObject
(
"data"
);
Assert
.
assertNotNull
(
data
,
network
.
message
(
BasicConfig
.
WORK_staticHeader
,
"数量总览数据为空"
,
response
.
body
().
asString
()));
int
starNum
=
response
.
jsonPath
().
getInt
(
"data.starNum"
);
int
totalNum
=
response
.
jsonPath
().
getInt
(
"data.totalNum"
);
int
unContactNum
=
response
.
jsonPath
().
getInt
(
"data.unContactNum"
);
int
unMeetNum
=
response
.
jsonPath
().
getInt
(
"data.unMeetNum"
);
int
unRedialNum
=
response
.
jsonPath
().
getInt
(
"data.unRedialNum"
);
int
willRecycleCustNum
=
response
.
jsonPath
().
getInt
(
"data.willRecycleCustNum"
);
header
.
put
(
"starNum"
,
starNum
);
header
.
put
(
"totalNum"
,
totalNum
);
header
.
put
(
"unContactNum"
,
unContactNum
);
header
.
put
(
"unMeetNum"
,
unMeetNum
);
header
.
put
(
"unRedialNum"
,
unRedialNum
);
header
.
put
(
"willRecycleCustNum"
,
willRecycleCustNum
);
}
@Test
(
description
=
"客户流程组_表格总览"
,
priority
=
10
)
public
void
客户流程组
_
表格总览
(){
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_staticChart
);
Object
data
=
response
.
jsonPath
().
getJsonObject
(
"data"
);
Assert
.
assertNotNull
(
data
,
network
.
message
(
BasicConfig
.
WORK_staticChart
,
"流程组表格数量为空"
,
response
.
body
().
asString
()));
chart
.
put
(
"ondStep"
,
response
.
jsonPath
().
getInt
(
"data[0].custNum"
));
chart
.
put
(
"twoStep"
,
response
.
jsonPath
().
getInt
(
"data[1].custNum"
));
chart
.
put
(
"threeStep"
,
response
.
jsonPath
().
getInt
(
"data[2].custNum"
));
chart
.
put
(
"fourStep"
,
response
.
jsonPath
().
getInt
(
"data[3].custNum"
));
chart
.
put
(
"fiveStep"
,
response
.
jsonPath
().
getInt
(
"data[4].custNum"
));
}
@Test
(
description
=
"工作台_标签列表"
,
priority
=
11
)
...
...
@@ -606,8 +600,6 @@ public class Work implements Authorization {
Assert
.
assertTrue
(
answer
>
0
,
network
.
message
(
params
,
BasicConfig
.
MANAGER_oto_customerPhone
,
"问题详情为空"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"查看客户面访状态为尚未约到"
,
priority
=
48
)
public
void
查看客户面访状态为尚未约到
(){
getHasFirstInvite
(
2
);
...
...
@@ -624,15 +616,16 @@ public class Work implements Authorization {
@Test
(
description
=
"修改客户面访承诺时间为1天后"
,
priority
=
50
)
public
void
修改客户面访承诺时间为
1
天后
(){
updateInvite
(
1
,
System
.
currentTimeMillis
()
+
86400000
);
updateInvite
(
1
,
now
+
86400000
);
getHasFirstInvite
(
1
);
getCallCustInfo
(
1
);
}
@Test
(
description
=
"查看
确认准客户面访列表
"
,
priority
=
51
)
public
void
查看
确认准客户面访列表
(){
@Test
(
description
=
"查看
准客户面访任务和约面日历为未确认
"
,
priority
=
51
)
public
void
查看
准客户面访任务和约面日历为未确认
(){
taskList
(
0
,
1
);
getCalendarlist
(
today
+
86400000
,
1
,
"自动化测试用户"
);
}
@Test
(
description
=
"修改客户行程状态为已确认"
,
priority
=
52
)
...
...
@@ -647,6 +640,7 @@ public class Work implements Authorization {
taskList
(
1
,
2
);
getHasFirstInvite
(
1
);
getCallCustInfo
(
1
);
getCalendarlist
(
today
+
86400000
,
2
,
"自动化测试用户"
);
}
@Test
(
description
=
"修改客户行程状态为未确认"
,
priority
=
53
)
...
...
@@ -661,42 +655,48 @@ public class Work implements Authorization {
taskList
(
0
,
1
);
getHasFirstInvite
(
1
);
getCallCustInfo
(
1
);
getCalendarlist
(
today
+
86400000
,
1
,
"自动化测试用户"
);
}
@Test
(
description
=
"修改客户具体时间客户状态不变"
,
priority
=
54
)
public
void
修改客户具体时间客户状态不变
(){
updateInvite
(
1
,
System
.
currentTimeMillis
()+
86400000
+
3600000
);
updateInvite
(
1
,
now
+
86400000
+
3600000
);
taskList
(
0
,
1
);
getHasFirstInvite
(
1
);
getCallCustInfo
(
1
);
getCalendarlist
(
today
+
86400000
,
1
,
"自动化测试用户"
);
}
@Test
(
description
=
"修改客户具体日期客户状态变为已改期"
,
priority
=
55
)
public
void
修改客户具体日期客户状态变为已改期
(){
updateInvite
(
1
,
System
.
currentTimeMillis
()+
86400000
*
2
);
updateInvite
(
1
,
now
+
86400000
*
2
);
taskList
(
1
,
6
);
getHasFirstInvite
(
1
);
getCallCustInfo
(
1
);
getCalendarlist
(
today
+
86400000
,
3
,
"自动化测试用户"
);
getCalendarlist
(
today
+
86400000
*
2
,
1
,
"自动化测试用户"
);
}
@Test
(
description
=
"修改客户未约到客户状态变为已鸽"
,
priority
=
56
)
public
void
修改客户未约到客户状态变为已鸽
(){
updateInvite
(
0
,
System
.
currentTimeMillis
()+
3600000
);
updateInvite
(
0
,
now
+
3600000
);
taskList
(
1
,
3
);
getHasFirstInvite
(
0
);
getCallCustInfo
(
0
);
getCallCustInfo
(
0
);;
getCalendarlist
(
today
+
86400000
*
2
,
3
,
"自动化测试用户"
);
}
@Test
(
description
=
"修改客户已约到客户状态
变为未
确认"
,
priority
=
58
)
public
void
修改客户已约到客户状态
变为未
确认
(){
updateInvite
(
1
,
System
.
currentTimeMillis
()+
3600000
);
@Test
(
description
=
"修改客户已约到客户状态
时间今天后变为已
确认"
,
priority
=
58
)
public
void
修改客户已约到客户状态
时间今天后变为已
确认
(){
updateInvite
(
1
,
now
+
3600000
);
taskList
(
0
,
1
);
taskList
(
0
,
2
);
getHasFirstInvite
(
1
);
getCallCustInfo
(
1
);
getCalendarlist
(
today
,
2
,
"自动化测试用户"
);
}
@Test
(
description
=
"查询客户的面访上传记录<1"
,
priority
=
59
)
...
...
@@ -744,7 +744,7 @@ public class Work implements Authorization {
getHasFirstInvite
(
1
);
taskList
(
0
,
1
);
taskList
(
0
,
2
);
}
@Test
(
description
=
"邀约组拨打电话回填面访信息正常"
,
priority
=
63
)
...
...
@@ -843,8 +843,8 @@ public class Work implements Authorization {
getHasFirstInvite
(
1
);
}
@Test
(
description
=
"查询认领客户评价清空"
,
priority
=
71
)
public
void
查询认领客户评价清空
(){
@Test
(
description
=
"查询认领客户评价
不
清空"
,
priority
=
71
)
public
void
查询认领客户评价
不
清空
(){
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"custId"
,
custId
);
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
WORK_header
);
...
...
@@ -860,7 +860,7 @@ public class Work implements Authorization {
params
.
put
(
"pageSize"
,
10
);
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
WORK_attendanceList
);
int
size
=
response
.
jsonPath
().
getInt
(
"data.list.size()"
);
Assert
.
assertEquals
(
size
,
1
,
network
.
message
(
params
,
BasicConfig
.
WORK_attendanceList
,
"总监名下销售列表为空"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
size
,
2
,
network
.
message
(
params
,
BasicConfig
.
WORK_attendanceList
,
"总监名下销售列表为空"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"总监修改名下销售工作状态"
,
priority
=
73
)
...
...
@@ -997,7 +997,7 @@ public class Work implements Authorization {
//新建日程
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"custId"
,
custId
);
params
.
put
(
"notifyTime"
,
System
.
currentTimeMillis
()+
3600000
);
params
.
put
(
"notifyTime"
,
now
+
3600000
);
params
.
put
(
"type"
,
"phone"
);
Response
scheduleRes
=
network
.
postResponse
(
params
,
BasicConfig
.
WORK_saveOrModifySchedule
);
boolean
success
=
scheduleRes
.
jsonPath
().
getBoolean
(
"data"
);
...
...
@@ -1020,7 +1020,7 @@ public class Work implements Authorization {
@Test
(
description
=
"普通销售不可查看审批管理"
,
priority
=
85
)
public
void
普通销售不可查看审批管理
(){
oto
s
ellerAuth
();
oto
S
ellerAuth
();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"pageIndex"
,
1
);
params
.
put
(
"pageSize"
,
20
);
...
...
@@ -1072,7 +1072,7 @@ public class Work implements Authorization {
@Test
(
description
=
"客户总览_销售查看任务"
,
priority
=
88
)
public
void
销售查看任务
(){
oto
s
ellerAuth
();
oto
S
ellerAuth
();
sleep
(
2000
);
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_statisticHeader
);
int
finishCustNum
=
response
.
jsonPath
().
getInt
(
"data[0].finishCustNum"
);
...
...
@@ -1141,13 +1141,11 @@ public class Work implements Authorization {
@Test
(
description
=
"修改见面场景"
,
priority
=
93
)
public
void
修改见面场景
(){
int
companyIds
[]
={
5
};
int
custFlows
[]
=
{
1
,
2
,
3
,
4
,
5
};
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"id"
,
sceneId
);
params
.
put
(
"confUsable"
,
1
);
params
.
put
(
"companyIds"
,
companyIds
);
params
.
put
(
"custFlows"
,
custFlows
);
params
.
put
(
"sceneName"
,
"勿动-自动化面访场景"
);
params
.
put
(
"sceneDesc"
,
"勿动,这是自动化测试专用的面访场景"
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
PHONE_custConfSave
);
...
...
@@ -1236,7 +1234,143 @@ public class Work implements Authorization {
}
@Test
(
description
=
"管理后台查询所有专家列表"
,
priority
=
98
)
public
void
管理后台查询所有专家列表
(){
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_calendar_expertList
);
int
size
=
response
.
jsonPath
().
getInt
(
"data.size()"
);
Assert
.
assertTrue
(
size
>
0
,
network
.
message
(
BasicConfig
.
WORK_calendar_expertList
,
"查看专家列表不为空"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"CRM查询场景专家列表"
,
priority
=
99
)
public
void
CRM
查询场景专家列表
(){
otoSellerAuth
();
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"recordId"
,
recordItem
.
recordId
);
params
.
put
(
"expertFlag"
,
true
);
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
WORK_calendar_workMenu
);
int
size
=
response
.
jsonPath
().
getInt
(
"data.size()"
);
Assert
.
assertEquals
(
size
,
8
,
network
.
message
(
BasicConfig
.
WORK_calendar_workMenu
,
"查看产品列表不为空"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"CRM查询场景带看人列表"
,
priority
=
100
)
public
void
CRM
查询场景带看人列表
(){
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"recordId"
,
recordItem
.
recordId
);
params
.
put
(
"expertFlag"
,
false
);
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
WORK_calendar_workMenu
);
int
size
=
response
.
jsonPath
().
getInt
(
"data.size()"
);
Assert
.
assertEquals
(
size
,
7
,
network
.
message
(
BasicConfig
.
WORK_calendar_workMenu
,
"查看产品列表不为空"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"预分配客户"
,
priority
=
101
)
public
void
预分配客户
(){
coefficient
.
put
(
"totalCoefficient"
,
getSellertotalCoefficient
());
otoTakerAuth
();
takerCoefficient
=
getSellertotalCoefficient
();
otoSellerAuth
();
//预分配
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
otoSellerAuth
();
params
.
put
(
"recordId"
,
recordItem
.
recordId
);
params
.
put
(
"takeLookId"
,
290
);
params
.
put
(
"expertId"
,
284
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
WORK_calendar_preAssign
);
boolean
data
=
response
.
jsonPath
().
getBoolean
(
"data"
);
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_preAssign
,
"预分配失败"
,
response
.
body
().
asString
()));
//验证约面日历状态/专家/带看人变更
getCalendarlist
(
today
,
4
,
"自动化激活用户"
);
Assert
.
assertEquals
(
recordItem
.
expertName
,
"勿动-自动化测试专家"
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"专家名称错误"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
recordItem
.
takeLookName
,
"勿动-自动化测试带看"
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"带看人名称错误"
,
response
.
body
().
asString
()));
Assert
.
assertTrue
(
recordItem
.
hasAssignFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"是否分配状态非【已分配】"
,
response
.
body
().
asString
()));
//验证邀约人系数不变
double
sellertotalCoefficient
=
getSellertotalCoefficient
();
Assert
.
assertEquals
(
sellertotalCoefficient
,
coefficient
.
get
(
"totalCoefficient"
),
network
.
message
(
params
,
BasicConfig
.
WORK_coefficient_detail
,
"邀约人系数变化"
,
response
.
body
().
asString
()));
//验证带看人系数不变
otoTakerAuth
();
double
leadertotalCoefficient
=
getSellertotalCoefficient
();
Assert
.
assertEquals
(
leadertotalCoefficient
,
takerCoefficient
,
network
.
message
(
params
,
BasicConfig
.
WORK_coefficient_detail
,
"邀约人系数未增加"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"管理后台修改客户专家"
,
priority
=
102
)
public
void
管理后台修改客户专家
(){
otoSellerAuth
();
//修改客户专家
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"custId"
,
custId
);
params
.
put
(
"expertId"
,
43
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
WORK_calendar_updateExpert
);
boolean
data
=
response
.
jsonPath
().
getBoolean
(
"data"
);
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_updateExpert
,
"修改专家失败"
,
response
.
body
().
asString
()));
//验证约面日历的专家变更
getCalendarlist
(
today
,
4
,
"自动化激活用户"
);
Assert
.
assertEquals
(
recordItem
.
expertName
,
"勿动-自动化测试总监"
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"邀约卡片专家未更新"
,
response
.
body
().
asString
()));
//验证客户管理的专家变更
params
.
clear
();
params
.
put
(
"pageIndex"
,
1
);
params
.
put
(
"pageSize"
,
10
);
params
.
put
(
"phoneNum"
,
phone
);
response
=
network
.
getResponse
(
params
,
BasicConfig
.
MANAGER_oto_customerList
);
int
expertId
=
response
.
jsonPath
().
getInt
(
"data.list[0].expertId"
);
Assert
.
assertEquals
(
expertId
,
43
,
network
.
message
(
params
,
BasicConfig
.
MANAGER_oto_customerList
,
"客户管理的专家未更新"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"退回邀约组"
,
priority
=
103
)
public
void
退回邀约组
(){
//退回邀约组
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
otoSellerAuth
();
params
.
put
(
"recordId"
,
recordItem
.
recordId
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
WORK_calendar_assignRollback
);
boolean
data
=
response
.
jsonPath
().
getBoolean
(
"data"
);
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_assignRollback
,
"退回邀约组失败"
,
response
.
body
().
asString
()));
//验证约面日历状态/专家/带看人清空
getCalendarlist
(
today
,
1
,
"自动化激活用户"
);
Assert
.
assertNull
(
recordItem
.
expertName
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"专家名称不为空"
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
recordItem
.
takeLookName
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"带看人名称不为空"
,
response
.
body
().
asString
()));
Assert
.
assertFalse
(
recordItem
.
hasAssignFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"是否分配状态非【待分配未确认】"
,
response
.
body
().
asString
()));
//验证邀约人系数不变
double
sellertotalCoefficient
=
getSellertotalCoefficient
();
Assert
.
assertEquals
(
sellertotalCoefficient
,
coefficient
.
get
(
"totalCoefficient"
),
network
.
message
(
params
,
BasicConfig
.
WORK_coefficient_detail
,
"邀约人系数变化"
,
response
.
body
().
asString
()));
}
@Test
(
description
=
"立即分配邀约客户"
,
priority
=
104
)
public
void
立即分配邀约客户
(){
//立即分配
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
otoSellerAuth
();
params
.
put
(
"recordId"
,
recordItem
.
recordId
);
params
.
put
(
"takeLookId"
,
290
);
params
.
put
(
"expertId"
,
284
);
Response
response
=
network
.
postResponse
(
params
,
BasicConfig
.
WORK_calendar_nowAssign
);
boolean
data
=
response
.
jsonPath
().
getBoolean
(
"data"
);
Assert
.
assertTrue
(
data
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_nowAssign
,
"立即分配失败"
,
response
.
body
().
asString
()));
//验证约面日历状态/专家/带看人变更
getCalendarlist
(
today
,
4
,
"自动化激活用户"
);
Assert
.
assertEquals
(
recordItem
.
expertName
,
"勿动-自动化测试专家"
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"专家名称错误"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
recordItem
.
takeLookName
,
"勿动-自动化测试带看"
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"带看人名称错误"
,
response
.
body
().
asString
()));
Assert
.
assertTrue
(
recordItem
.
hasAssignFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"是否分配状态非【已分配】"
,
response
.
body
().
asString
()));
//验证邀约人系数不变
double
sellertotalCoefficient
=
getSellertotalCoefficient
();
Assert
.
assertEquals
(
sellertotalCoefficient
,
coefficient
.
get
(
"totalCoefficient"
),
network
.
message
(
params
,
BasicConfig
.
WORK_coefficient_detail
,
"邀约人系数变化"
,
response
.
body
().
asString
()));
//验证带看人系数增加
otoTakerAuth
();
double
leadertotalCoefficient
=
getSellertotalCoefficient
();
Assert
.
assertTrue
(
leadertotalCoefficient
>
takerCoefficient
,
network
.
message
(
params
,
BasicConfig
.
WORK_coefficient_detail
,
"带看人系数未增加"
,
response
.
body
().
asString
()));
takerCoefficient
=
leadertotalCoefficient
;
}
//修改客户的约面情况
public
void
updateInvite
(
int
interviewFlag
,
long
time
){
...
...
@@ -1272,10 +1406,11 @@ public class Work implements Authorization {
Assert
.
assertEquals
(
goalCount
,
1
,
network
.
message
(
params
,
BasicConfig
.
WORK_invitation_list
,
"面访列表的目标数量不为1"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
finishCustNum
,
finish
,
network
.
message
(
params
,
BasicConfig
.
WORK_invitation_list
,
"面访列表的完成数量不为"
+
finish
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
size
,
1
,
network
.
message
(
params
,
BasicConfig
.
WORK_invitation_list
,
"面访列表的客户数量不为1"
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
inviteStatus
,
status
,
network
.
message
(
params
,
BasicConfig
.
WORK_invitation_list
,
"面访列表的客户
数量
不为"
+
status
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
inviteStatus
,
status
,
network
.
message
(
params
,
BasicConfig
.
WORK_invitation_list
,
"面访列表的客户
状态
不为"
+
status
,
response
.
body
().
asString
()));
taskId
=
response
.
jsonPath
().
getInt
(
"data.list[0].id"
);
}
//获取电话回填客户约面信息
public
void
getCallCustInfo
(
int
interviewFlag
){
sleep
(
1000
);
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
...
...
@@ -1293,6 +1428,7 @@ public class Work implements Authorization {
}
}
//获取客户详情回填的客户约面信息
public
void
getHasFirstInvite
(
int
interviewFlag
){
sleep
(
1000
);
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
...
...
@@ -1303,7 +1439,7 @@ public class Work implements Authorization {
int
firstInterviewFlag
=
response
.
jsonPath
().
getInt
(
"data.firstInterviewFlag"
);
String
interviewTime
=
response
.
jsonPath
().
getString
(
"data.interviewTime"
);
inviteUrl
=
response
.
jsonPath
().
getString
(
"data.invLetterUrl"
);
Assert
.
assertEquals
(
firstInterviewFlag
,
interviewFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"约面状态回显非"
+
""
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
firstInterviewFlag
,
interviewFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"约面状态回显非"
+
interviewFlag
,
response
.
body
().
asString
()));
Assert
.
assertNotNull
(
interviewTime
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"面访承诺时间为空"
,
response
.
body
().
asString
()));
Assert
.
assertNotNull
(
inviteUrl
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"邀请函链接为空"
,
response
.
body
().
asString
()));
}
else
if
(
interviewFlag
==
0
){
...
...
@@ -1311,7 +1447,7 @@ public class Work implements Authorization {
String
interviewTime
=
response
.
jsonPath
().
getString
(
"data.interviewTime"
);
String
nextContactTime
=
response
.
jsonPath
().
getString
(
"data.nextContactTime"
);
String
invLetterUrl
=
response
.
jsonPath
().
getString
(
"data.invLetterUrl"
);
Assert
.
assertEquals
(
firstInterviewFlag
,
interviewFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"约面状态回显非"
+
""
,
response
.
body
().
asString
()));
Assert
.
assertEquals
(
firstInterviewFlag
,
interviewFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"约面状态回显非"
+
interviewFlag
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
interviewTime
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"面访承诺时间不为空"
,
response
.
body
().
asString
()));
Assert
.
assertNotNull
(
nextContactTime
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"下次联系时间为空"
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
invLetterUrl
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"邀请函链接不为空"
,
response
.
body
().
asString
()));
...
...
@@ -1321,11 +1457,42 @@ public class Work implements Authorization {
String
interviewTime
=
response
.
jsonPath
().
getString
(
"data.interviewTime"
);
String
nextContactTime
=
response
.
jsonPath
().
getString
(
"data.nextContactTime"
);
String
invLetterUrl
=
response
.
jsonPath
().
getString
(
"data.invLetterUrl"
);
Assert
.
assertNull
(
firstInterviewFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"约面状态回显
非"
+
"
"
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
firstInterviewFlag
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"约面状态回显
不为空
"
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
interviewTime
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"面访承诺时间不为空"
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
nextContactTime
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"下次联系时间不为空"
,
response
.
body
().
asString
()));
Assert
.
assertNull
(
invLetterUrl
,
network
.
message
(
params
,
BasicConfig
.
WORK_getHasFirstInvite
,
"邀请函链接不为空"
,
response
.
body
().
asString
()));
}
}
//获取约面日历列表
public
static
void
getCalendarlist
(
long
calendarTime
,
int
inviteStatus
,
String
custName
){
sleep
(
1000
);
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
SimpleDateFormat
sdt
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
params
.
put
(
"calendarTime"
,
sdt
.
format
(
now
));
Response
response
=
network
.
getResponse
(
params
,
BasicConfig
.
WORK_calendar_list
);
List
<
inviteDay
>
invitationList
=
JsonUtil
.
parseResponseToListBean
(
response
,
inviteDay
.
class
);
for
(
inviteDay
day:
invitationList
)
{
if
(
day
.
calendarTime
==
calendarTime
){
for
(
invitationRecord
record:
day
.
invitationInfo
)
{
if
(
record
.
custName
!=
null
&&
record
.
custName
.
equals
(
custName
)){
recordItem
=
record
;
Assert
.
assertEquals
(
record
.
inviteStatus
,
inviteStatus
,
network
.
message
(
params
,
BasicConfig
.
WORK_calendar_list
,
"约面状态回显非"
+
inviteStatus
,
response
.
body
().
asString
()));
break
;
}
}
break
;
}
}
}
//获取销售系数
public
Double
getSellertotalCoefficient
(){
sleep
(
1000
);
Response
response
=
network
.
getResponse
(
BasicConfig
.
WORK_coefficient_detail
);
Double
totalCoefficient
=
response
.
jsonPath
().
getDouble
(
"data.totalCoefficient"
);
Assert
.
assertTrue
(
takerCoefficient
>=
0
,
network
.
message
(
BasicConfig
.
WORK_coefficient_detail
,
"销售总系数<0"
,
response
.
body
().
asString
()));
return
totalCoefficient
;
}
}
src/test/java/com/oto/config/BasicConfig.java
View file @
4f0f7e0d
...
...
@@ -36,8 +36,8 @@ public class BasicConfig {
public
static
final
String
dingTalkPath
=
"https://oapi.dingtalk.com/robot/send?access_token=e6fc528a3a5991ba74d800c9b1688bf5e0f4f88864ec92da777f84c260181407"
;
/*******OTO销售工作台*********/
public
static
final
String
OTO_TKU
=
"4yrzAfNog7WE527NKCNmqBqph48N7mWR9J49QYysZmKYC3DF97hQFap7RphynF3GFXLhp7GFZ35mc"
;
//
public static final String OTO_TKU = "4yrzAfNog7WE527NKCNmqBqph48N7mWR9J49QYysZmKYC3DF97hQFap7RphynF3GFXLhp7GFZ35mc";
public
static
final
String
OTO_TKU
=
"7Fcuh7FWTsTHSqd288vMyjAfN4Jz65xJY9UT76XsXSNJDjNBCoTd8saZJrKzeUKpKUaCyxwdMaoCbh4i7qdQbiiuhvxvhxw7GZ6P5yaWPkx6kp3CTwqww9AzAHJT5GAx941A662pYRtbM4Gkbcm15Dr5"
;
// *************** 客集集域名 ***************
public
static
final
String
HOST
=
"https://kjj.m.duibatest.com.cn"
;
public
static
final
String
SSO_HOST
=
"https://sso.duibatest.com.cn"
;
...
...
@@ -113,6 +113,8 @@ public class BasicConfig {
public
static
final
String
MANAGER_custFromSourceList
=
MANAGER_HOST
+
"/kjy/manager/oto/common/custFromSourceList"
;
public
static
final
String
MANAGER_customer_update
=
MANAGER_HOST
+
"/kjy/manager/pub/form/customer/update"
;
public
static
final
String
MANAGER_product_listAll
=
MANAGER_HOST
+
"/kjy/manager/oto/product/listAll"
;
public
static
final
String
WORK_calendar_updateExpert
=
MANAGER_HOST
+
"/kjy/manager/pub/form/customer/updateExpert"
;
public
static
final
String
WORK_calendar_expertList
=
MANAGER_HOST
+
"/kjy/manager/pub/form/customer/expertList"
;
//*************** OTO销售工作台 ***************
public
static
final
String
WORK_getCaptcha
=
WORK_HOST
+
"/kjy/oto/manager/auth/captcha"
;
...
...
@@ -171,6 +173,12 @@ public class BasicConfig {
public
static
final
String
WORK_invire
=
WORK_HOST
+
"/kjy/oto/customer/invire/record/list"
;
public
static
final
String
WORK_generate
=
WORK_HOST
+
"/kjy/oto/manager/qrcode/generate"
;
public
static
final
String
WORK_getCallCustInfo
=
WORK_HOST
+
"/kjy/oto/manager/customer/call/getCallCustInfo"
;
public
static
final
String
WORK_menu_list
=
WORK_HOST
+
"/kjy/oto/manager/seller/menu/list"
;
public
static
final
String
WORK_calendar_list
=
WORK_HOST
+
"/kjy/oto/manager/cust/calendar/list"
;
public
static
final
String
WORK_calendar_preAssign
=
WORK_HOST
+
"/kjy/oto/manager/cust/calendar/preAssign"
;
public
static
final
String
WORK_calendar_nowAssign
=
WORK_HOST
+
"/kjy/oto/manager/cust/calendar/nowAssign"
;
public
static
final
String
WORK_calendar_workMenu
=
WORK_HOST
+
"/kjy/oto/manager/cust/calendar/workMenu"
;
public
static
final
String
WORK_calendar_assignRollback
=
WORK_HOST
+
"/kjy/oto/manager/cust/calendar/assignRollback"
;
//*************************客集集营销平台******************************
public
static
final
String
PHONE_bindWxUser
=
HOST
+
"/kjy/oto/interview/bindWxUser"
;
...
...
src/test/java/com/oto/utils/BaseUtils.java
View file @
4f0f7e0d
...
...
@@ -26,6 +26,8 @@ public class BaseUtils {
public
static
String
otoLeaderCookieValue
;
public
static
String
otoManagerCookieKey
;
public
static
String
otoManagerCookieValue
;
public
static
String
otoTakerCookieKey
;
public
static
String
otoTakerCookieValue
;
public
static
String
JJBManagerCookieKey
;
public
static
String
JJBManagerCookieValue
;
...
...
@@ -96,11 +98,10 @@ public class BaseUtils {
// otoSellerCookieKey = cookieKeyValue[0];
// otoSellerCookieValue = cookieKeyValue[1];
otoSellerCookieKey
=
"otoToken"
;
otoSellerCookieValue
=
"64e83LYGbaXYX9EkHumCho2UoHa4LLngpoj9ksrdj5vUiAndSwpeHVxc45qhsXT8a8niiL6oifhdXYR2BvYntaAoj4zRqmExv6eEuMsTfiN"
;
network
.
agentCookies
.
put
(
otoSellerCookieKey
,
otoSellerCookieValue
);
//存入cookies
System
.
out
.
println
(
"销售Cookie中key:
"
+
otoSellerCookieKey
+
" ,values:"
+
otoSellerCookieValue
);
network
.
agentCookies
.
put
(
"otoToken"
,
otoSellerCookieValue
);
//存入cookies
System
.
out
.
println
(
"销售Cookie中key:
otoToken"
+
" ,values:"
+
otoSellerCookieValue
);
}
/**
...
...
@@ -138,11 +139,10 @@ public class BaseUtils {
// otoLeaderCookieKey = cookieKeyValue[0];
// otoLeaderCookieValue = cookieKeyValue[1];
otoLeaderCookieKey
=
"otoToken"
;
otoLeaderCookieValue
=
"64e83LYGbaXYX9EkHumCho2UoHa4LLngtEH3qdP4vZcgziRKzqpEScM6Ea5UdYNEMDstTteXF6yrygqLEsBVdZJ1mKGyZ4cD5dZVM2RqyrK"
;
network
.
agentCookies
.
put
(
otoLeaderCookieKey
,
otoLeaderCookieValue
);
//存入cookies
System
.
out
.
println
(
"总监Cookie中key:
"
+
otoLeaderCookieKey
+
"
,values:"
+
otoLeaderCookieValue
);
network
.
agentCookies
.
put
(
"otoToken"
,
otoLeaderCookieValue
);
//存入cookies
System
.
out
.
println
(
"总监Cookie中key:
otoToken"
+
"
,values:"
+
otoLeaderCookieValue
);
}
/**
...
...
@@ -180,11 +180,17 @@ public class BaseUtils {
// otoManagerCookieKey = cookieKeyValue[0];
// otoManagerCookieValue = cookieKeyValue[1];
otoManagerCookieKey
=
"otoToken"
;
otoManagerCookieValue
=
"2hdZyc3Wrhbokz5QFVTnXxxteUrg4U3szFLLQhKruh4Q6eZAVEBcYAKcwDfN5vGk9MNkshTkxpyidEtujMzGw5X5EsNfV1h7kn2bzap2P8baGi"
;
// network.agentCookies.put(otoManagerCookieKey, otoManagerCookieValue); //存入cookies
// System.out.println("销售Cookie中key:"+ otoManagerCookieKey +" ,values:"+ otoManagerCookieValue);
network
.
agentCookies
.
put
(
"otoToken"
,
otoManagerCookieValue
);
//存入cookies
System
.
out
.
println
(
"管理员Cookie中key:otoToken"
+
" ,values:"
+
otoManagerCookieValue
);
}
/**
* 专家登录销售工作台
*/
public
static
void
otoExpertLogin
(){
otoTakerCookieValue
=
"eTd1Af5HRGuUtkXq6ZtdzRwuMAr1k2Cvo19wspzuZEsY48qVwFBfsmN8fyk9oT9sWj9WU5L"
;
}
/**
...
...
src/test/java/com/oto/utils/IdMakeUtil.java
View file @
4f0f7e0d
...
...
@@ -56,14 +56,12 @@ public class IdMakeUtil implements Authorization {
BaseUtils
.
ssoLogin
();
Map
<
String
,
Object
>
ids
=
new
HashMap
<>();
ids
.
put
(
"code"
,
id
);
// System.out.println("input: "+id);
Response
encodeIdRes
=
network
.
getResponse
(
ids
,
BasicConfig
.
MANAGER_ID_ENCODE
);
// System.out.println("encodeIdRes: "+encodeIdRes.body().asString());
String
encodeId
=
encodeIdRes
.
jsonPath
().
getString
(
"data"
);
Assert
.
assertNotNull
(
encodeId
,
network
.
message
(
ids
,
BasicConfig
.
MANAGER_ID_ENCODE
,
"加密id失败"
,
encodeIdRes
.
body
().
asString
()));
return
encodeId
;
}
public
static
long
managerDecodeingId
(
String
code
)
{
BaseUtils
.
ssoLogin
();
Map
<
String
,
Object
>
decodePar
=
new
HashMap
<>();
...
...
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