Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xm-sportstest
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiamai-test
xm-sportstest
Commits
a507bc1f
Commit
a507bc1f
authored
Oct 29, 2024
by
DuJunLi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增编辑会员分群case
parent
72545c29
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
130 additions
and
2 deletions
+130
-2
src/main/java/com/xiaomai/cases/polar/membercluster/MemberClusterTools.java
+2
-2
src/main/java/com/xiaomai/cases/polar/membercluster/TestCreateMemberCluster.java
+0
-0
src/main/java/com/xiaomai/cases/polar/membercluster/TestEditMemberCluster.java
+128
-0
No files found.
src/main/java/com/xiaomai/cases/polar/membercluster/MemberClusterTools.java
View file @
a507bc1f
...
...
@@ -62,7 +62,7 @@ public class MemberClusterTools extends BaseTestImpl {
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"name"
,
name
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
);
Assert
.
assertTrue
(
Boolean
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.success"
))
==
true
,
"调用接口返回结果:"
+
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.message"
));
//断言在业务中check
}
...
...
@@ -135,7 +135,7 @@ public class MemberClusterTools extends BaseTestImpl {
body
.
put
(
"clusterId"
,
clusterId
);
body
.
put
(
"messageType"
,
messageType
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
);
Assert
.
assertTrue
(
Boolean
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.success"
))
==
true
,
"调用接口返回结果:"
+
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.message"
));
//断言业务中check
}
...
...
src/main/java/com/xiaomai/cases/polar/membercluster/TestCreateMemberCluster.java
View file @
a507bc1f
This diff is collapsed.
Click to expand it.
src/main/java/com/xiaomai/cases/polar/membercluster/TestEditMemberCluster.java
0 → 100644
View file @
a507bc1f
package
com
.
xiaomai
.
cases
.
polar
.
membercluster
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.apache.commons.lang3.StringUtils
;
import
org.testng.Assert
;
import
org.testng.annotations.AfterTest
;
import
org.testng.annotations.BeforeClass
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 编辑会员分群
*
* @author adu
* data 2024/10/29 15:05
*/
public
class
TestEditMemberCluster
extends
BaseTestImpl
{
@Resource
(
name
=
"memberClusterTools"
)
MemberClusterTools
memberClusterTools
;
String
name
=
""
;
String
clusterId
=
""
;
@BeforeClass
public
void
beforeTest
()
{
setTestInfo
(
ApiModule
.
Polar_Membercluster
,
"API_editMemberCluster"
,
LoginAccount
.
ADU_PROD
,
Terminal
.
B
,
"adu"
);
super
.
beforeTest
();
}
@Test
(
description
=
"测试编辑人群"
)
public
void
testEditMemberCluster
()
{
//1.创建人群
//1.1 人群名称验重
name
=
"用于自动化测试编辑会员分群动态数据"
;
memberClusterTools
.
memberClusterDuplicateCheck
(
name
);
System
.
out
.
println
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.message"
));
if
(
"true"
.
equals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result"
)))
{
//true 是有异常重名了,false 是无重名的
name
=
"自动化测试编辑人群信息"
+
RandomStringUtil
.
randomString
(
6
);
}
else
{
Assert
.
assertTrue
(
Boolean
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.success"
))
==
true
&&
Boolean
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result"
))
==
false
,
"调用接口返回结果:"
+
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.message"
));
}
//1.2 创建人群
List
<
JSONObject
>
ruleList
=
new
ArrayList
<>();
JSONObject
ruleTypeTag
=
new
JSONObject
();
List
<
String
>
tags
=
new
ArrayList
<>();
tags
.
add
(
"1850100465387134978"
);
tags
.
add
(
"1834827617041047554"
);
ruleTypeTag
.
put
(
"ruleType"
,
"TAG"
);
ruleTypeTag
.
put
(
"tags"
,
tags
);
ruleList
.
add
(
ruleTypeTag
);
JSONObject
ruleTypeMember
=
new
JSONObject
();
ruleTypeMember
.
put
(
"ruleType"
,
"MEMBER_CARD_COURSE_LEFT_BALANCE"
);
ruleTypeMember
.
put
(
"value"
,
true
);
ruleTypeMember
.
put
(
"lowerLimit"
,
"60"
);
ruleTypeMember
.
put
(
"upperLimit"
,
"62"
);
ruleTypeMember
.
put
(
"tags"
,
null
);
ruleList
.
add
(
ruleTypeMember
);
JSONObject
ruleTypeDeposit
=
new
JSONObject
();
ruleTypeDeposit
.
put
(
"ruleType"
,
"DEPOSIT_CARD_LEFT_BALANCE"
);
ruleTypeDeposit
.
put
(
"value"
,
true
);
ruleTypeDeposit
.
put
(
"lowerLimit"
,
"900"
);
ruleTypeDeposit
.
put
(
"upperLimit"
,
"999"
);
ruleTypeDeposit
.
put
(
"tags"
,
null
);
ruleList
.
add
(
ruleTypeDeposit
);
clusterId
=
memberClusterTools
.
createMemberCluster
(
name
,
""
,
"YES"
,
ruleList
);
//4.查看列表,check是否包含刚创建的人群
memberClusterTools
.
getMemberClusterList
();
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
)
.
toJavaList
(
JSONObject
.
class
).
stream
()
.
filter
(
e
->
e
.
getString
(
"id"
)
.
equals
(
clusterId
)).
count
()
==
1
,
"列表中没获取到刚创建的会员分群(满足所有条件)"
);
//2.编辑人群
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
String
editName
=
name
+
"名字被编辑过了哈"
+
RandomStringUtil
.
randomString
(
3
);
body
.
put
(
"name"
,
editName
);
body
.
put
(
"requireFullHit"
,
"NO"
);
body
.
put
(
"ruleList"
,
ruleList
);
String
description
=
"自动化测试编辑人群信息,修改人群范围和人群定义"
;
body
.
put
(
"description"
,
description
);
ruleList
.
remove
(
ruleTypeTag
);
body
.
put
(
"ruleList"
,
ruleList
);
body
.
put
(
"id"
,
clusterId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
);
Assert
.
assertTrue
(
Boolean
.
valueOf
(
XMJSONPath
.
readPath
(
xmAppApi
.
getApi_response
(),
"$.success"
))
==
true
,
"调用接口返回结果:"
+
XMJSONPath
.
readPath
(
xmAppApi
.
getApi_response
(),
"$.message"
));
//2.1 check 编辑内容是否生效
memberClusterTools
.
getMemberClusterDetail
(
clusterId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.requireFullHit"
),
"NO"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.name"
),
editName
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.description"
),
description
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.displayRuleList"
),
"会员卡课程剩余次数60~62次、储值卡剩余金额900~999元"
);
Assert
.
assertTrue
(
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.ruleList"
).
size
()
==
2
,
"编辑后人群定义规则不是剩余2个,请检查"
);
//3.操作定向运营
memberClusterTools
.
batchMessagePushForMemberCluster
(
clusterId
,
"WECHAT_MEMBER_CARD"
);
Assert
.
assertTrue
(
Boolean
.
valueOf
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.success"
))
==
false
,
"调用接口返回结果:"
+
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.message"
));
Assert
.
assertTrue
(
"分群数据尚未收集,请先更新分群数据后再操作"
.
equals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.message"
)),
"还没更新人数,人群数量为0,所以操作定向运营要拦截下,目前接口返回数据不是这个请检查"
);
}
@AfterTest
(
description
=
"删除此case创建的会员分群"
)
public
void
delData
()
{
if
(!
StringUtils
.
isEmpty
(
this
.
clusterId
))
{
memberClusterTools
.
deleteMemberCluster
(
clusterId
);
}
}
}
\ No newline at end of file
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