Commit e99adc3c authored by 张艳玲's avatar 张艳玲

修改钉钉推送

parent eb7c5de7
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="kjj" />
</profile>
</annotationProcessing>
<bytecodeTargetLevel target="1.8">
<module name="kejiji" target="1.8" />
</bytecodeTargetLevel>
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="maven" />
<option name="name" value="maven" />
<option name="url" value="http://nexus.dui88.com:8081/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenLocal" />
<option name="name" value="MavenLocal" />
<option name="url" value="file:$MAVEN_REPOSITORY$/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Central Repository" />
<option name="url" value="https://repo.maven.apache.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="maven2" />
<option name="name" value="maven2" />
<option name="url" value="https://plugins.gradle.org/m2/" />
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven" />
......@@ -37,14 +22,29 @@
<option name="url" value="http://repo.spring.io/plugins-release" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenRepo" />
<option name="name" value="MavenRepo" />
<option name="url" value="https://repo.maven.apache.org/maven2/" />
<option name="id" value="MavenLocal" />
<option name="name" value="MavenLocal" />
<option name="url" value="file:$MAVEN_REPOSITORY$/" />
</remote-repository>
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven" />
<option name="name" value="maven" />
<option name="url" value="http://nexus.dui88.com:8081/nexus/content/groups/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven2" />
<option name="name" value="maven2" />
<option name="url" value="https://plugins.gradle.org/m2/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
......@@ -7,6 +7,13 @@
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
......
package com.kjj.bean;
public class AnswerBean {
private String optionDetail;
private int optionType;
public String getOptionDetail() {
return optionDetail;
}
public void setOptionDetail(String optionDetail) {
this.optionDetail = optionDetail;
}
public int getOptionType() {
return optionType;
}
public void setOptionType(int optionType) {
this.optionType = optionType;
}
}
package com.kjj.bean;
import java.util.List;
public class AnswerListBean {
private String questionDetail;
private List<AnswerBean> optionList;
public String getQuestionDetail() {
return questionDetail;
}
public void setQuestionDetail(String questionDetail) {
this.questionDetail = questionDetail;
}
public List<AnswerBean> getOptionList() {
return optionList;
}
public void setOptionList(List<AnswerBean> optionList) {
this.optionList = optionList;
}
}
package com.kjj.bean;
public class RewardPkBean {
private String prizeName;
private int ranking;
public String getPrizeName() {
return prizeName;
}
public void setPrizeName(String prizeName) {
this.prizeName = prizeName;
}
public int getRanking() {
return ranking;
}
public void setRanking(int ranking) {
this.ranking = ranking;
}
}
\ No newline at end of file
package com.kjj.bean;
import java.util.Date;
public class TokenUserBean {
/**
* 直播用户ID
*/
private Long liveUserId;
/**
* 第三方用户ID 例:客集集用户ID
*/
private String thirdPartUId;
/**
* 代理人ID
*/
private Long agentId;
/**
* 公司ID
*/
private Long companyId;
/**
* 管理员ID
*/
private Long adminId;
/**
* 失效时间. 执行加密算法时自动填充
*/
private Date disableTime;
public Long getLiveUserId() {
return liveUserId;
}
public void setLiveUserId(Long liveUserId) {
this.liveUserId = liveUserId;
}
public String getThirdPartUId() {
return thirdPartUId;
}
public void setThirdPartUId(String thirdPartUId) {
this.thirdPartUId = thirdPartUId;
}
public Long getAgentId() {
return agentId;
}
public void setAgentId(Long agentId) {
this.agentId = agentId;
}
public Long getCompanyId() {
return companyId;
}
public void setCompanyId(Long companyId) {
this.companyId = companyId;
}
public Long getAdminId() {
return adminId;
}
public void setAdminId(Long adminId) {
this.adminId = adminId;
}
public Date getDisableTime() {
return disableTime;
}
public void setDisableTime(Date disableTime) {
this.disableTime = disableTime;
}
}
package com.kjj.cases.basics;
import com.kjj.utils.NetworkUtils;
import io.restassured.response.Response;
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import static com.kjj.config.BasicConfig.*;
public class Novice {
private static final NetworkUtils network = NetworkUtils.getInstance();
@BeforeClass
public void setUp() {
}
//会员判断
@Test(description="会员判断",priority = 1)
public void 会员判断() throws IOException {
Response response = network.getResponse(ISVIPSUBSCRIBE);
boolean isVip = response.jsonPath().getBoolean("data.vip");
Assert.assertTrue(true, network.message(ISVIPSUBSCRIBE,"新手任务-会员判断错误",response.body().asString()));
}
//用户信息
@Test(description = "用户信息",priority = 2)
public void 用户信息()throws IOException{
Response response = network.getResponse(USER_INFO);
String wxName = response.jsonPath().getString("data.wxName");
Assert.assertEquals(wxName,"Su Yi",network.message(USER_INFO,"新手任务-获取用户信息失败",response.body().asString()));
}
//新手任务列表
@Test (description = "新手任务列表",priority = 3) //priorty 方法执行优先级
public void 新手任务列表() throws IOException {
Response response = network.getResponse(NOVICE_LIST);
System.out.println(response.getBody().prettyPrint());
int length = response.jsonPath().getInt("data.size()");
Assert.assertEquals(length,12,network.message(NOVICE_LIST,"新手任务-任务列表数量不对",response.body().asString()));
}
// 关注公众号 需要微信回调,无法实现
// @Test (description = "新手任务_关注公众号",priority = 4) //priorty 方法执行优先级
// public void 新手任务_关注公众号() throws IOException {
// //获取列表中"关注公众号"的任务
// Response response = network.getResponse("/kjy/mp/seller/novice/list");
//
// //获取任务名为"关注公众号"的任务状态 code: 0未完成 1可领奖励 2已完成
// int code = response.jsonPath().getInt("data.find {it.taskName == '关注公众号'}.taskStatus.code");
// Assert.assertEquals(code,0,"关注公众号-任务初始状态 获取失败");
//
// //关注导师微信号和关注客集集公众号(关注需要微信回调,无法实现)
//
// //重新获取任务名为"关注公众号"的任务状态,验证任务是否生效
//
// }
// 转发文章
@Test (description = "新手任务_转发文章",priority = 5) //priorty 方法执行优先级
public void 新手任务_转发文章() throws IOException {
//获取列表中"转发文章"的任务
Response response = network.getResponse(NOVICE_LIST);
//获取任务名为"转发文章"的任务状态 code: 0未完成 1可领奖励 2已完成
int code = response.jsonPath().getInt("data.find {it.taskName == '转发文章'}.taskStatus.code");
Assert.assertEquals(code,0,network.message(NOVICE_LIST,"转发文章-任务初始状态 获取失败",response.body().asString()));
//转发文章到朋友圈
Map<String, Object> params = new HashMap<String, Object>();
params.put("scId",getScId(ARTICLE_CONTENTID));//文章scId
params.put("forwardType",1);// 1:个人/微信群 2:朋友圈
response = network.getResponse(params,FORWARD);
boolean data = response.jsonPath().getBoolean("data");
Assert.assertTrue(data, network.message(params, FORWARD,"转发文章-转发到朋友圈 失败",response.body().asString()));
//重新获取任务名为"转发文章"的任务状态,验证任务是否生效
response = network.getResponse(NOVICE_LIST);
//获取任务名为"转发文章"的任务状态 code: 0未完成 1可领奖励 2已完成
code = response.jsonPath().getInt("data.find {it.taskName == '转发文章'}.taskStatus.code");
Assert.assertEquals(code,1,network.message(NOVICE_LIST,"转发文章-新手任务完成状态 获取失败",response.body().asString()));
}
// 转发动画
@Test (description = "新手任务_转发动画",priority = 6) //priorty 方法执行优先级
public void 新手任务_转发动画() throws IOException {
//获取列表中"转发动画"的任务
Response response = network.getResponse(NOVICE_LIST);
//获取任务名为"转发动画"的任务状态 code: 0未完成 1可领奖励 2已完成
int code = response.jsonPath().getInt("data.find {it.taskName == '转发动画'}.taskStatus.code");
Assert.assertEquals(code,0, network.message(NOVICE_LIST,"转发动画-任务初始状态 获取失败",response.body().asString()));
//转发动画到朋友圈
Map<String, Object> params = new HashMap<String, Object>();
params.put("scId",getScId(ANIMATION_CONTENTID));//动画scId
params.put("forwardType",2);// 1:个人/微信群 2:朋友圈
response = network.getResponse(params,FORWARD);
boolean data = response.jsonPath().getBoolean("data");
Assert.assertTrue(data, network.message(params, FORWARD,"转发动画-转发到朋友圈 失败",response.body().asString()));
//重新获取任务名为"转发动画"的任务状态,验证任务是否生效
response = network.getResponse(NOVICE_LIST);
//获取任务名为"转发动画"的任务状态 code: 0未完成 1可领奖励 2已完成
code = response.jsonPath().getInt("data.find {it.taskName == '转发动画'}.taskStatus.code");
Assert.assertEquals(code,1,network.message(NOVICE_LIST,"转发动画-新手任务完成状态 获取失败",response.body().asString()));
}
// 转发游戏
@Test (description = "新手任务_转发游戏",priority = 7) //priorty 方法执行优先级
public void 新手任务_转发游戏() throws IOException {
//获取列表中"转发游戏"的任务
Response response = network.getResponse(NOVICE_LIST);
//获取任务名为"转发游戏"的任务状态 code: 0未完成 1可领奖励 2已完成
int code = response.jsonPath().getInt("data.find {it.taskName == '转发游戏(内测中)'}.taskStatus.code");
Assert.assertEquals(code,0,network.message(NOVICE_LIST,"转发游戏-任务初始状态 获取失败",response.body().asString()));
//转发游戏到朋友圈
Map<String, Object> params = new HashMap<String, Object>();
params.put("scId",getScId(GAME_CONTENTID));//游戏scId
params.put("forwardType",2);// 1:个人/微信群 2:朋友圈
response = network.getResponse(params,FORWARD);
boolean data = response.jsonPath().getBoolean("data");
Assert.assertTrue(data,network.message(params,FORWARD,"转发游戏-转发到朋友圈 失败",response.body().asString()));
//重新获取任务名为"转发游戏"的任务状态,验证任务是否生效
response = network.getResponse(NOVICE_LIST);
//获取任务名为"转发游戏"的任务状态 code: 0未完成 1可领奖励 2已完成
code = response.jsonPath().getInt("data.find {it.taskName == '转发游戏(内测中)'}.taskStatus.code");
Assert.assertEquals(code,1,network.message(NOVICE_LIST,"转发游戏-新手任务完成状态 获取失败",response.body().asString()));
}
//上传文章
@Test (description = "新手任务_上传文章",priority = 8) //priorty 方法执行优先级
public void 新手任务_上传文章() throws IOException {
//获取列表中"上传文章"的任务
Response response = network.getResponse(NOVICE_LIST);
//获取任务名为"上传文章"的任务状态 code: 0未完成 1可领奖励 2已完成
int code = response.jsonPath().getInt("data.find {it.taskName == '上传文章'}.taskStatus.code");
Assert.assertEquals(code,0,network.message(NOVICE_LIST,"上传文章-任务初始状态 获取失败",response.body().asString()));
//上传文章并发到朋友圈 (文章已经在上传case执行过,所以找到那篇文章进行转发就好)
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageIndex",1);
params.put("pageNo",1);
params.put("pageSize",10);
//获取我的上传里文章的列表
params.put("type","article");
response = network.getResponse(params,UPLOAD_LIST);
String contentType = response.jsonPath().getString("data[0].contentType");
String contentId = response.jsonPath().getString("data[0].id");//获取文章的contentd
Assert.assertEquals(contentType, "article", network.message(params, UPLOAD_LIST,"上传文章-获取我的上传-文章列表数量有误",response.body().asString()));
//转发文章到朋友圈
Map<String, Object> shareParams = new HashMap<String, Object>();
shareParams.put("scId",getScId(contentId));
shareParams.put("forwardType",2);
response = network.getResponse(shareParams,FORWARD);
boolean data = response.jsonPath().getBoolean("data");
Assert.assertTrue(data,network.message(shareParams, FORWARD,"上传文章-发到朋友圈 失败",response.body().asString()));
//重新获取任务名为"上传文章"的任务状态,验证任务是否生效
response = network.getResponse(NOVICE_LIST);
//获取任务名为"上传文章"的任务状态 code: 0未完成 1可领奖励 2已完成
code = response.jsonPath().getInt("data.find {it.taskName == '上传文章'}.taskStatus.code");
Assert.assertEquals(code,1,network.message(NOVICE_LIST,"上传文章-完成新手任务 失败",response.body().asString()));
}
// 收到好友转发访问 该接口已废弃
// @Test (description = "新手任务_收到好友转发访问",priority = 9) //priorty 方法执行优先级
// public void 新手任务_收到好友转发访问() throws IOException {
// //获取列表中"收到好友转发访问"的任务
// Response response = network.getResponse("/kjy/mp/seller/novice/list");
//
// //获取任务名为"收到好友转发访问"的任务状态 code: 0未完成 1可领奖励 2已完成
// int code = response.jsonPath().getInt("data.find {it.taskName == '收到好友转发访问'}.taskStatus.code");
// Assert.assertEquals(code,0,"获取新手任务初始状态-收到好友转发访问 失败");
//
// //收到好友转发访问
// network.agentCookies.put("tku",network.visitorTku); //tku 切换为访客的
//
// Map<String, Object> params = new HashMap<String, Object>();
// params.put("scId","Kj20MTMwMDM5");//文章scId
// params.put("forwardType",2);// 1:个人/微信群 2:朋友圈
// response = network.getResponse(params,"/kjy/mp/forward");
// boolean data = response.jsonPath().getBoolean("data");
// Assert.assertTrue(data,"收到好友转发访问-好友转发到朋友圈 失败");
//
// network.agentCookies.put("tku",network.agentTku); //tku 切换为代理人的
//
//// //重新获取任务名为"收到好友转发访问"的任务状态,验证任务是否生效
//// response = network.getResponse("/kjy/mp/seller/novice/list");
//// //获取任务名为"收到好友转发访问"的任务状态 code: 0未完成 1可领奖励 2已完成
//// code = response.jsonPath().getInt("data.find {it.taskName == '收到好友转发访问'}.taskStatus.code");
//// Assert.assertEquals(code,1,"收到好友转发访问-新手任务完成状态 获取失败");
//
//
//
// }
//查看访问客户
@Test (description = "新手任务_查看访问客户",priority = 9) //priorty 方法执行优先级
public void 新手任务_查看访问客户() throws IOException {
//获取列表中"查看访问客户"的任务
Response response = network.getResponse(NOVICE_LIST);
//获取任务名为"查看访问客户"的任务状态 code: 0未完成 1可领奖励 2已完成
int code = response.jsonPath().getInt("data.find {it.taskName == '查看访问客户'}.taskStatus.code");
Assert.assertEquals(code,0,network.message(NOVICE_LIST,"获取新手任务初始状态-查看访问客户 失败",response.body().asString()));
//好友转发一篇我的素材
network.agentCookies.put("tku",VISITOR_TKU); //tku 切换为访客的
Map<String, Object> params = new HashMap<String, Object>();
params.put("scId",getScId(UPLOAD_CONTENTID));//文章scId
params.put("forwardType",2);// 1:个人/微信群 2:朋友圈
response = network.getResponse(params,FORWARD);
boolean data = response.jsonPath().getBoolean("data");
Assert.assertTrue(data,network.message(params,FORWARD,"查看访问客户-好友转发到朋友圈 失败",response.body().asString()));
network.agentCookies.put("tku",AGENT_TKU); //tku 切换为代理人的
//进入谁看过我,查看访客列表
Map<String, Object> whoSawMeParams = new HashMap<String, Object>();
whoSawMeParams.put("pageIndex",1);
whoSawMeParams.put("pageSize",30);
response = network.getResponse(whoSawMeParams, WHOSAWME_CUSTCLUELISTV2);
boolean hasnext = response.jsonPath().getBoolean("data.hasNext");
int length = response.jsonPath().getInt("data.list.size()");
Assert.assertNotEquals(0,network.message(whoSawMeParams, WHOSAWME_CUSTCLUELISTV2,"获取谁看过我列表成功",response.body().asString()));
//点击查看,进入线索详情页
Map<String, Object> noviceParams = new HashMap<String, Object>();
noviceParams.put("sceneCode","noviceTask_visitorsCustomerInfoComplete");
response = network.postResponse(noviceParams,NOVICE_MONGOLIANLAYERISPLAY);
String desc = response.jsonPath().getString("desc");
//重新获取任务名为"查看访问客户"的任务状态,验证任务是否生效
response = network.getResponse(NOVICE_LIST);
//获取任务名为"查看访问客户"的任务状态 code: 0未完成 1可领奖励 2已完成
code = response.jsonPath().getInt("data.find {it.taskName == '查看访问客户'}.taskStatus.code");
Assert.assertEquals(code,1, network.message(NOVICE_LIST,"查看访问客户-新手任务完成状态 获取失败",response.body().asString()));
}
//完善名片 名片改动,此处始终会处于未完成状态,待产品优化
@Test (description = "新手任务_完善名片",priority = 9) //priorty 方法执行优先级
public void 新手任务_完善名片() throws IOException {
//获取列表中"完善名片"的任务
Response response = network.getResponse(NOVICE_LIST);
//获取任务名为"完善名片"的任务状态 code: 0未完成 1可领奖励 2已完成
int code = response.jsonPath().getInt("data.find {it.taskName == '完善名片'}.taskStatus.code");
Assert.assertEquals(code,0, network.message(NOVICE_LIST,"获取新手任务初始状态-完善名片 失败",response.body().asString()));
//完善名片
//重新获取任务名为"完善名片"的任务状态,验证任务是否生效
}
//获取ScId
public String getScId (String contentId){
Map<String, Object> params = new HashMap<String, Object>();
params.put("contentId",contentId);
Response response = network.getResponse(params, GETSCID);
String scId = response.jsonPath().getString("data");
Assert.assertNotNull(scId,network.message(params, GETSCID,"获取scId失败",response.body().asString()));
return scId;
}
@AfterClass
public static void tearDown(){
apiCount += 6;
}
}
package com.kjj.cases.live;
import com.kjj.config.BasicConfig;
import com.kjj.utils.BaseUtils;
import com.kjj.utils.NetworkUtils;
import static com.kjj.config.BasicConfig.AUTH_KEY;
/**
* 管理员授权
* @author zhanghuifeng
* date 2021/2/20-13:46
*/
public interface AdminAuthorization {
NetworkUtils network = NetworkUtils.getInstance();
default void adminAuth(){
// 创建用户 并传到network里
BasicConfig.AUTH_KEY = BaseUtils.createAuthKey();
network.agentCookies.put("authKey",AUTH_KEY);
System.out.println("用户AUTH_KEY:"+AUTH_KEY);
}
}
package com.kjj.cases.live;
import com.kjj.utils.NetworkUtils;
/**
* 管理员后台授权
* @author zhanghuifeng
* date 2021/2/20-13:46
*/
public interface MngAuthorization {
NetworkUtils network = NetworkUtils.getInstance();
default void mngAuth(){
// 创建sso用户 并传到network里
network.agentCookies.put("csrf_token","ff715857c2234f6577cbf1a57600c316");
network.agentCookies.put("sso_ticket","dcdc60f6fe4a0c5a439d15d6790400cb");
}
}
package com.kjj.cases.live;
import com.kjj.bean.AnswerBean;
import com.kjj.bean.AnswerListBean;
import com.kjj.bean.RewardPkBean;
import com.kjj.config.BasicConfig;
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;
import java.util.*;
public class SaveAndUpdate implements AdminAuthorization {
@BeforeClass
public void setUp() {
adminAuth();
}
public String liveID;
@Test(description = "创建直播", priority = 1)
public void 创建直播() {
BaseUtils.ssoLogin();
Map<String, Object> saveAndUpdateParam = new HashMap<>();
saveAndUpdateParam.put("posterUrl", "https://streamimg.kjjcrm.com/kjy/image/20210201/e36cb31828e14a3ebb9d01e6be79ad66.jpg");
saveAndUpdateParam.put("videoUrl", "http://streamimg.kjjcrm.com/kjy/image/20210201/1612171657348.mp4");
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("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("shelfStatus", "2");
saveAndUpdateParam.put("secondPoster", "https://streamimg.kjjcrm.com/kjy/image/20210201/cc999ebde48e49f99ac3f0d93480453f.jpg");
Response response = network.postResponse(saveAndUpdateParam, BasicConfig.MANAGER_SAVEANDUPDATE);
liveID = response.jsonPath().getString("data");
System.out.println(liveID);
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 添加基础配置() {
//单场红包限额
Map<String, Object> maxAmountParam = new HashMap<>();
maxAmountParam.put("liveId", liveID);
maxAmountParam.put("maxAmount", 100000);
Response maxAmountRes = network.postResponse(maxAmountParam, BasicConfig.MANAGER_SAVEORUPDATEMAXAMOUNT);
boolean data = maxAmountRes.jsonPath().getBoolean("data");
System.out.println(data);
Assert.assertTrue(data, network.message(maxAmountParam, BasicConfig.MANAGER_SAVEORUPDATEMAXAMOUNT, "单场红包限额配置失败", maxAmountRes.body().asString()));
//展示红包金额
Map<String, Object> saveOrUpdateShowAmountParam = new HashMap<>();
saveOrUpdateShowAmountParam.put("liveId", liveID);
saveOrUpdateShowAmountParam.put("showAmount", 100000);
Response saveOrUpdateShowAmountRes = network.postResponse(saveOrUpdateShowAmountParam, BasicConfig.MANAGER_SAVEORUPDATESHOWEAMOUNT);
boolean data1 = saveOrUpdateShowAmountRes.jsonPath().getBoolean("data");
System.out.println(data1);
Assert.assertTrue(data1, network.message(saveOrUpdateShowAmountParam, BasicConfig.MANAGER_SAVEORUPDATESHOWEAMOUNT, "展示红包配置失败", saveOrUpdateShowAmountRes.body().asString()));
//互动问题
Map<String, Object> saveOrUpdateParam = new HashMap<>();
saveOrUpdateParam.put("liveId", liveID);
List<Long> ids = new ArrayList<>();
ids.add(290L);
ids.add(291L);
ids.add(292L);
ids.add(293L);
ids.add(294L);
ids.add(295L);
saveOrUpdateParam.put("ids", ids);
Response saveOrUpdateRes = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE);
boolean data2 = saveOrUpdateRes.jsonPath().getBoolean("data");
System.out.println(data2);
Assert.assertTrue(data2, network.message(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE, "互动问题配置失败", saveOrUpdateRes.body().asString()));
//投票
Map<String, Object> saveOrUpdate2Param = new HashMap<>();
saveOrUpdate2Param.put("liveId", liveID);
List<Long> ids1 = new ArrayList<>();
ids1.add(227L);
ids1.add(226L);
saveOrUpdate2Param.put("ids", ids1);
Response saveOrUpdate2Res = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE2);
boolean data3 = saveOrUpdate2Res.jsonPath().getBoolean("data");
System.out.println(data3);
Assert.assertTrue(data3, network.message(saveOrUpdate2Param, BasicConfig.MANAGER_SAVEORUPDATE2, "投票配置失败", saveOrUpdate2Res.body().asString()));
//产品资料
Map<String, Object> saveOrUpdate3Param = new HashMap<>();
saveOrUpdate3Param.put("liveId", liveID);
List<Long> ids2 = new ArrayList<>();
ids2.add(355L);
ids2.add(356L);
ids2.add(357L);
ids2.add(358L);
ids2.add(359L);
saveOrUpdate3Param.put("ids", ids2);
Response saveOrUpdate3Res = network.postResponse(saveOrUpdate3Param, BasicConfig.MANAGER_SAVEORUPDATE3);
boolean data4 = saveOrUpdate3Res.jsonPath().getBoolean("data");
System.out.println(data4);
Assert.assertTrue(data4, network.message(saveOrUpdate3Param, BasicConfig.MANAGER_SAVEORUPDATE3, "产品资料配置失败", saveOrUpdate3Res.body().asString()));
//问卷
Map<String, Object> saveOrUpdate4Param = new HashMap<>();
saveOrUpdate4Param.put("id", "null");
saveOrUpdate4Param.put("liveId", liveID);
saveOrUpdate4Param.put("surveyDesc", "问卷调研");
saveOrUpdate4Param.put("surveyLink", "https://kjj.m.duibatest.com.cn/live/pages/survey/index?id=41");
Response saveOrUpdate4Res = network.postResponse(saveOrUpdate4Param, BasicConfig.MANAGER_SAVEORUPDATE4);
boolean data5 = saveOrUpdate4Res.jsonPath().getBoolean("data");
System.out.println(data5);
Assert.assertTrue(data5, network.message(saveOrUpdate4Param, BasicConfig.MANAGER_SAVEORUPDATE4, "问卷配置失败", saveOrUpdate4Res.body().asString()));
//代理人参与条件
Map<String, Object> saveAgentParticipateParam = new HashMap<>();
saveAgentParticipateParam.put("liveId", liveID);
saveAgentParticipateParam.put("inviteCount", 1);
Response saveAgentParticipateParamRes = network.postResponse(saveAgentParticipateParam, BasicConfig.MANAGER_SAVEAGENTPARTICIPATE);
boolean data6 = saveAgentParticipateParamRes.jsonPath().getBoolean("data");
System.out.println(data6);
Assert.assertTrue(data6, network.message(saveAgentParticipateParam, BasicConfig.MANAGER_SAVEAGENTPARTICIPATE, "代理人参与条件配置失败", saveAgentParticipateParamRes.body().asString()));
//指定中奖奖品
Map<String, Object> saveSpecifyAwardParam = new HashMap<>();
saveSpecifyAwardParam.put("Id", "");
saveSpecifyAwardParam.put("liveId", liveID);
saveSpecifyAwardParam.put("specifyAwardType", 1);//1:统一采购,2:自行准备
saveSpecifyAwardParam.put("totalCount", 5);
saveSpecifyAwardParam.put("unitPrice", 2990);
saveSpecifyAwardParam.put("welfareConfId", 192);
Response saveSpecifyAwardRes = network.postResponse(saveSpecifyAwardParam, BasicConfig.MANAGER_SAVESPECIFYAWARD);
boolean data7 = saveSpecifyAwardRes.jsonPath().getBoolean("data");
System.out.println(data7);
Assert.assertTrue(data7, network.message(saveSpecifyAwardParam, BasicConfig.MANAGER_SAVESPECIFYAWARD, "指定中奖配置失败", saveSpecifyAwardRes.body().asString()));
//个人PK奖励
Map<String, Object> saveOrUpdate5Param = new HashMap<>();
saveOrUpdate5Param.put("liveId", liveID);
saveOrUpdate5Param.put("rewardType", 1);//1:个人,2:团队
List<RewardPkBean> rewardPks = new ArrayList<>();// []
RewardPkBean rewardPk = new RewardPkBean();// {}
rewardPk.setPrizeName("1");// {id:1}
rewardPk.setRanking(1);// {id:1,ss:"rew"}
rewardPks.add(rewardPk);// [{id:1,ss:"rew"}]
RewardPkBean rewardPk1 = new RewardPkBean();
rewardPk1.setPrizeName("2");
rewardPk1.setRanking(2);
rewardPks.add(rewardPk1);
RewardPkBean rewardPk2 = new RewardPkBean();
rewardPk2.setPrizeName("3");
rewardPk2.setRanking(3);
rewardPks.add(rewardPk2);
saveOrUpdate5Param.put("rewardPkParamList", rewardPks);
Response saveOrUpdate5Res = network.postResponse(saveOrUpdate5Param, BasicConfig.MANAGER_SAVEORUPDATE5);
boolean data8 = saveOrUpdate5Res.jsonPath().getBoolean("data");
System.out.println(data8);
Assert.assertTrue(data8, network.message(saveOrUpdate5Param, BasicConfig.MANAGER_SAVEORUPDATE5, "个人pk奖励配置失败", saveOrUpdate5Res.body().asString()));
//团队PK奖励
Map<String, Object> saveOrUpdate6Param = new HashMap<>();
saveOrUpdate6Param.put("liveId", liveID);
saveOrUpdate6Param.put("rewardType", 2);//1:个人,2:团队
List<RewardPkBean> rewardPks3 = new ArrayList<>();
RewardPkBean rewardPk3 = new RewardPkBean();
rewardPk3.setPrizeName("10000");
rewardPk3.setRanking(1);
rewardPks.add(rewardPk3);
RewardPkBean rewardPk4 = new RewardPkBean();
rewardPk4.setPrizeName("2500");
rewardPk4.setRanking(2);
rewardPks.add(rewardPk4);
RewardPkBean rewardPk5 = new RewardPkBean();
rewardPk5.setPrizeName("1000");
rewardPk5.setRanking(3);
rewardPks.add(rewardPk5);
saveOrUpdate6Param.put("rewardPkParamList", rewardPks3);
Response saveOrUpdate6Res = network.postResponse(saveOrUpdate6Param, BasicConfig.MANAGER_SAVEORUPDATE5);
boolean data9 = saveOrUpdate6Res.jsonPath().getBoolean("data");
System.out.println(data9);
Assert.assertTrue(data9, network.message(saveOrUpdate6Param, BasicConfig.MANAGER_SAVEORUPDATE5, "团队pk奖励配置失败", saveOrUpdate6Res.body().asString()));
}
@Test(description = "获取剩余红包金额", priority = 4)
public void 获取剩余红包金额() {
Map<String, Object> getSurplusAmountParam = new HashMap<>();
getSurplusAmountParam.put("liveId", liveID);
Response getSurplusAmountRes = network.getResponse(getSurplusAmountParam, BasicConfig.MANAGER_GETSURPLUSAMOUNT);
Object data = getSurplusAmountRes.jsonPath().getJsonObject("data");
System.out.println(data);
Assert.assertNotNull(data, network.message(getSurplusAmountParam, BasicConfig.MANAGER_GETSURPLUSAMOUNT, "获取剩余红包金额失败", getSurplusAmountRes.body().asString()));
}
//添加红包配置
@Test(description = "新增红包配置", priority = 5)
public void 新增红包配置() {
Map<String, Object> saveOrUpdateRedParam = new HashMap<>();
saveOrUpdateRedParam.put("liveId", liveID);
saveOrUpdateRedParam.put("confId", "null");
saveOrUpdateRedParam.put("showAmount", 1000);
saveOrUpdateRedParam.put("totalAmount", 1000);
saveOrUpdateRedParam.put("luckNum", 0);
saveOrUpdateRedParam.put("luckHelpNum", 0);
saveOrUpdateRedParam.put("luckAmount", 0);
saveOrUpdateRedParam.put("generalNum", 33);
Response saveOrUpdateRedRes = network.postResponse(saveOrUpdateRedParam, BasicConfig.MANAGER_SAVEORUPDATERED);
Object data = saveOrUpdateRedRes.jsonPath().getJsonObject("data");
System.out.println(data);
Assert.assertNotNull(data, network.message(saveOrUpdateRedParam, BasicConfig.MANAGER_SAVEORUPDATERED, "普通红包配置失败", saveOrUpdateRedRes.body().asString()));
}
//答题红包配置
@Test(description = "新增答题红包", priority = 6)
public void 新增答题红包() {
Map<String, Object> saveOrUpdate9Param = new HashMap<>();
saveOrUpdate9Param.put("liveId", liveID);
saveOrUpdate9Param.put("confId", "null");
List<AnswerBean> Answers = new ArrayList<>();
AnswerBean Answer = new AnswerBean();
Answer.setOptionDetail("选项一");
Answer.setOptionType(1);
Answers.add(Answer);
AnswerBean Answer2 = new AnswerBean();
Answer2.setOptionDetail("选项二");
Answer2.setOptionType(2);
Answers.add(Answer2);
AnswerListBean bean = new AnswerListBean();
bean.setQuestionDetail("答题测试");
bean.setOptionList(Answers);
saveOrUpdate9Param.put("questionConf", bean);
saveOrUpdate9Param.put("totalAmount", 1000);
saveOrUpdate9Param.put("showAmount", 1000);
saveOrUpdate9Param.put("totalNum", 10);
Response saveOrUpdate9Res = network.postResponse(saveOrUpdate9Param, BasicConfig.MANAGER_SAVEORUPDATE9);
Object data = saveOrUpdate9Res.jsonPath().getJsonObject("data");
System.out.println(data);
Assert.assertNotNull(data, network.message(saveOrUpdate9Param, BasicConfig.MANAGER_SAVEORUPDATE9, "答题红包配置失败", saveOrUpdate9Res.body().asString()));
}
//直播前奖品配置
@Test(description = "直播前抽奖", priority = 7)
public void 直播前抽奖() {
Map<String, Object> addParam = new HashMap<>();
addParam.put("liveId", liveID);
addParam.put("interactNum", 1);
addParam.put("showInteractNum", 1);
addParam.put("welfareId", 191);
long startTime = DateUtils.addHours(new Date(), 4).getTime();
addParam.put("startTime", startTime);
Response addRes = network.postResponse(addParam, BasicConfig.MANAGER_ADD);
Object data = addRes.jsonPath().getJsonObject("data");
System.out.println(data);
Assert.assertNotNull(data, network.message(addParam, BasicConfig.MANAGER_ADD, "直播前抽奖配置失败", addRes.body().asString()));
}
//直播中奖品配置
@Test(description = "直播中抽奖", priority = 8)
public void 直播中抽奖() {
Map<String, Object> add1Param = new HashMap<>();
add1Param.put("liveId", liveID);
add1Param.put("interactNum", 10);
add1Param.put("showInteractNum", 10);
add1Param.put("welfareId", 191);
add1Param.put("afterMin", 10);
Response add1Res = network.postResponse(add1Param, BasicConfig.MANAGER_ADD1);
Object data = add1Res.jsonPath().getJsonObject("data");
System.out.println(data);
Assert.assertNotNull(data, network.message(add1Param, BasicConfig.MANAGER_ADD1, "直播中抽奖配置失败", add1Res.body().asString()));
}
//配置免费福利
@Test(description = "配置免费福利", priority = 9)
public void 配置免费福利() {
Map<String, Object> saveOrUpdate8Param = new HashMap<>();
saveOrUpdate8Param.put("liveId", liveID);
saveOrUpdate8Param.put("interactNum", -1);
saveOrUpdate8Param.put("welfare", 1);
saveOrUpdate8Param.put("welfareId", 190);
saveOrUpdate8Param.put("welfareName", "萌娃锦鲤");
Response saveOrUpdate8Res = network.postResponse(saveOrUpdate8Param, BasicConfig.MANAGER_SAVEORUPDATE7);
Object data = saveOrUpdate8Res.jsonPath().getJsonObject("data");
System.out.println(data);
Assert.assertNotNull(data, network.message(saveOrUpdate8Param, BasicConfig.MANAGER_SAVEORUPDATE7, "免费福利配置失败", saveOrUpdate8Res.body().asString()));
}
@AfterClass
public static void tearDown() {
BasicConfig.apiCount += 17;
}
}
......@@ -12,6 +12,9 @@ public class BasicConfig {
// 代理人的openid(固定)
public static final String OPEN_ID = "osi5w5l1lGC9T8f-sLNNurqvfS4A";
// 直播用户 authkey
public static String AUTH_KEY = null;
// 代理人 TKU
public static String AGENT_TKU = null;
......@@ -36,6 +39,42 @@ public class BasicConfig {
public static final String MANAGER_HOST = "https://kjj-mng.duibatest.com.cn";
// *************** 直播 ***************
public static final String MANAGER_SAVEANDUPDATE = MANAGER_HOST + "/kjy/manager/live/pre/conf/saveAndUpdate";
public static final String MANAGER_GETCONFDETAIL = MANAGER_HOST + "/kjy/manager/live/conf/getConfDetail";
public static final String MANAGER_SAVEORUPDATEMAXAMOUNT = MANAGER_HOST + "/kjy/manager/red/conf/saveOrUpdateMaxAmount";
public static final String MANAGER_SAVEORUPDATESHOWEAMOUNT = MANAGER_HOST + "/kjy/manager/red/conf/saveOrUpdateShowAmount";
public static final String MANAGER_SAVEORUPDATE = MANAGER_HOST + "/kjy/manager/question/conf/saveOrUpdate";
public static final String MANAGER_SAVEORUPDATE2 = MANAGER_HOST + "/kjy/manager/live/choice/pre/conf/saveOrUpdate";
public static final String MANAGER_SAVEORUPDATE3 = MANAGER_HOST + "/kjy/manager/live/resource/pre/conf/saveOrUpdate";
public static final String MANAGER_SAVEORUPDATE4 = MANAGER_HOST + "/kjy/manager/live/survey/saveOrUpdate";
public static final String MANAGER_SAVEAGENTPARTICIPATE = MANAGER_HOST + "/kjy/manager/specifyAward/pre/conf/saveAgentParticipate";
public static final String MANAGER_SAVESPECIFYAWARD = MANAGER_HOST + "/kjy/manager/specifyAward/pre/conf/saveSpecifyAward";
public static final String MANAGER_SAVEORUPDATE5 = MANAGER_HOST + "/kjy/manager/live/pk/reward/conf/saveOrUpdate";
public static final String MANAGER_GETSURPLUSAMOUNT = MANAGER_HOST + "/kjy/manager/red/conf/getSurplusAmount";
public static final String MANAGER_SAVEORUPDATERED = MANAGER_HOST + "/kjy/manager/red/conf/saveOrUpdateRed";
public static final String MANAGER_SAVEORUPDATE9 = MANAGER_HOST + "/kjy/manager/live/ques/red/pre/conf/saveOrUpdate";
public static final String MANAGER_ADD = MANAGER_HOST + "/kjy/manager/lottery/pre/conf/add";
public static final String MANAGER_ADD1 = MANAGER_HOST + "/kjy/manager/lottery/conf/add";
public static final String MANAGER_SAVEORUPDATE7 = MANAGER_HOST + "/kjy/manager/welfare/pre/conf/saveOrUpdate";
// *************** 素材ID ***************
public static final String ARTICLE_CONTENTID = "Kj21NjM4NDc";
......
......@@ -33,6 +33,7 @@ public class ExtentTestNGIReporterListener implements IReporter {
if (suites.size() == 0) {
createSuiteNode = true;
}
StringBuffer contextString = new StringBuffer();
for (ISuite suite : suites) {
Map<String, ISuiteResult> result = suite.getResults();
......@@ -51,7 +52,7 @@ public class ExtentTestNGIReporterListener implements IReporter {
}
boolean createSuiteResultNode = false;
if (result.size() > 1) {
if (result.size() >= 1) {
createSuiteResultNode = true;
}
for (ISuiteResult r : result.values()) {
......@@ -101,17 +102,15 @@ public class ExtentTestNGIReporterListener implements IReporter {
}
}
String context = String.format("通过的用例数: %s\n失败的用例数: %s\n", suitePassSize, suiteFailSize, suiteSkipSize);
try {
DingTalkUtils.sendVal(context);
} catch (Exception e) {
e.printStackTrace();
}
contextString.append(suite.getName()).append("\n")
.append(String.format("通过的用例数: %s\n失败的用例数: %s\n", suitePassSize, suiteFailSize))
.append("\n");
}
try {
DingTalkUtils.sendVal(contextString.toString());
} catch (Exception e) {
e.printStackTrace();
}
// for (String s : Reporter.getOutput()) {
// extent.setTestRunnerOutput(s);
// }
extent.flush();
}
......
......@@ -12,6 +12,11 @@ import java.util.Map;
public class BaseUtils {
private static final NetworkUtils network = NetworkUtils.getInstance();
public static String createAuthKey(){
return "LEH7epeHVDJWzhZ6DiexTHnsxraeviLJA9bNdknyzwR7cXT557KHZA1Q7zWnN9N2E3vHcFrt8S3xhGApKa3NmE7oaxyXz";
}
/**
* 登录管理后台
*/
......
......@@ -13,11 +13,10 @@ public class DingTalkUtils {
// 通过钉钉机器人发送消息到钉钉群中
public static void sendVal(String context)throws Exception{
//测试结果
context = "【测试结果】\n"
+ context
+ "总接口数:"+ apiCount + "\n"
+ "报告地址: http://10.172.58.199/view/kkk/job/kejiji_interface/HTML_20Report\n"
+ "@张慧锋 @张艳玲 @张震 @别湘灵";
context = "【接口自动化反馈结果】\n"
+ context
+ "报告地址: http://10.172.58.199/view/kkk/job/kejiji_interface/HTML_20Report\n"
+ "@张慧锋 @张艳玲 @张震 @别湘灵";
System.out.println(context);
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="直播" verbose="1" thread-count="3">
<test preserve-order="true" name="直播">
<classes>
<class name="com.kjj.cases.live.SaveAndUpdate"/>
</classes>
</test>
</suite>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="客集集" verbose="1" thread-count="3">
<!-- <test preserve-order="true" name="首页" >-->
<!-- <classes>-->
<!-- <class name="com.kjj.qa.cases.Home"/>-->
<!-- </classes>-->
<!-- </test>-->
<!-- <test preserve-order="true" name="新手任务">-->
<!-- <classes>-->
<!-- <class name="com.kjj.qa.cases.Novice"/>-->
<!-- </classes>-->
<!-- </test>-->
<test preserve-order="true" name="支付">
<classes>
<class name="com.kjj.cases.basics.Pay"/>
</classes>
</test>
<test preserve-order="true" name="名片">
<classes>
<class name="com.kjj.cases.basics.SellerCard"/>
</classes>
</test>
<test preserve-order="true" name="上传">
<classes>
<class name="com.kjj.cases.basics.Upload"/>
</classes>
</test>
<test preserve-order="true" name="文章">
<classes>
<class name="com.kjj.cases.basics.Article"/>
</classes>
</test>
<test preserve-order="true" name="发圈">
<classes>
<class name="com.kjj.cases.basics.CircleFriends"/>
</classes>
</test>
<test preserve-order="true" name="boss看板">
<classes>
<class name="com.kjj.cases.basics.Boss"/>
</classes>
</test>
<test preserve-order="true" name="boss看板演示版">
<classes>
<class name="com.kjj.cases.basics.BossTest"/>
</classes>
</test>
<test preserve-order="true" name="贺卡">
<classes>
<class name="com.kjj.cases.basics.GreetingCard"/>
</classes>
</test>
<suite-files>
<suite-file path="wechatTestNG.xml"></suite-file>
<suite-file path="liveTestNG.xml"></suite-file>
</suite-files>
<!-- 监听器-->
<listeners>
<listener class-name="com.kjj.config.ExtentTestNGIReporterListener"/>
</listeners>
</suite>
<!-- Suite -->
<!--
suite定义一个测试套件,可以设置是否使用多线程,可包含多个测试用例或者测试group
parallel = classes  每个测试用例class级别多线程
thread-count =3  线程数为5,可同时执行3个case
preserve-order = true   classes和methods按照配置中的顺序执行,false为乱序执行。(If you want the classes and methods listed in this file to be run in an unpredictible order, set the preserve-order attribute to false)
parameter 标签传递参数
-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="公众号" verbose="1" thread-count="3">
<!-- <test preserve-order="true" name="首页" >-->
<!-- <classes>-->
<!-- <class name="com.kjj.qa.cases.Home"/>-->
<!-- </classes>-->
<!-- </test>-->
<!-- <test preserve-order="true" name="新手任务">-->
<!-- <classes>-->
<!-- <class name="com.kjj.qa.cases.Novice"/>-->
<!-- </classes>-->
<!-- </test>-->
<test preserve-order="true" name="支付">
<classes>
<class name="com.kjj.cases.basics.Pay"/>
</classes>
</test>
<test preserve-order="true" name="名片">
<classes>
<class name="com.kjj.cases.basics.SellerCard"/>
</classes>
</test>
<test preserve-order="true" name="上传">
<classes>
<class name="com.kjj.cases.basics.Upload"/>
</classes>
</test>
<test preserve-order="true" name="文章">
<classes>
<class name="com.kjj.cases.basics.Article"/>
</classes>
</test>
<test preserve-order="true" name="发圈">
<classes>
<class name="com.kjj.cases.basics.CircleFriends"/>
</classes>
</test>
<test preserve-order="true" name="boss看板">
<classes>
<class name="com.kjj.cases.basics.Boss"/>
</classes>
</test>
<test preserve-order="true" name="boss看板演示版">
<classes>
<class name="com.kjj.cases.basics.BossTest"/>
</classes>
</test>
<test preserve-order="true" name="贺卡">
<classes>
<class name="com.kjj.cases.basics.GreetingCard"/>
</classes>
</test>
</suite>
<!-- Suite -->
<!--
suite定义一个测试套件,可以设置是否使用多线程,可包含多个测试用例或者测试group
parallel = classes  每个测试用例class级别多线程
thread-count =3  线程数为5,可同时执行3个case
preserve-order = true   classes和methods按照配置中的顺序执行,false为乱序执行。(If you want the classes and methods listed in this file to be run in an unpredictible order, set the preserve-order attribute to false)
parameter 标签传递参数
-->
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment