Commit 633fc37f authored by 张艳玲's avatar 张艳玲

修改钉钉推送

parent 06ba160a
...@@ -3,6 +3,14 @@ ...@@ -3,6 +3,14 @@
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<annotationProcessing> <annotationProcessing>
<profile default="true" name="Default" enabled="true" /> <profile default="true" name="Default" enabled="true" />
<profile name="Gradle Imported" enabled="true">
<outputRelativeToContentRoot value="true" />
<processorPath useClasspath="false">
<entry name="$USER_HOME$/Applications/gradle-6.6.1/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.12/48e4e5d60309ebd833bc528dcf77668eab3cd72c/lombok-1.18.12.jar" />
</processorPath>
<module name="kjj.test" />
<module name="kjj.main" />
</profile>
</annotationProcessing> </annotationProcessing>
<bytecodeTargetLevel target="1.8" /> <bytecodeTargetLevel target="1.8" />
</component> </component>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<option name="linkedExternalProjectsSettings"> <option name="linkedExternalProjectsSettings">
<GradleProjectSettings> <GradleProjectSettings>
<option name="delegatedBuild" value="true" /> <option name="delegatedBuild" value="true" />
<option name="testRunner" value="GRADLE" /> <option name="testRunner" value="PLATFORM" />
<option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="1.8" /> <option name="gradleJvm" value="1.8" />
......
...@@ -23,7 +23,10 @@ repositories { ...@@ -23,7 +23,10 @@ repositories {
} }
dependencies { dependencies {
implementation 'org.projectlombok:lombok:1.18.16' compile 'org.projectlombok:lombok:1.18.12'
annotationProcessor 'org.projectlombok:lombok:1.18.12'
testCompile 'org.projectlombok:lombok:1.18.12'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'
compile group: 'com.alibaba', name: 'fastjson', version:'1.2.58' compile group: 'com.alibaba', name: 'fastjson', version:'1.2.58'
compile(group: 'commons-lang', name: 'commons-lang', version:'2.6') { compile(group: 'commons-lang', name: 'commons-lang', version:'2.6') {
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>kjj</groupId>
<artifactId>kjj</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- maven 参数配置,这里引用不同的testng.xml -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- maven 引用依赖不同的jar -->
<dependencies>
<!--导入TestNG依赖包-->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
<scope>test</scope>
</dependency>
<!-- 导入fastjson包 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
<!-- rest-assured -->
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>4.0.0</version>
<scope>test</scope>
</dependency>
<!-- 导入commons-lang的jar包 -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 导入Mysql数据库链接jar包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<!-- 引入poi,解析workbook视图 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<!-- 依赖reportNg 关联testNg-->
<!-- <dependency>-->
<!-- <groupId>org.uncommons</groupId>-->
<!-- <artifactId>reportng</artifactId>-->
<!-- <version>1.1.4</version>-->
<!-- <scope>test</scope>-->
<!-- <exclusions>-->
<!-- <exclusion>-->
<!-- <groupId>org.testng</groupId>-->
<!-- <artifactId>testng</artifactId>-->
<!-- </exclusion>-->
<!-- </exclusions>-->
<!-- </dependency>-->
<!-- ExtentReports测试报告 关联testNg-->
<dependency>
<groupId>com.relevantcodes</groupId>
<artifactId>extentreports</artifactId>
<version>2.41.0</version>
</dependency>
<dependency>
<groupId>com.vimalselvam</groupId>
<artifactId>testng-extentsreport</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>3.0.6</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.2.2</version>
</dependency>
</dependencies>
<!-- 编译插件 -->
<build>
<defaultGoal>compile</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<encoding>utf-8</encoding>
<!--源代码的编译-->
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
<suiteXmlFiles>
<suiteXmlFile>src/test/testNG.xml</suiteXmlFile>
</suiteXmlFiles>
<properties>
<!--即使测试失败,也继续下面的测试-->
<property>
<name>usedefaultlisteners</name>
<value>false</value>
</property>
<property>
<name>listener</name>
<value>com.kjj.config.ExtentTestNGIReporterListener</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
...@@ -8,20 +8,5 @@ public class AnswerBean { ...@@ -8,20 +8,5 @@ public class AnswerBean {
private String optionDetail; private String optionDetail;
private int optionType; 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;
}
} }
...@@ -5,11 +5,8 @@ import lombok.Data; ...@@ -5,11 +5,8 @@ import lombok.Data;
@Data @Data
public class VoteBean { public class VoteBean {
private String answer; private int id;
private String name;
private String relationResource; private int resourceType;
private String relationResourceId;
} }
package com.kjj.bean;
import lombok.Data;
import java.util.List;
@Data
public class VoteListBean {
private String answer;
private int relationResourceId;
private VoteBean relationResource;
}
package com.kjj.bean;
import lombok.Data;
@Data
public class WelfareBean {
private int id;
}
package com.kjj.bean;
import lombok.Data;
import java.util.List;
@Data
public class WelfareListBean {
private int totalCount;
private List<WelfareBean> list;
}
package com.kjj.cases.live; package com.kjj.cases.live;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.kjj.bean.VoteBean; import com.kjj.bean.VoteBean;
import com.kjj.bean.VoteListBean;
import com.kjj.bean.WelfareBean;
import com.kjj.bean.WelfareListBean;
import com.kjj.config.BasicConfig; import com.kjj.config.BasicConfig;
import com.kjj.utils.BaseUtils; import com.kjj.utils.BaseUtils;
import com.kjj.utils.JsonUtil;
import groovy.json.JsonBuilder;
import io.restassured.response.Response; import io.restassured.response.Response;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test; import org.testng.annotations.Test;
import java.util.*; import java.util.*;
public class LiveMaterial implements AdminAuthorization { public class LiveMaterial implements AdminAuthorization {
@BeforeClass @BeforeClass
...@@ -27,8 +35,6 @@ public class LiveMaterial implements AdminAuthorization { ...@@ -27,8 +35,6 @@ public class LiveMaterial implements AdminAuthorization {
saveOrUpdateParam.put("welfareName", "盲盒锦鲤"); saveOrUpdateParam.put("welfareName", "盲盒锦鲤");
saveOrUpdateParam.put("welfarePictures", "https://yun.dui88.com/kjy/image/20210304/1614844198545.jpeg"); saveOrUpdateParam.put("welfarePictures", "https://yun.dui88.com/kjy/image/20210304/1614844198545.jpeg");
saveOrUpdateParam.put("welfarePicturesArr", "https://yun.dui88.com/kjy/image/20210304/1614844198545.jpeg"); saveOrUpdateParam.put("welfarePicturesArr", "https://yun.dui88.com/kjy/image/20210304/1614844198545.jpeg");
saveOrUpdateParam.put("welfareUrl", "null");
saveOrUpdateParam.put("welfareUrlDesc", "null");
saveOrUpdateParam.put("companyId", 101); saveOrUpdateParam.put("companyId", 101);
Response saveOrUpdatePes = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE6); Response saveOrUpdatePes = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE6);
...@@ -36,36 +42,233 @@ public class LiveMaterial implements AdminAuthorization { ...@@ -36,36 +42,233 @@ public class LiveMaterial implements AdminAuthorization {
System.out.println(data); System.out.println(data);
Assert.assertTrue(data, network.message(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE6, "添加奖品失败", saveOrUpdatePes.body().asString())); Assert.assertTrue(data, network.message(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE6, "添加奖品失败", saveOrUpdatePes.body().asString()));
} }
//删除奖品
@Test(description = "查询福利并删除", priority = 2)
public void 查询福利并删除() {
Map<String, Object> params = new HashMap<>();
params.put("companyId", 101);
params.put("pageIndex", 1);
params.put("pageSize", 1);
Response response = network.getResponse(params, BasicConfig.MANAGER_WELFARELIST);
WelfareListBean data1 = JsonUtil.parseResponseToBean(response, WelfareListBean.class);
if(data1.getTotalCount()>0)
{
WelfareBean bean= data1.getList().get(0);
Assert.assertNotNull(bean, network.message(params, BasicConfig.MANAGER_WELFARELIST, "查询福利失败", response.body().asString()));
//删除福利
int id= bean.getId();
Map<String, Object> delParam = new HashMap<>();
delParam.put("id",id );
Response delRes = network.postResponse(delParam, BasicConfig.MANAGER_DEL);
boolean data2 = delRes.jsonPath().getBoolean("data");
System.out.println(data2);
Assert.assertTrue(data2, network.message(delParam, BasicConfig.MANAGER_DEL, "删除福利失败", delRes.body().asString()));
}
}
//添加投票 //添加投票
@Test(description = "添加投票", priority = 2) @Test(description = "添加投票", priority = 3)
public void 添加投票() { public void 添加投票() {
Map<String, Object> saveOrUpdate1Param = new HashMap<>(); Map<String, Object> choiceParam = new HashMap<>();
saveOrUpdate1Param.put("companyId", 101); choiceParam.put("companyId", 101);
saveOrUpdate1Param.put("question", "投票测试一"); choiceParam.put("question", "投票测试一");
List<VoteListBean> votes = new ArrayList<>();
List<VoteBean> votes = new ArrayList<>(); VoteListBean vote = new VoteListBean();
VoteBean vote = new VoteBean();
vote.setAnswer("选项一"); vote.setAnswer("选项一");
vote.setRelationResource("null"); vote.setRelationResourceId(358);
vote.setRelationResourceId("null"); VoteBean vote1 = new VoteBean();
vote1.setId(358);
vote1.setName("免费领取");
vote1.setResourceType(11);
vote.setRelationResource(vote1);
votes.add(vote); votes.add(vote);
VoteListBean vote2 = new VoteListBean();
vote2.setAnswer("选项二");
votes.add(vote2);
choiceParam.put("answerList", votes);
Response choiceRes = network.postResponse(choiceParam, BasicConfig.MANAGER_CHOICE);
Boolean data3 = choiceRes.jsonPath().getBoolean("data");
System.out.println(data3);
Assert.assertTrue(data3, network.message(choiceParam, BasicConfig.MANAGER_CHOICE, "投票创建失败", choiceRes.body().asString()));
VoteBean vote1 = new VoteBean(); }
vote1.setAnswer("选项二");
vote1.setRelationResource("null"); @Test(description = "查询投票并删除", priority = 4)
vote1.setRelationResourceId("null"); public void 查询投票并删除() {
votes.add(vote1);
saveOrUpdate1Param.put("answerList", votes); Map<String, Object> choiceListPram = new HashMap<>();
Response saveOrUpdate1Res = network.postResponse(saveOrUpdate1Param, BasicConfig.MANAGER_SAVEORUPDATE5); choiceListPram.put("companyId", 101);
boolean data1 = saveOrUpdate1Res.jsonPath().getBoolean("data"); choiceListPram.put("pageIndex", 1);
System.out.println(data1); choiceListPram.put("pageSize", 1);
Assert.assertTrue(data1, network.message(saveOrUpdate1Param, BasicConfig.MANAGER_SAVEORUPDATE5, "个人pk奖励配置失败", saveOrUpdate1Res.body().asString()));
Response choiceListRes = network.getResponse(choiceListPram, BasicConfig.MANAGER_GETLIST);
WelfareListBean data1 = JsonUtil.parseResponseToBean(choiceListRes, WelfareListBean.class);
if(data1.getTotalCount()>0)
{
WelfareBean bean= data1.getList().get(0);
Assert.assertNotNull(bean, network.message(choiceListPram, BasicConfig.MANAGER_GETLIST, "查询投票失败", choiceListRes.body().asString()));
//删除投票
int id=bean.getId();
Map<String, Object> delParam = new HashMap<>();
delParam.put("id",id );
Response delRes = network.postResponse(delParam, BasicConfig.MANAGER_DELCHOICE);
boolean data4 = delRes.jsonPath().getBoolean("data");
System.out.println(data4);
Assert.assertTrue(data4, network.message(delParam, BasicConfig.MANAGER_DELCHOICE, "删除投票失败", delRes.body().asString()));
}
}
@Test(description = "问题管理", priority = 5)
public void 添加问题() {
Map<String, Object> questionParam = new HashMap<>();
questionParam.put("companyId", 101);
questionParam.put("question", "测试问题");
Response questionRes = network.postResponse(questionParam, BasicConfig.MANAGER_QUESTION);
Object data5 = questionRes.jsonPath().getJsonObject("data");
System.out.println(data5);
Assert.assertNotNull(data5, network.message(questionParam, BasicConfig.MANAGER_QUESTION, "新增问题失败", questionRes.body().asString()));
}
@Test(description = "查询问题并删除", priority = 6)
public void 查询问题并删除() {
Map<String, Object> question1Param = new HashMap<>();
question1Param.put("companyId", 101);
question1Param.put("pageIndex", 1);
question1Param.put("pageSize", 1);
Response question1Res = network.getResponse(question1Param, BasicConfig.MANAGER_LIST1);
WelfareListBean data1 = JsonUtil.parseResponseToBean(question1Res, WelfareListBean.class);
if(data1.getTotalCount()>0)
{
WelfareBean bean= data1.getList().get(0);
Assert.assertNotNull(bean, network.message(question1Param, BasicConfig.MANAGER_LIST1, "查询福利失败", question1Res.body().asString()));
//删除问题
int id=bean.getId();
Map<String, Object> delParam = new HashMap<>();
delParam.put("id",id );
Response delRes = network.postResponse(delParam, BasicConfig.MANAGER_DEL1);
boolean data6= delRes.jsonPath().getBoolean("data");
System.out.println(data6);
Assert.assertTrue(data6, network.message(delParam, BasicConfig.MANAGER_DEL1, "删除问题失败", delRes.body().asString()));
} }
}
@Test(description = "添加图文资料", priority = 7)
public void 添加图文资料() {
Map<String, Object> resourceParam = new HashMap<>();
resourceParam.put("companyId", 101);
resourceParam.put("resourceTitle", "图文资料2");
resourceParam.put("resourceButtonTitle", "我要报名");
resourceParam.put("resourceImg", "https://yun.dui88.com/kjy/image/20210306/1615023456356.jpeg");
resourceParam.put("resourcePictures", "https://yun.dui88.com/kjy/image/20210306/1615023476770.jpeg");
resourceParam.put("resourcePicturesArr", "https://yun.dui88.com/kjy/image/20210306/1615023476770.jpeg");
Response resourceRes = network.postResponse(resourceParam, BasicConfig.MANAGER_RESOURCE);
Object data7 = resourceRes.jsonPath().getJsonObject("data");
System.out.println(data7);
Assert.assertNotNull(data7, network.message(resourceParam, BasicConfig.MANAGER_RESOURCE, "新增权益失败", resourceRes.body().asString()));
}
@Test(description = "查询图文并删除", priority = 8)
public void 查询图文并删除() {
Map<String, Object> imageTextParam = new HashMap<>();
imageTextParam.put("companyId", 101);
imageTextParam.put("pageIndex", 1);
imageTextParam.put("pageSize", 1);
imageTextParam.put("resourceTypeList", 1);
Response imageTextRes = network.getResponse(imageTextParam, BasicConfig.MANAGER_RESOURCELIST);
WelfareListBean data1 = JsonUtil.parseResponseToBean(imageTextRes, WelfareListBean.class);
if(data1.getTotalCount()>0)
{
WelfareBean bean= data1.getList().get(0);
Assert.assertNotNull(bean, network.message(imageTextParam, BasicConfig.MANAGER_RESOURCELIST, "查询图文失败", imageTextRes.body().asString()));
//删除图文权益
int id=bean.getId();
Map<String, Object> delResourceParam = new HashMap<>();
delResourceParam.put("id",id );
Response elResourceRes = network.postResponse(delResourceParam, BasicConfig.MANAGER_GELRESOURCE);
boolean data8= elResourceRes.jsonPath().getBoolean("data");
System.out.println(data8);
Assert.assertTrue(data8, network.message(delResourceParam, BasicConfig.MANAGER_GELRESOURCE, "删除图文失败", elResourceRes.body().asString()));
}
}
@Test(description = "添加链接资料", priority = 9)
public void 添加链接资料() {
Map<String, Object> saveOrUpdateLinkParam = new HashMap<>();
saveOrUpdateLinkParam.put("companyId", 101);
saveOrUpdateLinkParam.put("resourceTitle", "图文资料2");
saveOrUpdateLinkParam.put("resourceButtonTitle", "我要报名");
saveOrUpdateLinkParam.put("outLink", "http://www.baidu.com");
saveOrUpdateLinkParam.put("resourceImg", "https://yun.dui88.com/kjy/image/20210306/1615026240244.jpeg");
Response saveOrUpdateLinkRes = network.postResponse(saveOrUpdateLinkParam, BasicConfig.MANAGER_SAVEORUPDATELINK);
Object data9 = saveOrUpdateLinkRes.jsonPath().getJsonObject("data");
System.out.println(data9);
Assert.assertNotNull(data9, network.message(saveOrUpdateLinkParam, BasicConfig.MANAGER_SAVEORUPDATELINK, "新增链接资料失败", saveOrUpdateLinkRes.body().asString()));
}
@Test(description = "查询链接并删除", priority = 10)
public void 查询链接并删除() {
Map<String, Object> linkParam = new HashMap<>();
linkParam.put("companyId", 101);
linkParam.put("pageIndex", 1);
linkParam.put("pageSize", 1);
linkParam.put("resourceTypeList", 9);
Response linkRes = network.getResponse(linkParam, BasicConfig.MANAGER_RESOURCELIST);
WelfareListBean data1 = JsonUtil.parseResponseToBean(linkRes, WelfareListBean.class);
if(data1.getTotalCount()>0)
{
WelfareBean bean= data1.getList().get(0);
Assert.assertNotNull(bean, network.message(linkParam, BasicConfig.MANAGER_RESOURCELIST, "查询链接失败", linkRes.body().asString()));
//删除链接权益
int id=bean.getId();
Map<String, Object> delResourceParam = new HashMap<>();
delResourceParam.put("id",id );
Response elResourceRes = network.postResponse(delResourceParam, BasicConfig.MANAGER_GELRESOURCE);
boolean data10= elResourceRes.jsonPath().getBoolean("data");
System.out.println(data10);
Assert.assertTrue(data10, network.message(delResourceParam, BasicConfig.MANAGER_GELRESOURCE, "删除链接失败", elResourceRes.body().asString()));
}
}
} }
...@@ -94,26 +94,24 @@ public class SaveAndUpdate implements AdminAuthorization { ...@@ -94,26 +94,24 @@ public class SaveAndUpdate implements AdminAuthorization {
ids.add(291L); ids.add(291L);
ids.add(292L); ids.add(292L);
ids.add(293L); ids.add(293L);
ids.add(294L);
ids.add(295L);
saveOrUpdateParam.put("ids", ids); saveOrUpdateParam.put("ids", ids);
Response saveOrUpdateRes = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE); Response saveOrUpdateRes = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE);
boolean data2 = saveOrUpdateRes.jsonPath().getBoolean("data"); boolean data2 = saveOrUpdateRes.jsonPath().getBoolean("data");
System.out.println(data2); System.out.println(data2);
Assert.assertTrue(data2, network.message(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE, "互动问题配置失败", saveOrUpdateRes.body().asString())); Assert.assertNotNull(data2, network.message(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE, "互动问题配置失败", saveOrUpdateRes.body().asString()));
//投票 //投票
Map<String, Object> saveOrUpdate2Param = new HashMap<>(); Map<String, Object> saveOrUpdate2Param = new HashMap<>();
saveOrUpdate2Param.put("liveId", liveID); saveOrUpdate2Param.put("liveId", liveID);
List<Long> ids1 = new ArrayList<>(); List<Long> ids1 = new ArrayList<>();
ids1.add(227L); ids1.add(378L);
ids1.add(226L); ids1.add(380L);
saveOrUpdate2Param.put("ids", ids1); saveOrUpdate2Param.put("ids", ids1);
Response saveOrUpdate2Res = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE2); Response saveOrUpdate2Res = network.postResponse(saveOrUpdateParam, BasicConfig.MANAGER_SAVEORUPDATE2);
boolean data3 = saveOrUpdate2Res.jsonPath().getBoolean("data"); boolean data3 = saveOrUpdate2Res.jsonPath().getBoolean("data");
System.out.println(data3); System.out.println(data3);
Assert.assertTrue(data3, network.message(saveOrUpdate2Param, BasicConfig.MANAGER_SAVEORUPDATE2, "投票配置失败", saveOrUpdate2Res.body().asString())); Assert.assertNotNull(data3, network.message(saveOrUpdate2Param, BasicConfig.MANAGER_SAVEORUPDATE2, "投票配置失败", saveOrUpdate2Res.body().asString()));
//产品资料 //产品资料
Map<String, Object> saveOrUpdate3Param = new HashMap<>(); Map<String, Object> saveOrUpdate3Param = new HashMap<>();
...@@ -266,6 +264,7 @@ public class SaveAndUpdate implements AdminAuthorization { ...@@ -266,6 +264,7 @@ public class SaveAndUpdate implements AdminAuthorization {
Answer.setOptionDetail("选项一"); Answer.setOptionDetail("选项一");
Answer.setOptionType(1); Answer.setOptionType(1);
Answers.add(Answer); Answers.add(Answer);
AnswerBean Answer2 = new AnswerBean(); AnswerBean Answer2 = new AnswerBean();
Answer2.setOptionDetail("选项二"); Answer2.setOptionDetail("选项二");
Answer2.setOptionType(2); Answer2.setOptionType(2);
......
...@@ -76,8 +76,33 @@ public class BasicConfig { ...@@ -76,8 +76,33 @@ public class BasicConfig {
//***************直播素材***************** //***************直播素材*****************
public static final String MANAGER_SAVEORUPDATE6 = "https://kjj-mng.duibatest.com.cn/kjy/manager/conf/base/welfare/saveOrUpdate"; public static final String MANAGER_SAVEORUPDATE6 = MANAGER_HOST+ "/kjy/manager/conf/base/welfare/saveOrUpdate";
public static final String MANAGER_WELFARELIST = MANAGER_HOST+ "/kjy/manager/conf/base/welfare/list";
public static final String MANAGER_DEL = MANAGER_HOST+ "/kjy/manager/conf/base/welfare/del";
public static final String MANAGER_CHOICE = MANAGER_HOST+ "/kjy/manager/conf/base/choice/saveOrUpdate";
public static final String MANAGER_GETLIST = MANAGER_HOST+ "/kjy/manager/conf/base/choice/getList";
public static final String MANAGER_DELCHOICE= MANAGER_HOST+ "/kjy/manager/conf/base/choice/delChoice";
public static final String MANAGER_LIST1= MANAGER_HOST+ "/kjy/manager/conf/base/question/list";
public static final String MANAGER_DEL1= MANAGER_HOST+ "/kjy/manager/conf/base/question/del";
public static final String MANAGER_QUESTION= MANAGER_HOST+ "/kjy/manager/conf/base/question/saveOrUpdate";
public static final String MANAGER_RESOURCE= MANAGER_HOST+ "/kjy/manager/live/resource/saveOrUpdatePic";
public static final String MANAGER_RESOURCELIST= MANAGER_HOST+ "/kjy/manager/live/resource/list";
public static final String MANAGER_GELRESOURCE= MANAGER_HOST+ "/kjy/manager/live/resource/delResource";
public static final String MANAGER_SAVEORUPDATELINK= MANAGER_HOST+ "/kjy/manager/live/resource/saveOrUpdateLink";
// public static final String MANAGER_SAVEORUPDATELINK= MANAGER_HOST+ "/kjy/manager/live/resource/list";
// *************** 素材ID *************** // *************** 素材ID ***************
......
package com.kjj.utils;
import com.alibaba.fastjson.JSON;
import com.kjj.bean.WelfareListBean;
import groovy.json.JsonBuilder;
import io.restassured.response.Response;
public class JsonUtil {
private JsonUtil() {
}
public static <T> T parseResponseToBean(Response response, Class<T> tClass){
Object data = response.jsonPath().getJsonObject("data");
String str = new JsonBuilder(data).toString();
return JSON.parseObject(str, tClass);
}
}
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="直播" verbose="1" thread-count="3"> <suite name="直播" verbose="1" thread-count="3">
<!-- <test preserve-order="true" name="创建直播">--> <test preserve-order="true" name="创建直播">
<!-- <classes>--> <classes>
<!-- <class name="com.kjj.cases.live.SaveAndUpdate"/>--> <class name="com.kjj.cases.live.SaveAndUpdate"/>
<!-- </classes>--> </classes>
<!-- </test>--> </test>
<test preserve-order="true" name="直播素材"> <test preserve-order="true" name="直播素材">
<classes> <classes>
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<ul id='nav-mobile' class='right hide-on-med-and-down nav-right'> <ul id='nav-mobile' class='right hide-on-med-and-down nav-right'>
<li> <li>
<a href='#!'> <a href='#!'>
<span class='label suite-start-time blue darken-3'>Mar 4, 2021 04:23:20 PM</span> <span class='label suite-start-time blue darken-3'>Mar 6, 2021 07:22:38 PM</span>
</a> </a>
</li> </li>
<li> <li>
...@@ -87,6 +87,7 @@ ...@@ -87,6 +87,7 @@
</a> </a>
<ul id='category-toggle' class='dropdown-content'> <ul id='category-toggle' class='dropdown-content'>
<li><a href='#'>直播</a></li> <li><a href='#'>直播</a></li>
<li><a href='#'>创建直播</a></li>
<li><a href='#'>直播素材</a></li> <li><a href='#'>直播素材</a></li>
<li class='divider'></li> <li class='divider'></li>
<li class='clear'><a href='#!' clear='true'>Clear Filters</a></li> <li class='clear'><a href='#!' clear='true'>Clear Filters</a></li>
...@@ -135,7 +136,7 @@ ...@@ -135,7 +136,7 @@
<canvas id='parent-analysis' width='100' height='80'></canvas> <canvas id='parent-analysis' width='100' height='80'></canvas>
</div> </div>
<div class='block text-small'> <div class='block text-small'>
<span class='tooltipped' data-position='top' data-tooltip='100%'><span class='strong'>1</span> test(s) passed</span> <span class='tooltipped' data-position='top' data-tooltip='100%'><span class='strong'>19</span> test(s) passed</span>
</div> </div>
<div class='block text-small'> <div class='block text-small'>
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> test(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> test(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
...@@ -150,7 +151,7 @@ ...@@ -150,7 +151,7 @@
<canvas id='child-analysis' width='100' height='80'></canvas> <canvas id='child-analysis' width='100' height='80'></canvas>
</div> </div>
<div class='block text-small'> <div class='block text-small'>
<span class='tooltipped' data-position='top' data-tooltip='100%'><span class='strong'>1</span> step(s) passed</span> <span class='tooltipped' data-position='top' data-tooltip='100%'><span class='strong'>19</span> step(s) passed</span>
</div> </div>
<div class='block text-small'> <div class='block text-small'>
<span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> step(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> step(s) failed, <span class='strong tooltipped' data-position='top' data-tooltip='0%'>0</span> others
...@@ -169,31 +170,633 @@ ...@@ -169,31 +170,633 @@
<li class='test displayed active has-leaf pass' status='pass' bdd='false' test-id='1'> <li class='test displayed active has-leaf pass' status='pass' bdd='false' test-id='1'>
<div class='test-heading'>
<span class='test-name'>直播 : 创建直播</span>
<span class='test-time'>Mar 6, 2021 07:22:38 PM</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='test-content hide'>
<div class='test-time-info'>
<span class='label start-time'>Mar 6, 2021 07:22:38 PM</span>
<span class='label end-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='label time-taken grey lighten-1 white-text'>0h 0m 6s+74ms</span>
</div>
<div class='test-desc'>Pass: 9 ; Fail: 0 ; </div>
<div class='test-attributes'>
<div class='category-list'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
</div>
<ul class='collapsible node-list' data-collapsible='accordion'>
<li class='node level-1 leaf pass' status='pass' test-id='2'>
<div class='collapsible-header'>
<div class='node-name'>创建直播</div>
<span class='node-time'>Mar 6, 2021 07:22:38 PM</span>
<span class='node-duration'>0h 0m 8s+309ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='3'>
<div class='collapsible-header'>
<div class='node-name'>查询直播配置</div>
<span class='node-time'>Mar 6, 2021 07:22:41 PM</span>
<span class='node-duration'>0h 0m 4s+942ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='4'>
<div class='collapsible-header'>
<div class='node-name'>添加基础配置</div>
<span class='node-time'>Mar 6, 2021 07:22:42 PM</span>
<span class='node-duration'>0h 0m 4s+741ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='5'>
<div class='collapsible-header'>
<div class='node-name'>获取剩余红包金额</div>
<span class='node-time'>Mar 6, 2021 07:22:43 PM</span>
<span class='node-duration'>0h 0m 3s+248ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='6'>
<div class='collapsible-header'>
<div class='node-name'>新增红包配置</div>
<span class='node-time'>Mar 6, 2021 07:22:43 PM</span>
<span class='node-duration'>0h 0m 3s+93ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='7'>
<div class='collapsible-header'>
<div class='node-name'>新增答题红包</div>
<span class='node-time'>Mar 6, 2021 07:22:43 PM</span>
<span class='node-duration'>0h 0m 2s+879ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='8'>
<div class='collapsible-header'>
<div class='node-name'>直播前抽奖</div>
<span class='node-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='node-duration'>0h 0m 2s+717ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='9'>
<div class='collapsible-header'>
<div class='node-name'>直播中抽奖</div>
<span class='node-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='node-duration'>0h 0m 2s+567ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='10'>
<div class='collapsible-header'>
<div class='node-name'>配置免费福利</div>
<span class='node-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='node-duration'>0h 0m 2s+430ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>创建直播</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
</ul>
</div>
</li>
<li class='test displayed active has-leaf pass' status='pass' bdd='false' test-id='11'>
<div class='test-heading'> <div class='test-heading'>
<span class='test-name'>直播 : 直播素材</span> <span class='test-name'>直播 : 直播素材</span>
<span class='test-time'>Mar 4, 2021 04:23:20 PM</span> <span class='test-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='test-content hide'>
<div class='test-time-info'>
<span class='label start-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='label end-time'>Mar 6, 2021 07:22:46 PM</span>
<span class='label time-taken grey lighten-1 white-text'>0h 0m 2s+156ms</span>
</div>
<div class='test-desc'>Pass: 10 ; Fail: 0 ; </div>
<div class='test-attributes'>
<div class='category-list'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
</div>
<ul class='collapsible node-list' data-collapsible='accordion'>
<li class='node level-1 leaf pass' status='pass' test-id='12'>
<div class='collapsible-header'>
<div class='node-name'>添加奖品</div>
<span class='node-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='node-duration'>0h 0m 2s+173ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='13'>
<div class='collapsible-header'>
<div class='node-name'>查询福利并删除</div>
<span class='node-time'>Mar 6, 2021 07:22:44 PM</span>
<span class='node-duration'>0h 0m 2s+37ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='14'>
<div class='collapsible-header'>
<div class='node-name'>添加投票</div>
<span class='node-time'>Mar 6, 2021 07:22:45 PM</span>
<span class='node-duration'>0h 0m 1s+735ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='15'>
<div class='collapsible-header'>
<div class='node-name'>查询投票并删除</div>
<span class='node-time'>Mar 6, 2021 07:22:45 PM</span>
<span class='node-duration'>0h 0m 1s+601ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='16'>
<div class='collapsible-header'>
<div class='node-name'>添加问题</div>
<span class='node-time'>Mar 6, 2021 07:22:45 PM</span>
<span class='node-duration'>0h 0m 1s+364ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='17'>
<div class='collapsible-header'>
<div class='node-name'>查询问题并删除</div>
<span class='node-time'>Mar 6, 2021 07:22:45 PM</span>
<span class='node-duration'>0h 0m 1s+185ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='18'>
<div class='collapsible-header'>
<div class='node-name'>添加图文资料</div>
<span class='node-time'>Mar 6, 2021 07:22:45 PM</span>
<span class='node-duration'>0h 0m 0s+891ms</span>
<span class='test-status right pass'>pass</span> <span class='test-status right pass'>pass</span>
</div> </div>
<div class='test-content hide'> <div class='collapsible-body'>
<div class='test-time-info'> <div class='category-list right'>
<span class='label start-time'>Mar 4, 2021 04:23:20 PM</span> <span class='category label white-text'>直播</span>
<span class='label end-time'>Mar 4, 2021 04:23:26 PM</span> <span class='category label white-text'>直播素材</span>
<span class='label time-taken grey lighten-1 white-text'>0h 0m 5s+955ms</span> </div>
</div> <div class='node-steps'>
<div class='test-desc'>Pass: 1 ; Fail: 0 ; </div> <table class='bordered table-results'>
<div class='test-attributes'> <thead>
<div class='category-list'> <tr>
<span class='category label white-text'>直播</span> <th>Status</th>
<span class='category label white-text'>直播素材</span> <th>Timestamp</th>
</div> <th>Details</th>
</div> </tr>
<ul class='collapsible node-list' data-collapsible='accordion'> </thead>
<tbody>
<li class='node level-1 leaf pass' status='pass' test-id='2'> <tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='19'>
<div class='collapsible-header'> <div class='collapsible-header'>
<div class='node-name'>添加奖品</div> <div class='node-name'>查询图文并删除</div>
<span class='node-time'>Mar 4, 2021 04:23:20 PM</span> <span class='node-time'>Mar 6, 2021 07:22:46 PM</span>
<span class='node-duration'>0h 0m 5s+957ms</span> <span class='node-duration'>0h 0m 0s+762ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='20'>
<div class='collapsible-header'>
<div class='node-name'>添加链接资料</div>
<span class='node-time'>Mar 6, 2021 07:22:46 PM</span>
<span class='node-duration'>0h 0m 0s+512ms</span>
<span class='test-status right pass'>pass</span>
</div>
<div class='collapsible-body'>
<div class='category-list right'>
<span class='category label white-text'>直播</span>
<span class='category label white-text'>直播素材</span>
</div>
<div class='node-steps'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Status</th>
<th>Timestamp</th>
<th>Details</th>
</tr>
</thead>
<tbody>
<tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='node level-1 leaf pass' status='pass' test-id='21'>
<div class='collapsible-header'>
<div class='node-name'>查询链接并删除</div>
<span class='node-time'>Mar 6, 2021 07:22:46 PM</span>
<span class='node-duration'>0h 0m 0s+389ms</span>
<span class='test-status right pass'>pass</span> <span class='test-status right pass'>pass</span>
</div> </div>
<div class='collapsible-body'> <div class='collapsible-body'>
...@@ -213,7 +816,7 @@ ...@@ -213,7 +816,7 @@
<tbody> <tbody>
<tr class='log' status='pass'> <tr class='log' status='pass'>
<td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td> <td class='status pass' title='pass' alt='pass'><i class='material-icons'>check_circle</i></td>
<td class='timestamp'>4:23:26 PM</td> <td class='timestamp'>7:22:46 PM</td>
<td class='step-details'>Test passed</td> <td class='step-details'>Test passed</td>
</tr> </tr>
</tbody> </tbody>
...@@ -278,12 +881,146 @@ ...@@ -278,12 +881,146 @@
<div class='category-heading'> <div class='category-heading'>
<span class='category-name'>直播</span> <span class='category-name'>直播</span>
<span class='category-status right'> <span class='category-status right'>
<span class='label pass'>2</span> <span class='label pass'>21</span>
</span>
</div>
<div class='category-content hide'>
<div class='category-status-counts'>
<span class='label green accent-4 white-text'>Passed: 21</span>
</div>
<div class='category-tests'>
<table class='bordered table-results'>
<thead>
<tr>
<th>Timestamp</th>
<th>TestName</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td>Mar 6, 2021 07:22:38 PM</td>
<td class='linked' test-id='1'>创建直播</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:38 PM</td>
<td class='linked' test-id='2'>创建直播.创建直播</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:41 PM</td>
<td class='linked' test-id='3'>创建直播.查询直播配置</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:42 PM</td>
<td class='linked' test-id='4'>创建直播.添加基础配置</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:43 PM</td>
<td class='linked' test-id='5'>创建直播.获取剩余红包金额</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:43 PM</td>
<td class='linked' test-id='6'>创建直播.新增红包配置</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:43 PM</td>
<td class='linked' test-id='7'>创建直播.新增答题红包</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='8'>创建直播.直播前抽奖</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='9'>创建直播.直播中抽奖</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='10'>创建直播.配置免费福利</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='11'>直播素材</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='12'>直播素材.添加奖品</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='13'>直播素材.查询福利并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='14'>直播素材.添加投票</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='15'>直播素材.查询投票并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='16'>直播素材.添加问题</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='17'>直播素材.查询问题并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='18'>直播素材.添加图文资料</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:46 PM</td>
<td class='linked' test-id='19'>直播素材.查询图文并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:46 PM</td>
<td class='linked' test-id='20'>直播素材.添加链接资料</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:46 PM</td>
<td class='linked' test-id='21'>直播素材.查询链接并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
</tbody>
</table>
</div>
</div>
</li>
<li class='category displayed active'>
<div class='category-heading'>
<span class='category-name'>创建直播</span>
<span class='category-status right'>
<span class='label pass'>10</span>
</span> </span>
</div> </div>
<div class='category-content hide'> <div class='category-content hide'>
<div class='category-status-counts'> <div class='category-status-counts'>
<span class='label green accent-4 white-text'>Passed: 2</span> <span class='label green accent-4 white-text'>Passed: 10</span>
</div> </div>
...@@ -299,13 +1036,53 @@ ...@@ -299,13 +1036,53 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>Mar 4, 2021 04:23:20 PM</td> <td>Mar 6, 2021 07:22:38 PM</td>
<td class='linked' test-id='1'>直播素材</td> <td class='linked' test-id='1'>创建直播</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:38 PM</td>
<td class='linked' test-id='2'>创建直播.创建直播</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:41 PM</td>
<td class='linked' test-id='3'>创建直播.查询直播配置</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:42 PM</td>
<td class='linked' test-id='4'>创建直播.添加基础配置</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:43 PM</td>
<td class='linked' test-id='5'>创建直播.获取剩余红包金额</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:43 PM</td>
<td class='linked' test-id='6'>创建直播.新增红包配置</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:43 PM</td>
<td class='linked' test-id='7'>创建直播.新增答题红包</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='8'>创建直播.直播前抽奖</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='9'>创建直播.直播中抽奖</td>
<td><span class='test-status pass'>pass</span></td> <td><span class='test-status pass'>pass</span></td>
</tr> </tr>
<tr> <tr>
<td>Mar 4, 2021 04:23:20 PM</td> <td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='2'>直播素材.添加奖品</td> <td class='linked' test-id='10'>创建直播.配置免费福利</td>
<td><span class='test-status pass'>pass</span></td> <td><span class='test-status pass'>pass</span></td>
</tr> </tr>
</tbody> </tbody>
...@@ -317,12 +1094,12 @@ ...@@ -317,12 +1094,12 @@
<div class='category-heading'> <div class='category-heading'>
<span class='category-name'>直播素材</span> <span class='category-name'>直播素材</span>
<span class='category-status right'> <span class='category-status right'>
<span class='label pass'>2</span> <span class='label pass'>11</span>
</span> </span>
</div> </div>
<div class='category-content hide'> <div class='category-content hide'>
<div class='category-status-counts'> <div class='category-status-counts'>
<span class='label green accent-4 white-text'>Passed: 2</span> <span class='label green accent-4 white-text'>Passed: 11</span>
</div> </div>
...@@ -338,13 +1115,58 @@ ...@@ -338,13 +1115,58 @@
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td>Mar 4, 2021 04:23:20 PM</td> <td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='1'>直播素材</td> <td class='linked' test-id='11'>直播素材</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='12'>直播素材.添加奖品</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:44 PM</td>
<td class='linked' test-id='13'>直播素材.查询福利并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='14'>直播素材.添加投票</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='15'>直播素材.查询投票并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='16'>直播素材.添加问题</td>
<td><span class='test-status pass'>pass</span></td> <td><span class='test-status pass'>pass</span></td>
</tr> </tr>
<tr> <tr>
<td>Mar 4, 2021 04:23:20 PM</td> <td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='2'>直播素材.添加奖品</td> <td class='linked' test-id='17'>直播素材.查询问题并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:45 PM</td>
<td class='linked' test-id='18'>直播素材.添加图文资料</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:46 PM</td>
<td class='linked' test-id='19'>直播素材.查询图文并删除</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:46 PM</td>
<td class='linked' test-id='20'>直播素材.添加链接资料</td>
<td><span class='test-status pass'>pass</span></td>
</tr>
<tr>
<td>Mar 6, 2021 07:22:46 PM</td>
<td class='linked' test-id='21'>直播素材.查询链接并删除</td>
<td><span class='test-status pass'>pass</span></td> <td><span class='test-status pass'>pass</span></td>
</tr> </tr>
</tbody> </tbody>
...@@ -373,31 +1195,31 @@ ...@@ -373,31 +1195,31 @@
<div class='col s2'> <div class='col s2'>
<div class='card-panel r'> <div class='card-panel r'>
Tests Tests
<div class='panel-lead'>1</div> <div class='panel-lead'>19</div>
</div> </div>
</div> </div>
<div class='col s2'> <div class='col s2'>
<div class='card-panel r'> <div class='card-panel r'>
Steps Steps
<div class='panel-lead'>1</div> <div class='panel-lead'>19</div>
</div> </div>
</div> </div>
<div class='col s2'> <div class='col s2'>
<div class='card-panel r'> <div class='card-panel r'>
Start Start
<div class='panel-lead'>Mar 4, 2021 04:23:20 PM</div> <div class='panel-lead'>Mar 6, 2021 07:22:38 PM</div>
</div> </div>
</div> </div>
<div class='col s2'> <div class='col s2'>
<div class='card-panel r'> <div class='card-panel r'>
End End
<div class='panel-lead'>Mar 4, 2021 04:23:26 PM</div> <div class='panel-lead'>Mar 6, 2021 07:22:44 PM</div>
</div> </div>
</div> </div>
<div class='col s2'> <div class='col s2'>
<div class='card-panel r'> <div class='card-panel r'>
Time Taken Time Taken
<div class='panel-lead'>5,955ms</div> <div class='panel-lead'>6,074ms</div>
</div> </div>
</div> </div>
<div class='col s4'> <div class='col s4'>
...@@ -413,13 +1235,19 @@ ...@@ -413,13 +1235,19 @@
</tr> </tr>
<tr> <tr>
<td>直播</td> <td>直播</td>
<td>2</td> <td>21</td>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>创建直播</td>
<td>10</td>
<td>0</td> <td>0</td>
<td>0</td> <td>0</td>
</tr> </tr>
<tr> <tr>
<td>直播素材</td> <td>直播素材</td>
<td>2</td> <td>11</td>
<td>0</td> <td>0</td>
<td>0</td> <td>0</td>
</tr> </tr>
...@@ -436,7 +1264,7 @@ ...@@ -436,7 +1264,7 @@
<script> <script>
var statusGroup = { var statusGroup = {
passParent: 1, passParent: 19,
failParent: 0, failParent: 0,
fatalParent: 0, fatalParent: 0,
errorParent: 0, errorParent: 0,
...@@ -444,7 +1272,7 @@ ...@@ -444,7 +1272,7 @@
skipParent: 0, skipParent: 0,
exceptionsParent: 0, exceptionsParent: 0,
passChild: 1, passChild: 19,
failChild: 0, failChild: 0,
fatalChild: 0, fatalChild: 0,
errorChild: 0, errorChild: 0,
......
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