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;
}
}
This diff is collapsed.
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");
}
}
This diff is collapsed.
......@@ -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 diff is collapsed.
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